linux 防火牆命令

啓動FirewallD服務: 安全

?
1
2
systemctl enable firewalld.service        #設置開機啓動
systemctl start firewalld.service            #開啓服務

查看防火牆狀態: 網絡

?
1
systemctl status firewalld

1. 區域管理 ssh

1.1. 網絡區域簡介 tcp

經過將網絡劃分紅不一樣的區域,制定出不一樣區域之間的訪問控制策略來控制不一樣程序區域間傳送的數據流。例如,互聯網是不可信任的區域,而內部網絡是高度信任的區域。網絡安全模型能夠在安裝,初次啓動和首次創建網絡鏈接時選擇初始化。該模型描述了主機所鏈接的整個網絡環境的可信級別,並定義了新鏈接的處理方式。有以下幾種不一樣的初始化區域: 測試

  • 阻塞區域(block):任何傳入的網絡數據包都將被阻止。 spa

  • 工做區域(work):相信網絡上的其餘計算機,不會損害你的計算機。 .net

  • 家庭區域(home):相信網絡上的其餘計算機,不會損害你的計算機。 orm

  • 公共區域(public):不相信網絡上的任何計算機,只有選擇接受傳入的網絡鏈接。 blog

  • 隔離區域(DMZ):隔離區域也稱爲非軍事區域,內外網絡之間增長的一層網絡,起到緩衝做用。對於隔離區域,只有選擇接受傳入的網絡鏈接。 接口

  • 信任區域(trusted):全部的網絡鏈接均可以接受。

  • 丟棄區域(drop):任何傳入的網絡鏈接都被拒絕。

  • 內部區域(internal):信任網絡上的其餘計算機,不會損害你的計算機。只有選擇接受傳入的網絡鏈接。

  • 外部區域(external):不相信網絡上的其餘計算機,不會損害你的計算機。只有選擇接受傳入的網絡鏈接。

注:FirewallD的默認區域是public。

1.2. 顯示支持的區域列表

?
1
firewall-cmd --get-zones

1.3. 設置爲家庭區域

?
1
firewall-cmd --set-default-zone=home

1.4. 查看當前區域

?
1
firewall-cmd --get-active-zones

1.5. 設置當前區域的接口

?
1
firewall-cmd --get-zone-of-interface=enp03s

1.6. 顯示全部公共區域(public)

?
1
firewall-cmd --zone=public --list-all

1.7. 臨時修改網絡接口(enp0s3)爲內部區域(internal)

?
1
firewall-cmd --zone=internal --change-interface=enp03s

1.8. 永久修改網絡接口enp03s爲內部區域(internal)

?
1
firewall-cmd --permanent --zone=internal --change-interface=enp03s

2. 服務管理

2.1. 顯示服務列表

Amanda, FTP, Samba和TFTP等最重要的服務已經被FirewallD提供相應的服務,可使用以下命令查看:

?
1
firewall-cmd --get-services

2.2. 容許SSH服務經過

?
1
firewall-cmd --enable service=ssh

2.3. 禁止SSH服務經過

?
1
firewall-cmd --disable service=ssh

2.4. 打開TCP的8080端口

?
1
firewall-cmd --enable ports=8080/tcp

2.5. 臨時容許Samba服務經過600秒

?
1
firewall-cmd --enable service=samba --timeout=600

2.6. 顯示當前服務

?
1
firewall-cmd --list-services

2.7. 添加HTTP服務到內部區域(internal)

?
1
2
firewall-cmd --permanent --zone=internal --add-service=http
firewall-cmd --reload     #在不改變狀態的條件下從新加載防火牆

3. 端口管理

3.1. 打開端口

?
1
2
#打開443/TCP端口
firewall-cmd --add-port=443/tcp
?
1
2
3
4
5
#永久打開3690/TCP端口
firewall-cmd --permanent --add-port=3690/tcp
#永久打開端口好像須要reload一下,臨時打開好像不用,若是用了reload臨時打開的端口就失效了
#其它服務也多是這樣的,這個沒有測試
firewall-cmd --reload
?
1
2
#查看防火牆,添加的端口也能夠看到
firewall-cmd --list-all

4. 直接模式

FirewallD包括一種直接模式,使用它能夠完成一些工做,例如打開TCP協議的9999端口

?
1
2
firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
firewall-cmd --reload

5. 關閉服務的方法

你也能夠關閉目前還不熟悉的FirewallD防火牆,而使用iptables,命令以下:

?
1
2
3
4
5
systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services
systemctl start iptables
systemctl enable iptables
相關文章
相關標籤/搜索