############# Firewalld ############
*)實驗『使不同網段之間通信』######################
準備實驗環境:
真機檢視
配置好雙網卡主機
第三台主機配置如下:
ip設定與雙網卡主機内網在同一網段,網關設為雙網卡eth1
效果如下:
*)啟用 firewalld ############################
#yum install -y firewalld firewall-config 安裝服務
#systemctl start firewalld 開啟服務
#systemctl enable firewalld 開機開啟
#systemctl disable firewalld 開機關閉
#systemctl stop firewalld 關閉服務
*)網絡區域名稱及預設設定##################################
[root@desktop ~]# firewall-config & 調用圖形
看到如下界面!可在圖形界面更改設定
[root@desktop ~]# firewall-cmd --list-all 檢視火牆
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
圖形勾選 http
[root@desktop ~]# firewall-cmd --list-all
services: dhcpv6-client http ssh <-------
*)安裝 http 服務###########################
[root@desktop ~]# yum install httpd -y
編輯 /var/www/html/index.html 檔案,使實驗效果明顯
測試 在浏覽器輸入:172.25.12.10 效果如下
編輯配置檔案 更改端口
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
[root@localhost ~]# systemctl restart httpd
測試:
在圖形界面添加端口
如下指令檢視http服務端口
*)火牆的相關指令###################################
[root@desktop ~]# firewall-cmd --state 檢視火牆狀态
[root@desktop ~]# firewall-cmd --get-active-zones 檢視活躍區域
[root@desktop ~]# firewall-cmd --get-default-zone 檢視預設區域
[root@desktop ~]# firewall-cmd --get-zones 檢視所有網絡區域
[root@desktop ~]# firewall-cmd --zone=public --list-all 檢視public區域資訊
[root@desktop ~]# firewall-cmd --get-services 列出所有服務
[root@desktop ~]# firewall-cmd --list-all-zones 列出所有
[root@desktop ~]# firewall-cmd --set-default-zone=dmz 設定預設區域為dmz
[root@desktop ~]# firewall-cmd --list-all-zones 列出所有
*)在 /etc/firewalld/zones 有關于火牆配置的一些檔案#####################
列如在public.xml中 可檢視火牆的一些相關配置,也可通過修改該檔案,改變火牆配置
在此檔案中加入443端口,重新開機火牆看到如下
一些相關指令:
[root@desktop ~]# firewall-cmd --permanent --add-port=8080/tcp 永久加入80端口
[root@desktop ~]# firewall-cmd --permanent --remove-port=8080/tcp 永久移除80端口
[root@localhost ~]# firewall-cmd --permanent --zone=internal --add-source=172.25.0.0./24 加入--源
[root@localhost ~]# firewall-cmd --permanent --zone=internal --removesource=172.25.0.0./24 移除--源
[root@desktop ~]# firewall-cmd --add-interface=eth1 --zone=public 把eth1加入public
[root@desktop ~]# firewall-cmd --permanent --remove-interface=eth1 --zone=public 把eth1從public移除
[root@desktop ~]# firewall-cmd --permanent --add-interface=eth1 --zone=trusted 把eth1加入trusted
[root@desktop zones]# firewall-cmd --change-interface=eth1 --zone=public 更改所屬區域
[root@desktop ~]# firewall-cmd --permanent --add-service=http 加入http服務
[root@desktop ~]# firewall-cmd --permanent --remove-service=http 移除服務
[root@localhost ~]# firewall-cmd --permanent --zone=internal --add-interface=eth0 加入
[root@localhost ~]# firewall-cmd --permanent --zone=internal --remove-interface=eth0 移除
[root@desktop services]# firewall-cmd --reload 重新加載
*)reload 與complete-reload ################################
實驗環境:
[root@desktop zones]# firewall-cmd --get-active-zones
public
trusted
interfaces: eth1
[root@desktop zones]# firewall-cmd --permanent --add-source=172.25.12.250 --zone=block 拒絕250連接配接
[root@desktop zones]# firewall-cmd --list-allpublic (default, active)
[kiosk@foundation12 ~]$ ssh [email protected] 如下連接配接失敗
[root@desktop zones]# firewall-cmd --permanent --remove-source=172.25.12.250 --zone=block 取消拒絕250
250連接配接上後
[root@desktop zones]# firewall-cmd --reload
success
已連接配接上的未斷開
[root@desktop zones]# firewall-cmd --complete-reload 斷開所有連接配接
隻好用以下指令斷開連接配接,恢複
*)添加政策################################################
[root@desktop ~]# firewall-cmd --direct --get-all-rules 目前沒有
[root@desktop ~]#
如下:station可連接配接
加入規則:
[root@desktop ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.12.12 -p tcp --dport 22 -j REJECT
拒絕12主機的ssh服務
效果如下:連接配接不上
特殊服務:
[root@desktop ~]# yum install vsftpd 安裝服務
[root@desktop ~]# systemctl restart vsftpd 開啟服務
[root@desktop ~]# ss -antulpe | grep vsftpd 檢視端口
tcp LISTEN 0 32 :::21 :::* users:(("vsftpd",19346,3)) ino:165904 sk:ffff88007b53a000 <->
[root@desktop ~]# firewall-cmd --add-service=ftp 寫入火牆政策
設定如下:
隻允許250連接配接lftp
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.250 -p tcp --dport 21 -j REJECT
檢視 cat /usr/lib/firewalld/services/ftp.xml
<port protocol="tcp" port="21"/>
<module name="nf_conntrack_ftp"/> 相比其他服務,多了此子產品,該子產品為跟蹤子產品,可跟蹤随機端口
[root@desktop ~]# lsmod | grep ftp 可檢視服務子產品
*)僞裝#############################################
[root@desktop ~]# firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.12.12 将desktop(10)的22端口僞裝到12主機上
[root@desktop ~]# firewall-cmd --add-masquerade 開啟僞裝
測試:當主機(250)連接配接10時,連接配接到了12上
[root@desktop ~]# firewall-cmd --remove-masquerade 關閉僞裝
本文轉自 huanzi2017 51CTO部落格,原文連結:http://blog.51cto.com/13362895/2047448