firewall

1.firewalld

        動態防火牆後臺程序提供了一個動態管理的防火牆,用以支持網絡“zone”,以分配對一個網絡及其相關鏈接和界面一定程度上的信任。它具備對IPV4和IPV6防火牆設置的支持。它支持以太網橋,並有分離運行時間和永久性配置選擇。它還具備一個通向服務或者應用程序以直接增加防火牆規則的接口。

        系統提供了圖像化的配置工具firewall-config、system-config-firewall,提供命令行客戶端firewall-cmd,用於配置firewalld永久性運行時間的改變:它依次用iptables工具與執行數據包篩選的內核中的Netfilter通信。

        firewalld和iptables service之間最本質的不同是:

        1)iptables service在/etc/sysconfig/iptables中存儲配置,而firewalld將配置存儲在/usr/lib/firewalld/和 /etc/firewalld/ 中的各種XML文件裏。

        2)使用iptables service每一個單獨更改意味着清楚所有舊的規則和從 /etc/sysconfig/iptables 裏讀取所有新的規則,然而使用firewalld卻不會創建任何新的規則;僅僅運行規                則中的不同之處。因此,firewalld可以在運行時間內,改變設置而不丟失現行連接。。


2.配置

firewall-cmd --state                                    ##產看firewalld的狀態



firewall-cmd --get-active-zones                ##查看當前活動的區域,並附帶一個目前分配給他們的接口列表



firewall-cmd --get-default-zone                 ##查看默認區域



firewall-cmd --get-zones                             ##查看可用區域


##

trusted(信任)                       ##可接受所有的網絡連接

home(家庭)                         ##用於家庭網絡,僅接受ssh,mdns,ipp-client,samba-client,或dhcpv6-client服務連接

internal(內部)                      ##用於內部網絡,僅接受ssh,mdns,ipp-client,samba-client,或dhcpv6-client服務連接

work(工作)                           ##用於工作區,僅接受ssh,mdns,ipp-client,dhcpv6-client服務連接

public(公共)                         ##在公共區域內使用,僅接受ssh或dhcpv6-client服務鏈接

external(外部)                      ##出去的ipv4網絡連接通過此區域僞裝和轉發,僅接受ssh服務連接

dmz(非軍事區)                     ##僅接受ssh服務連接

block(限制)                           ##拒絕所有網絡連接

drop(丟棄)                             ##任何接收的網絡數據包都被丟棄,沒有任何回覆


firewall-cmd --zone=public --list-all                  ##列出指定域的所有設置



firewall-cmd --get-services                       ##列出所有預設服務(這樣將列出/usr/lib/firewalld/services/中的服務器名稱。注意,配置文件是以服務本身命名的service-name.xml)



firewall-cmd --list-all-zones                      ##列出所有區域的設置



firewall-cmd --set-default-zone=trusted                   ##設置默認區域


測試:通過http連接配置虛擬機IP



firewall-cmd --permanent --zone=internal --add-source=172.25.254.27                     ##設置網絡地址到指定區域(permanent參數表示永久生效設置,如果沒有指定--zone參數,那麼將會加入默認區域)

firewall-cmd --reload                      ##重新加載服務,不中斷

firewall-cmd -complete--reload    ##重新加載服務,中斷服務



firewall-cmd --permanent --zone=internal --remove-source=172.25.254.27                 ##刪除指定域中的網絡地址



firewall-cmd --add-interface=eth0 --zone=trusted                 ##添加eth0端口到trusted域


測試:連接配置主機IP

eth0:172.25.254.127



##eth1:172.25.27.10




firewall-cmd --add-service=http --zone=public                     ##添加http服務至public域



firewall-cmd --list-ports                 ##查看默認域中端口

firewall-cmd --add-port=53/tcp    ##添加53/tcp端口至默認域



firewall-cmd --remove-service=ssh --zone=public              ##將ssh服務從public域中移除



3.Direct Rules

        通過firewall-cmd工具,可以使用  --direct選項在運行時間裏增加或者移除鏈。如果不熟悉iptables,使用直接接口非常危險,因爲泥坑無意間導致防火牆被入侵。直接端口模式,適用於服務或者程序,以便在運行時間內增加特定的防火牆規則。直接端口模式添加的規則優先應用。


firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.60 -p tcp --dport 22 -j ACCEPT     ##除了60主機22端口不能訪問,其他主機22端口都可訪問


測試:IP:172.25.254.60上


#IP:172.25.254.227上



firewall-cmd --direct --get-all-rules                  ##列出規則


4.Rich Rules

        通過“rich language”語法,可以用比直接接口方式更易理解的方法建立複雜防火牆規則。此外,還能永久保留設置。這種語言使用關鍵詞值,是iptables工具的抽象表示,這種語言可以用來配置分區,也仍然支持現行的配置方式。


firewall-cmd --add-masqueeade                        ##地址僞裝



1)端口轉換

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.60

##端口轉換爲172.25.254.60



測試:ssh [email protected],連接登入後實際爲172.25.254.60主機



2)僞裝

firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=172.25.254.127 masquerade'



測試:不同網段可以了連接,172.25.27.11主機可PING通172.25.254.127主機


發佈了72 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章