firewalld的基本規則

firewalld的基本規則

2017年12月04日 17:10:26 hahaha_yan 閱讀數:1357ssh

1、圖形化管理火牆tcp

系統提供了圖像化的配置工具 firewall-config 、 system-config-firewall, 提供命令行客戶端 firewall-cmd, 用於配置 firewalld 永久性或非永久性運行時間的改變。工具

一、下載圖形管理命令測試

yum install firewall-configspa

二、使用命令調出圖形.net

firewall-config命令行

三、在圖形處進行選擇,另外一方進行監控firewalld的變化3d

watch -n 1 'firewall-cmd --list-all'server

圖形化的界面xml

若爲runtime模式僅選中便可,不用重啓火牆,但若選擇permanent,要重啓火牆才能使策略生效。

2、firewalld的配置存儲

/etc/firewalld

進行全部的命令,均是改變此中文件/etc/firewalld/zones中的文件的內容,也可在文件中直接改動,改完後須要進行重啓服務。

/usr/lib/firewalld中的各類xml文件中

3、firewalld的基本使用命令

啓用命令

systemctl start firewalld              ##開啓防火牆

systemctl enable firewalld          ##開機自動開啓防火牆

systemctl stop firewalld              ##關閉防火牆

systemctl disable firewalld         ##開機不自動開啓防火牆

配置火牆命令

firewall-cmd --state                     ##火牆狀態,開啓或者中止

firewall-cmd --get-active-zones   ##正在活躍的火牆域

firewall-cmd --get-default-zone     ##火牆中默認的域

firewall-cmd --get-zones              ##火牆中全部存在的域

firewall-cmd --zone=public --list-all   ##查看public域中的全部信息

firewall-cmd --get-services             ##火牆中全部能夠提供的服務

此中全部列出的服務的名字都可以進行自行改變,在/usr/lib/firewalld/service中有全部的服務列表,將其中的名字進行改變,但仍然以xml進行結尾,便可進行改變名字,但一般不這麼作。

firewall-cmd --list-all-zones        ##列出火牆中的全部域及全部信息

firewall-cmd --set-default-zone=dmz       ##將dmz域設置爲默認的域

[root@localhost zones]# firewall-cmd --add-service=http                           ##給默認域中添加服務http
[root@localhost zones]# firewall-cmd --remove-service=http                     ##刪除默認域中的服務http

測試:

[root@localhost zones]# firewall-cmd --add-port=8080/tcp                     ##給默認域中添加tcp端口8080
[root@localhost zones]# firewall-cmd --remove-port=8080/tcp               ##刪除默認域中的8080端口

測試:將httpd服務的端口改成8080,並在火牆中加入該端口


此時,火牆的默認域爲public,且沒有添加http服務

[root@localhost zones]# firewall-cmd --add-source=172.25.254.73 --zone=trusted

[root@localhost zones]# firewall-cmd --remove-source=172.25.254.73 --zone=trusted
##此ip在訪問時能夠進行火牆中的額任何服務,走的是trusted這個域

 

測試:

此時server虛擬機有兩塊網卡,能夠進行設置,將eth0走public域,eth1走bmz域

此間有一個問題,必須將兩塊網卡的ip設置爲在不一樣的網段內,通過實驗,若將兩塊網卡放在同一個網段內的話,會出現兩塊網卡都走的是默認的域,沒有實驗效果。

[root@localhost zones]# firewall-cmd --change-interface=eth1 --zone=dmz

測試:

172.25.71.1    走的是dmz域

172.25.254.173  走的是public域,我在其中加入了http服務

經過 firewall-cmd 工具 , 能夠使用 --direct 選項在運行時間裏增長或者移除鏈。

[root@localhost zones]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.73 -p tcp --dport 80 -j REJECT

表示在filter表中第一行加入 http服務(80端口)對於172.25.254.73不開放

測試:

語句成功後:

##使用--direct 語句使得172.25.254.73主機不能實現ftp服務的鏈接

[root@localhost zones]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.73 -p tcp --dport 21 -j REJECT

測試:

172.25.254.73主機:

別的主機:

地址假裝:

將172.25.71.2主機使用sshd訪問172.25.254.73主機時訪問的是173主機

思想:

一、須要一個雙網卡的主機充當路由器,此路由器必須與172.25.71.2和172.25.254.73能夠進行通訊

二、172.25.71.2主機將能夠與他進行通訊的路由器的端口設置成網關

路由器:

[root@localhost zones]# firewall-cmd --add-masquerade 
[root@localhost zones]# firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.173

測試:

相關文章
相關標籤/搜索