리눅스 방화벽 고급 설정

Firewalld 실험

실험 토폴로지

여기에 그림 삽입 설명

요구 사항 분석

(1) 회사 인트라넷 사용자가 인터넷 액세스를 공유 할 게이트웨이 서버를 통해 필요
(2) 인터넷 사용자가 웹 서버에 액세스해야 할
유일한 게이트웨이와 서버를 192.168.1.0/24ping 수 있습니다 (3)
(4) 서버 및 게이트웨이 서버를 원격으로 SSH를 통해를, 단지 192.168.1.10의 SSH 서버와 게이트웨이를 호스트 할 수 있도록 보안, 12345에 대한 기본 SSH 포트를 들어, 내부 서버는 인터넷 SSH 허용

우리는 4 개 개의 가상 머신을 필요로하는 실험, 우리는 게이트웨이 서버로 64 개 비트를 Centos7.
회사 내부 네트워크 테스터로 Centos7-2, Centos7-3 테스트 시스템과 웹 서버, Centos7-4 인터넷 등.
여기에 그림 삽입 설명

첫째, 장치가 준비

먼저 가상 머신 Centos7-3에 httpd 서비스를 설치하고 Centos7-4
Centos7-3

Centos7 64 비트 3 개 네트워크 카드에 작성된 1.1, NIC 1은 신뢰할 수있는 영역으로, VMnet1 결합 정적 수행 NIC 2 VMnet3. 외부 영역을 결합 VMnet2 상기 DMZ 영역 NIC 3 바인딩.

여기에 그림 삽입 설명

1.2 카드 주소를 설정

외부 네트워크 카드 (33), IP 주소 100.1.1.10 255.255.255.0의
네트워크를 신뢰하도록 설정 카드 (36), IP 주소 192.168.10.1 255.255.255.0의
비무장 지대 네트워크 설정 카드 (37), 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

: WQ
네트워크 서비스를 다시 시작보기 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, VMent3 카드를 결합, 대신 Centos7-2, 호스트 맞춤형 카드 정보를 입력

여기에 그림 삽입 설명
호스트를 입력 IP 주소, 서브넷 마스크, 게이트웨이를 수정합니다.
IP 주소는 192.168.10.1에, 192.168.10.10로 게이트웨이를 설정

[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, VMent2 카드를 결합, 대신 Centos7-3, 호스트 맞춤형 카드 정보를 입력

여기에 그림 삽입 설명
192.168.20.1 게이트웨이, 호스트 IP 주소 192.168.20.20 구성

[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 VMent1 카드를 결합, 대신 Centos7-4, 호스트 맞춤형 카드 정보를 입력

여기에 그림 삽입 설명
호스트의 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는 브라우저를 통해 사이트를 볼 수 있습니다.

여기에 그림 삽입 설명

추천

출처blog.51cto.com/14449524/2443777