linux防火墙高级设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux防火墙高级设置相关的知识,希望对你有一定的参考价值。

Firewalld实验

实验拓扑图

技术图片

需求分析

(1)公司内网用户需要通过网关服务器共享上网
(2)互联网用户需要访问网站服务器
(3)只允许192.168.1.0/24ping网关和服务器
(4)网站服务器和网关服务器均通过SSH来远程管理,为了安全,将SSH默认端口改为12345,只允许192.168.1.10主机SSH网关和服务器,允许互联网SSH内部服务器

这次实验我们需要四台虚拟机,我们把Centos7 64位作为网关服务器。
Centos7-2作为企业内网测试机,Centos7-3作为网站服务器,Centos7-4作为internet测试机。
技术图片

一、设备准备

首先在虚拟机Centos7-3,和Centos7-4上安装httpd服务
技术图片

1.1、在Centos7 64位创建3块网卡,做静态,网卡1绑定VMnet1,为信任区域,网卡2绑定VMnet2,为DMZ区域,网卡3绑定VMnet3.为外部区域。

技术图片

1.2、设置网卡地址,

网卡33,设为外部网络,IP地址为100.1.1.10 255.255.255.0
网卡36,设为信任网络,IP地址为192.168.10.1 255.255.255.0
网卡37,设为DMZ区域网络,IP地址为192.168.20.1 255.255.255.0

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33

技术图片

[root@localhost network-scripts]#cp -p ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36

技术图片

[root@localhost network-scripts]#cp -p ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# vim ifcfg-ens37

技术图片
重启网络服务:查看IP地址

[root@localhost network-scripts]#service network restart
[root@localhost network-scripts]#ifconfig

技术图片
开启网关服务器的路由转发功能。

[root@localhost ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward=1
[root@localhost ~]# sysctl -p

2、进入Centos7-2,将主机网卡改为自定义,绑定VMent3网卡

技术图片
进入主机,修改IP地址,子网掩码和网关。
将IP地址设为192.168.10.10,网关设为192.168.10.1

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33

技术图片

[root@localhost ]#service network restart    //重启网络服务
[root@localhost ~]# ifconfig     //查看本机地址

技术图片

[root@localhost ~]# ping 192.168.10.1   //测试与网关服务器的连通性

技术图片

2、进入Centos7-3,将主机网卡改为自定义,绑定VMent2网卡

技术图片
配置主机IP地址为192.168.20.20,网关为192.168.20.1

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static           //将dhcp改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=f4d8cf47-c855-4d04-8c68-75ab8644df70
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.20.20       //IP地址
NETMASK=255.255.255.0     //子网掩码
GATEWAY=192.168.20.1             //网关
[root@localhost ~]# service network restart       //重启网络服务
[root@localhost ~]# ifconfig      //查看网卡IP地址

技术图片

[root@localhost ~]# ping 192.168.20.1     //测试与网关的连通性

技术图片

3、将Centos7-3的主机名修改为dmz然后配置防火墙规则

[root@localhost ~]# hostnamectl set-hostname dmz             //修改主机名
[root@localhost ~]# su                   
[root@dmz ~]# systemctl start httpd                 //启动http服务
[root@dmz ~]# cd /var/www/html                          //进入网页区域配置文件
[root@dmz html]# vim index.html     //进入输入网页显示内容                                        
[root@dmz html]# firewall-cmd --set-default-zone=dmz      //将默认区域改为dmz
success
[root@dmz html]# firewall-cmd --add-service=http --zone=dmz --permanent        //将http服务添加到dmz永久设置
success
[root@dmz html]# firewall-cmd --remove-service=ssh --zone=dmz --permanent     //禁止ssh登录
success
[root@dmz html]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent     //禁用icmp协议
success
[root@dmz html]# firewall-cmd --reload            //重新加载防火墙
success

4、进入Centos7-4,将主机网卡改为自定义,绑定VMent1网卡

技术图片
配置主机IP地址为100.1.1.20 ,网关地址为100.1.1.10

[root@extemal ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static               //将dhcp改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=0d5d6fbf-efdf-4b5b-90f9-f08be3fda756
DEVICE=ens33
ONBOOT=yes
IPADDR=100.1.1.20                       //配置IP地址
NETMASK=255.255.255.0                 //配置子网掩码
GATEWAY=100.1.1.10                      //配置网关
[root@localhost ~]# service network restart       //重启网络服务
[root@localhost ~]# ifconfig      //查看网卡IP地址

技术图片

[root@localhost ~]# hostnamectl set-hostname extemal                  //修改主机名
[root@localhost ~]# su
[root@extemal ~]# systemctl stop firewalld.service                    //关闭防火墙
[root@extemal ~]# setenforce 0                                
[root@extemal ~]# systemctl start httpd                                //开启http服务
[root@extemal ~]# vim /var/www/html/index.html                  //配置网页内容
<h1>this is extwrnal web</h1>

5、在Centos7 64位服务器上配置防火墙

[root@localhost ~]# firewall-cmd --set-default-zone=external                             //将默认区域改 为extemal
success
[root@localhost ~]# firewall-cmd --change-interface=ens36 --zone=trusted --permanent          //将ens36设为信任区域
The interface is under control of NetworkManager, setting zone to ‘trusted‘.    
success
[root@localhost ~]# firewall-cmd --change-interface=ens37 --zone=dmz --permanent          //将ens37设为dmz区域
The interface is under control of NetworkManager, setting zone to “dmz”‘.    
success
[root@localhost ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent     ////禁止ssh登录
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-service=http --permanent   //添加http服务
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-icmp-block=echo-request --permanent     阻塞icmp协议
success
[root@localhost ~]# firewall-cmd --zone=external --add-service=http --permanent            //在外部区域添加http服务
success
[root@localhost ~]# firewall-cmd --reload        //重新加载防火墙
success

6、返回Centos 7-2,测试,使用企业内网测试机查看,网站服务器和internel网站的网页

技术图片
技术图片

7、配置

[root@localhost ~]# firewall-cmd --zone=external --add-forward port=port=80:proto=tcp:toaddr=192.168.20.20 --permanent      //设置端口映射
success
[root@localhost ~]# firewall-cmd --reload 
success

8、在Centos7-4上通过浏览器查看网站服务器网页。

技术图片

以上是关于linux防火墙高级设置的主要内容,如果未能解决你的问题,请参考以下文章

windows文件夹共享给linux使用和防火墙配置

如何设置防火墙开启115200端口

Linux学习99 Linux防火墙iptables高级实战演练

Linux学习99 Linux防火墙iptables高级实战演练

linux管理员技术-01 -SElinux配置高级连接防火墙管理策略

centos7配置ip地址命令