目錄

CentOS7開啟Port

大多數 Linux 發行時防火牆 firewalld 是默認運作的。當然您可以選擇關閉防火牆,不過您希望您的主機連線正常,您有兩個選擇:配置 firewalld 或 iptables 或是關閉它們。 我比較喜歡打開 firewalld 並配置連線權限,因為保留 firewalld在整個網路中是另一層防禦。 這篇文章描述瞭如何在 CentOS7/RHEL7 中使用打開或啟用某些 port。

正確配置 firewalld 是一項複雜的任務,需要深入了解網路。 此處提供的示例是一種簡化。

一、centos7 啟用firewalld

centos7版本對防火牆進行加強,不再使用原來的iptables而是啟用firewalld。

1.firewalld的基本使用

				
					啟動: systemctl start firewalld
查狀態:systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
在開機時啟用一個服務:systemctl enable firewalld.service
在開機時禁用一個服務:systemctl disable firewalld.service
查看服務是否開機啟動:systemctl is-enabled firewalld.service
查看已啟動的服務列表:systemctl list-unit-files|grep enabled
查看啟動失敗的服務列表:systemctl --failed
				
			

2.配置firewalld-cmd

				
					查看版本: firewall-cmd --version
查看幫助: firewall-cmd --help
顯示狀態: firewall-cmd --state
查看所有打開的端口: firewall-cmd --zone=public --list-ports
更新防火牆規則: firewall-cmd --reload
查看區域信息: firewall-cmd --get-active-zones
查看指定接口所屬區域: firewall-cmd --get-zone-of-interface=eth0
拒絕所有包:firewall-cmd --panic-on
取消拒絕狀態: firewall-cmd --panic-off
查看是否拒絕: firewall-cmd --query-panic
				
			

3.CentOS7開啟 Port 位的指令

				
					--add #添加
firewall-cmd --zone=public(作用域) --add-port=80/tcp(Port和連線類型) --permanent(永久生效)
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload # 重新載入,更新防火牆規則
firewall-cmd --zone= public --query-port=80/tcp #查看
firewall-cmd --zone= public --remove-port=80/tcp --permanent # 刪除

firewall-cmd --list-services
firewall-cmd --get-services
firewall-cmd --add-service=<service>
firewall-cmd --delete-service=<service>
在每次修改port位和服務後/etc/firewalld/zones/public.xml文件就會被修改,所以也可以在文件中之間修改,然後重新加載
使用命令實際也是在修改文件,需要重新加載才能生效。

firewall-cmd --zone=public --query-port=80/tcp
firewall-cmd --zone=public --query-port=8080/tcp
firewall-cmd --zone=public --query-port=3306/tcp
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --query-port=3306/tcp
firewall-cmd --zone=public --query-port=8080/tcp
firewall-cmd --reload # 重新加載後才能生效
firewall-cmd --zone=public --query-port=3306/tcp
firewall-cmd --zone=public --query-port=8080/tcp
				
			

4.CentOS7開啟 Port 位參數解釋

				
					–add-service #添加的服務
–zone #作用域
–add-port=80/tcp #添加port位,格式為:port/通訊協議
–permanent #永久生效,沒有此參數重啟後失效  
				
			

5.CentOS7開啟 Port 位詳細使用

				
					firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept' //設置某個 IP 連線某個服務
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept' //刪除配置
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept' //設置某個 IP 連線某個port
firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept' //刪除配置

firewall-cmd --query-masquerade # 檢查是否允許偽裝 IP
firewall-cmd --add-masquerade # 允許防火牆偽裝 IP
firewall-cmd --remove-masquerade # 禁止防火牆偽裝IP

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 將80 port的流量轉發至8080
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1 # 將 80 port 的流量轉發至192.168.0.1
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 將 80 port 的流量轉發至192.168.0.1的 8080 port
				
			

二、CentOS7 以下版本

1.開啟80,22,8080 Port

				
					/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
				
			

2.保存

				
					/etc/rc.d/init.d/iptables save
				
			

3.查看開啟的Port

				
					/etc/init.d/iptables status
				
			

4.關閉防火牆

1) 永久性生效,重啟後不會復原

開啟: chkconfig iptables on
關閉: chkconfig iptables off


2) 即時生效,重啟後復原

開啟: service iptables start
關閉: service iptables stop

TAKI Cloud 雲端主機
TAKI Cloud 雲端主機 只要470元起
TAKI Cloud 實體主機 Dedicated Server
TAKI Cloud 實體主機 只要4,500起
TAKI Cloud 中華電信 主機代管 服務
TAKI Cloud 主機代管 只要2,000元起

By taki

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *