Linux系統的firewalld服務

一、firewalld

所謂防火牆指的是一個由軟件和硬件設備組合而成、在內部網和外部網之間、專用網與公共網之間的界面上構造的保護屏障.是一種獲取安全性方法的形象說法,它是一種計算機硬件和軟件的結合,使Internet與Intranet之間建立起一個安全網關(Security
Gateway),從而保護內部網免受非法用戶的侵入,防火牆主要由服務訪問規則、驗證工具、包過濾和應用網關4個部分組成,防火牆就是一個位於計算機和它所連接的網絡之間的軟件或硬件。該計算機流入流出的所有網絡通信和數據包均要經過此防火牆。
在網絡中,所謂“防火牆”,是指一種將內部網和公衆訪問網(如Internet)分開的方法,它實際上是一種隔離技術。防火牆是在兩個網絡通訊時執行的一種訪問控制尺度,它能允許你“同意”的人和數據進入你的網絡,同時將你“不同意”的人和數據拒之門外,最大限度地阻止網絡中的黑客來訪問你的網絡。換句話說,如果不通過防火牆,公司內部的人就無法訪問Internet,Internet上的人也無法和公司內部的人進行通信。
這裏寫圖片描述

這裏寫圖片描述

實驗環境準備

三臺主機
server 172.25.254.127
client 1272.25.254.27 172.25.254.27

1 對iptables停止使用操作
-->systemctl stop iptables.service              ##停止火牆iptables
-->systemctl disable iptables.service           ##設置開機不啓動
-->systemctl mask iptables.service              ##凍結
2 firewall開始使用
-->systemctl unmask firewalld.service           ##取消凍結
-->systemctl start firewalld.service            ##開啓firewalld
-->systemctl enable firewalld.service           ##設置開機啓動

對iptables停止使用操作
這裏寫圖片描述

firewall開始使用
這裏寫圖片描述

1相關命令

1 firewall-cmd --get-zones                  ##查看firewalld有哪些域
-->systemctl start vsftpd               
2 firewall-cmd --get-default-zone           ##查看默認的域
3 firewall-cmd --set-default-zone=trusted   ##設置默認域爲trusted
-->firewall-cmd --get-default-zone          ##查看修改後的默認域

查看默認域,更改默認域爲trusted
這裏寫圖片描述

2修改端口

4 vim /etc/vsftpd/vsftpd.conf           ##編輯配置文件,修改ftp的端口
-->systemctl restart vsftpd.service     ##重啓ftp服務
-->systemctl start httpd                ##開啓apache
5 firewall-cmd --set-default-zone=block ##設置默認域爲block
-->firewall-cmd --get-default-zone      ##查看默認域

開啓httpd,將默認域設置爲block,使任何服務無法通過火牆
這裏寫圖片描述

開啓前,apche可以用
這裏寫圖片描述

ftp也可以用
這裏寫圖片描述

設置之後http不可用
這裏寫圖片描述

ftp也不可用
這裏寫圖片描述

3相關策略的修改

1 firewall-cmd --add-service=http   
                             ##臨時更改,在firewall策略裏增加http服務
  firewall-cmd --list-all               ##列出當前所有的策略
  firewall-cmd --reload                 ##重新加載
2 cd /usr/lib/firewalld/services/       ##查看服務文件的相關配置
  vim http.xml                      
  vim ftp.xml 
  vim /etc/firewalld/zones/public.xml

臨時增加http服務,重新加載之後,該服務失效
這裏寫圖片描述

永久更改,當前不生效,重新加載之後生效
這裏寫圖片描述

也可以通過修改配置文件改變火牆策略

在firewalld服務的目錄下有以下文件
這裏寫圖片描述

http.xml的80端口
這裏寫圖片描述

ftp.xml的21端口
這裏寫圖片描述

公共網絡的總配置文件,可以往裏面增加服務,如圖
這裏寫圖片描述

4端口控制

3 lsmod | grep nf                          ##過濾當前的開啓的端口                       
-->modprobe -r nf_conntrack_ftp            ##刷新ftp的端口
4 firewall-cmd --permanent --add-port=8080/tcp        
                                           ##永久增加8080端口tcp服務
  firewall-cmd --permanent --remove-port=8080/tcp     
                                           ##永久移除8080端口tcp服務

編輯http的配置文件
這裏寫圖片描述

將默認端口改爲6666
這裏寫圖片描述

過濾當前nf,刪除ipv4
這裏寫圖片描述

重新加載,刪除之後的ipv4又出現了,該命令臨時生效
這裏寫圖片描述

將http改爲8080端口
這裏寫圖片描述

並將該端口寫入火牆策略
這裏寫圖片描述

訪問測試成功
這裏寫圖片描述

刪除8080端口並重新加載
這裏寫圖片描述

無法訪問
這裏寫圖片描述
這裏寫圖片描述

這裏寫圖片描述

5ip控制

5  firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.27 -p tcp --dport 22 -j ACCEPT                                                  ##除了27主機,其他主機訪問22端口都接受
-->firewall-cmd --reload        ##重新加載
6 firewall-cmd --direct  --get-all-rules    ##查看當前策略的所有規則
7 firewall-cmd --permanent --direct --remove-rule ipv4 filter INPUT 1 -s 172.25.254.0/24 -p tcp --dport 22 -j REJECT                                                ##254網段的訪問22端口都拒絕

使254ip段的都可以訪問
這裏寫圖片描述

測試連接成功
這裏寫圖片描述

移除ssh服務
這裏寫圖片描述

測試連接不了
這裏寫圖片描述

拒絕254ip段的訪問8080端口
這裏寫圖片描述
測試成功
這裏寫圖片描述

6地址僞裝

6.1數據來源僞裝

1 firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=172.25.254.27 forward-port port=22 protocol=tcp to-port=22 to-addr=172.25.27.227"
##27主機連接127主機,地址僞裝成27.227的主機,進來127的數據來源都僞裝成227

將策略寫入火牆服務
這裏寫圖片描述

測試成功
227主機連接27主機,27主機顯示是127主機登陸的
這裏寫圖片描述

6.2目的地僞裝

2 firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=172.25.254.127 masquerade"
##27ip段的數據來源進來經過雙網卡主機127,出去都僞裝成127的ip

將策略寫入火牆服務
這裏寫圖片描述

27主機連接127主機,連接成功顯示的是227主機的ip
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章