firewalld基本使用

firewalld


1.基本信息

(1)Firewalld:
動態防火牆後臺程序 firewalld 提供了一個 動態管理的防火牆,用以支持網絡 “ zones” ,以分配對一個網絡及其相關鏈接和界面一定程度的信任。

(2)firewalld與iptables 的區別:
• iptables service 在 /etc/sysconfig/iptables 中儲存配置,而 firewalld將配置儲存在/usr/lib/firewalld/和 /etc/firewalld/ 中的各種XML文件裏.
• 使用 iptables service每一個單獨更改意味着清除所有舊有的規則和從/etc/sysconfig/iptables裏讀取所有新的規則,然而使用 firewalld卻不會再創建任何新的規則;僅僅運行規則中的不同之處。因此,firewalld可以在運行時間內,改變設置而不丟失現
行連接。

(3)用戶對網絡中設備的信任程度
網絡區名稱 默認配置
trusted( 信任 ) 可接受所有的網絡連接
home( 家庭 ) 用於家庭網絡,僅接受ssh、mdns、ipp-client、samba-client、或dhcpv6-client服務連接
internal( 內部 ) 用於內部網絡,僅接受ssh、mdns、ipp-client、samba-client、dhcpv6-client服務連接
work( 工作 ) 用於工作區,僅接受ssh、ipp-client或dhcpv6-client服務連接
public( 公共 ) 在公共區域內使用,僅接受ssh或dhcpv6-client服務連接,爲firewalld的默認區域
external( 外部 ) 出去的ipv4網絡連接通過此區域僞裝和轉發,僅接受ssh服務連接
dmz( 非軍事區 ) 僅接受ssh服務接連
block( 限制 ) 拒絕所有網絡連接
drop( 丟棄 ) 任何接收的網絡數據包都被丟棄,沒有任何回覆

2.管理firewalld

(1)配置服務

yum install -y firewalld firewall-config                    ##安裝防火牆軟件
systemctl start firewalld ; systemctl enable firewalld      ##啓動防火牆
systemctl disable firewalld ; systemctl stop firewalld      ##禁用防火牆

(2)使用命令行接口配置firewalld

firewall-cmd --state                                      ##查看firewalld的狀態
firewall-cmd --get-active-zones                           ##查看當前活動的區域,並附帶一個目前分配給它們的接口列表
firewall-cmd --get-default-zone                           ##查看默認區域
firewall-cmd --get-zones                                  ##查看所有可用區域
firewall-cmd --zone=public --list-all                     ##列出指定域的所有設置
firewall-cmd --get-services                               ##列出所有預設服務
(這樣將列出 /usr/lib/firewalld/services/ 中的服務器名稱。PS:配置文件是以服務本身命名的service-name. xml)

firewall-cmd --list-all-zones                             ##列出所有區域的設置
firewall-cmd --set-default-zone=dmz                      ##設置默認區域
firewall-cmd --permanent --zone=internal --add-source=172.25.78.0/24 ##設置網絡地址到指定的區域
(--permanent參數表示永久生效設置,如果沒有指定--zone參數,那麼會加入默認區域)

firewall-cmd --permanent --zone=internal --remove-source=172.25.78.0/24 ##刪除指定區域中的網路地址
@@添加、改變、刪除網絡接口
firewall-cmd --permanent --zone=internal --add-interface=eth0
firewall-cmd --permanent --zone=internal --change-interface=eth0
firewall-cmd --permanent --zone=internal --remove-interface=eth0
@@添加、刪除服務:
firewall-cmd --permanent --zone=public --add-service=smtp
firewall-cmd --permanent --zone=public --remove-service=smtp

@@列出、添加、刪除端口:
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --permanent --zone=public --remove-port=8080/tcp

firewall-cmd --reload                                       ##重載防火牆
(注意:這並不會中斷已經建立的連接,如果打算中斷,可以使用 --complete-reload選項)

firewalld的規則被保存在/etc/firewalld目錄下的文件中,你也可以直接編輯這些文件達到配置防火牆的目的。/usr/lib/firewalld目錄下的內容是不可以被編輯的,但可以用做默認模板

(3)僞裝和端口轉發
server 有兩個ip處在不同網段
172.25.78.11   172.25.254.179
firewall-cmd --add-forward-port=80:proto=tcp:toport=22:toaddr=172.25.78.11
firewall-cmd --add-masquerade                      ##在進行僞裝和轉發時 要先將masquerade打開
firewall-cmd --list-all
yum remove httpd
firewall-cmd --add-port=80/tcp

firewall-cmd --permanent --zone=public--remove-forward-port=port=80:proto=tcp:toport=22:toaddr=172.25.78.11
firewall-cmd --reload
firewall-cmd --permanent --add-masquerade

desktop 172.25.78.10
yum install httpd -y
systemctl start httpd
vim  /var/www/html/index.html
 172.25.78.10
firewall-cmd --add-port=80/tcp

kiosk:
ssh  [email protected]  -p 80 最後會連接到desktop

firefox:
172.25.254.179:80
172.25.78.10

 

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