問題:我在centos系統上運作一台網頁或檔案伺服器,打算遠端通路伺服器。是以,我需要更改防火牆規則以允許通路系統上的某個tcp端口。那麼,有什麼好方法在centos或rhel系統的防火牆上開啟tcp/udp端口?
如果希望在伺服器上提供服務,諸如centos或rhel的企業級linux發行版包含内置的強大防火牆,它們預設的防火牆規則十分嚴格。是以,如果你安裝了任何定制的服務(比如web伺服器、nfs和samba),那麼它們的流量很有可能被防火牆規則阻塞。是以需要在防火牆上開啟必要的端口以允許流量通過。

在centos/rhel 6或更早的版本上,iptables服務允許使用者與netfilter核心子產品互動來在使用者空間中配置防火牆規則。然而,從centos/rhel 7開始,一個叫做firewalld新使用者空間接口被引入以取代iptables服務。
使用這個指令察看目前的防火牆規則:
現在,讓我們看看如何在centos/rhel上修改防火牆來開啟一個端口。
<a target="_blank"></a>
啟動centos/rhel 7後,防火牆規則設定由firewalld服務程序預設管理。一個叫做firewall-cmd的指令行用戶端支援和這個守護程序通信以永久修改防火牆規則。
使用這些指令來永久打開一個新端口(如tcp/80)。
如果不使用“--permanent”标記,把麼防火牆規則在重新開機後會失效。
在centos/rhel 6甚至更早版本系統上,iptables服務負責維護防火牆規則。
使用iptables的第一條指令可以通過防火牆開啟一個新tcp/udp端口。為了永久儲存修改過的規則,還需要第二條指令。
另一種方法是通過一個名為system-config-firewall-tui的指令行使用者接口(tui)的防火牆用戶端。
選擇位于中間的“customize”按鈕,按下enter鍵即可。
如果想要為任何已知的服務(如web伺服器)修改防火牆,隻需勾選該服務,然後關閉工具。如果想要開啟任意一個tcp/udp端口,選擇“forward”按鈕,然後進入下一個界面。
選擇“add”按鈕添加一條新規則。
指定一個端口(如80)或者端口範圍(如3000-3030)和協定(如tcp或udp)。
最後,儲存修改過的配置,關閉工具。這樣,防火牆就永久儲存了。
原文釋出時間:2014-11-17
本文來自雲栖合作夥伴“linux中國”