CentOS 7防火牆設置開放80端口


在CentOS 6.x版本中,默認使用的是iptables防火牆。到了CentOS 7.x版本,默認防火牆變成了firewalld。本篇通過使用firewalld開啟、關閉 HTTP(80)端口,來講述firewalld的基本使用方法。

firewalld 的一切設置均使用 firewall-cmd 命令完成。

配置前先確保防火牆是運行着的:

[root@bogon ~]# firewall-cmd --state
running

輸出running就說明運行着,否則需要開啟:

[root@bogon ~]# service firewalld start
Redirecting to /bin/systemctl start  firewalld.service

服務器上可能會有多張網卡,每張網卡可能有多個網口。firewalld 最細可以控制每個網口的進出流量。所以配置前需要知道要控制的網口的名字,用ifconfig命令獲取:

[root@bogon ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.128  netmask 255.255.255.0  broadcast 192.168.28.255
        inet6 fe80::20c:29ff:fef4:6dd1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:6d:d1  txqueuelen 1000  (Ethernet)
        RX packets 13558  bytes 16041550 (15.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4380  bytes 315435 (308.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 72  bytes 6140 (5.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 6140 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@bogon ~]# 

一般買來的雲服務器,只有一張網卡一個網口,這種情況下ifconfig會列出兩個網口,比如這里是eno16777736和lo。lo是本地回路,是用於調試的,不是真正的網口。剩下的eno16777736就是真實網口的名字。
如果發現機器上除了lo網口,還是有多個網口,說明服務器上有多張網卡或多個網口。這時候要自己判斷開操作哪個網口。
知道了要操作哪個網口。還需要了解下下firewalld中zone的概念:
firewalld將服務器網絡環境划分為幾個zone。就如同美國划分了很多個州,各個州都有各自的法律,一個生活在美國的人必須處在某一個洲(比如Ohio洲),行為受到該洲的限制,如果把此人從Ohio洲移動到Texas洲,那么他收到的法律限制就會發生變化。
同樣的道理,一個網口必須處在某一個zone之內,zone有一套流量進出的規則,網口的進出流量就得遵循這套規則。如果把網口從一個zone移動到另一個zone后,該網口的流量進出規則就會改變。
根據這樣的解釋可以知道,防火牆的流量規則都是配置在zone上的,而不是直接配置在網口上的。所以先給public這個zone添加規則:允許80端口的流量通過:

 

[root@bogon ~]# firewall-cmd --zone=public --add-port=80/tcp
success
[root@bogon ~]# 

  返回success即代表成功。然后把網口eno16777736添加到public這個zone里面:

[root@bogon ~]# firewall-cmd --zone=public --add-interface=eno16777736
Warning: ZONE_ALREADY_SET
[root@bogon ~]# 

因為我這里用的虛擬機只有一個網卡,所以顯示的是已經添加。

最后用瀏覽器訪問服務器,可以發現就能正常訪問HTML內容了。80端口成功開啟!


免責聲明!

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



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