firewalld管理方式

因爲剛練習完iptables的內容,所以此處需要先打開firewalld

1 firewalld的開啓

systemctl stop iptables 
systemctl disable iptables
systemctl mask iptables 
systemctl unmask firewalld
systemctl enable --now firewalld

在這裏插入圖片描述

2.關於firewalld的域

trusted 接受所有的網絡連接
home 用於家庭網絡,允許接受ssh mdns ipp-client samba-client dhcp-client
work 工作網絡 ssh ipp-client dhcp-client
public 公共網絡 ssh dhcp-client
dmz 軍級網絡 ssh
block 拒絕所有
drop 丟棄 ,所有數據全部丟棄無任何回覆
internal 內部網絡 ssh mdns ipp-client samba-client dhcp-client
external ipv4網絡地址僞裝轉發 sshd

練習:修改域
在這裏插入圖片描述

3.關於firewalld的設定原理及數據存儲

  • 火牆配置目錄: /etc/firewalld
  • 火牆模塊目錄: /lib/firewalld

練習:在火牆服務中添加http(更推薦之前學過的用一條命令直接添加的方法

  • 初始狀態(服務中不包含http)
    在這裏插入圖片描述
  • 切換目錄,並查看public.xml文件
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 新增一行,添加http服務
    在這裏插入圖片描述
  • 重啓後進行查看,此時添加成功了
    在這裏插入圖片描述
    練習2:切換到trusted域後再次添加
  • 初始狀態
    在這裏插入圖片描述
  • 使用命令直接添加
    在這裏插入圖片描述
  • 切換域後,會出現trusted.文件
    說明其存儲方式都是模塊化的存儲方式,當我們使用命令時,系統自動生成了可擴展標記語言裏面的文件。
    在這裏插入圖片描述
    在這裏插入圖片描述
    練習3:將http改爲lyq
    我們所使用的、別人預先放置的xml腳本就在/lib/firewalld中
  • firewall-cmd --get-services
    在這裏插入圖片描述
  • 切換目錄
    在這裏插入圖片描述
  • 複製
    在這裏插入圖片描述
  • 修改端口爲8080
    在這裏插入圖片描述
  • 重啓服務後進行添加驗證
    在這裏插入圖片描述

4.firewalld的管理命令

firewall-cmd(後面的- -之間應該是沒有空格的,是因爲CSDN中的顯示問題。練習的時候--

firewall-cmd --state	查看火牆狀態
firewall-cmd --get-active-zones 		查看當前火牆中生效的域
firewall-cmd --get-default-zone 		查看默認域
firewall-cmd --list-all 				查看默認域中的火牆策略 
firewall-cmd --list-all --zone=work		查看指定域的火牆策略
firewall-cmd --set-default-zone=trusted	設定默認域

firewall-cmd --get-services				查看所有可以設定的服務
firewall-cmd --permanent --remove-service=cockpit	移除服務
firewall-cmd --reload

firewall-cmd --permanent --add-source=172.25.254.17 --zone=block指定數據來源訪問指定域
firewall-cmd --reload
firewall-cmd --permanent --remove-source=172.25.254.17 --zone=block  刪除自指定域中的數據來源

firewall-cmd --permanent --remove-interface=enp1s0 --zone=public 刪除指定域的網絡接口
firewall-cmd --permanent --add-interface=enp1s0 --zone=block  添加指定域的網絡接口
firewall-cmd --permanent --change-interface=enp1s0 --zone=public 更改網絡接口到指定域

firewall-cmd

練習1:常見的信息查看
在這裏插入圖片描述
練習2:移除服務
使用--permanent表示永久生效,因爲直接修改的是/etc/firewall/zones/public.xml中的文件。如果不使用,在reload之後又會恢復到原來的狀態
在這裏插入圖片描述

練習3:指定數據來源訪問指定域

  • 初始狀態下真機能夠連接workstation
    在這裏插入圖片描述
  • 在workstation中設置172.25.254.17(真機ip)爲黑名單
    在這裏插入圖片描述
  • 使用172.25.254.17(真機ip)連接workstation
    在這裏插入圖片描述
  • 刪除該數據來源
    在這裏插入圖片描述
  • 再次嘗試ssh,連接成功
    在這裏插入圖片描述
    練習4:對指定域的網絡接口實現刪除、增加與修改(使用rhel8雙網卡主機完成)
  • firewall-cmd --remove-interface=enp6s0 --zone=public刪除
    在這裏插入圖片描述
  • firewall-cmd --add-interface=enp6s0 --zone=block將enp6s0添加到block中
    在這裏插入圖片描述
  • firewall-cmd --change-interface=enp6s0 --zone=public修改
    在這裏插入圖片描述

5.firewall中的高級規則

firewall-cmd --direct --get-all-rules   #查看高級規則
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.17 -p tcp --dport 22 -j ACCEPT  #添加
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.33 -j REJECT		#刪除

練習1:設定只允許某服務訪問

真機:172.25.254.17
rhel8:172.25.254.33
workstation:172.25.254.22
  • 初始狀態(真機和rhel8都可連接workstation)
    在這裏插入圖片描述
  • 設置workstation中拒絕rhel8(33)的ssh接入
    在這裏插入圖片描述
  • 此時結果表明rhel8無法ssh連接,真機斷開連接重新連後,還是能正常連接
    在這裏插入圖片描述
  • firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.33 -j REJECT刪除
    在這裏插入圖片描述
    刪除後可以rhel8就可正常連接了
    在這裏插入圖片描述

6.firewall中的NAT

SNAT
	firewall-cmd --permanent --add-masquerade  #在雙網卡主機中打開,workstation就可訪問外網。操作結果與iptables中練習的一致
	firewall-cmd --reload

DNAT
	firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.17  #在workstation(22)中進行設置,使用rhel8(33)連接,最終連接位置是真機(17)
	firewall-cmd --reload
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章