firewall-cmd 開啟后內部不能訪問


周一早上開啟了防火牆,之后就一直服務不能啟動,之后一直查找,當我關掉防火牆之后,服務重新啟動,明白了,原因d是防火牆d原因。

於是查找,對於內部不能夠訪問的原因,終於找到了這個:

 

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

 

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

之后就能訪問。

 

 

//--------------------------------------------------------------------------

以下 轉自: http://my.oschina.net/fhd/blog/413945 

啟動FirewallD服務:


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

查看防火牆狀態:

?
1
systemctl status firewalld

1. 區域管理

1.1. 網絡區域簡介

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

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

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

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

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

  • 隔離區域(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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM