Centos防火牆設定與埠開放的方法
Centos升級到7之後,內建的防火牆已經從iptables變成了firewalld。所以,埠的開啟還是要從兩種情況來說明的,即iptables和firewalld。更多關於CentOs防火牆的最新內容,請參考Redhat官網。
一、iptables
1.開啟/關閉/重啟防火牆
開啟防火牆(重啟後永久生效):chkconfig iptables on 關閉防火牆(重啟後永久生效):chkconfig iptables off 開啟防火牆(即時生效,重啟後失效):service iptables start 關閉防火牆(即時生效,重啟後失效):service iptables stop重啟防火牆:service iptables restartd
2.檢視開啟的埠
/etc/init.d/iptables status
3.開啟某個埠(以8080為例)
(1)開啟埠
iptables -A INPUT -p tcp --dport 8080-j ACCEPT
(2)儲存並重啟防火牆
/etc/rc.d/init.d/iptables save /etc/init.d/iptables restart
4.開啟49152~65534之間的埠
iptables -A INPUT -p tcp --dport 49152:65534-j ACCEPT
同樣,這裡需要對設定進行儲存,並重啟防火牆。
5.其他開啟方式
我們還可以通過修改/etc/sysconfig/iptables檔案的方式開啟埠,如下
vi /etc/sysconfig/iptables
然後在檔案中增加一行
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080-j ACCEPT
引數說明:
–A 引數就看成是新增一條規則
–p 指定是什麼協議,我們常用的tcp 協議,當然也有udp,例如53埠的DNS
–dport 就是目標埠,當資料從外部進入伺服器為目標埠
–sport 資料從伺服器出去,則為資料來源埠使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
二、firewalld
Centos7預設安裝了firewalld,如果沒有安裝的話,可以使用 yum install firewalld firewalld-config進行安裝。
1.啟動防火牆
systemctl start firewalld
2.禁用防火牆
systemctl stop firewalld
3.設定開機啟動
systemctl enable firewalld
4.停止並禁用開機啟動
sytemctl disable firewalld
5.重啟防火牆
firewall-cmd --reload
6.檢視狀態
systemctl status firewalld或者 firewall-cmd --state
7.檢視版本
firewall-cmd --version
8.檢視幫助
firewall-cmd --help
9.檢視區域資訊
firewall-cmd --get-active-zones
10.檢視指定介面所屬區域資訊
firewall-cmd --get-zone-of-interface=eth0
11.拒絕所有包
firewall-cmd --panic-on
12.取消拒絕狀態
firewall-cmd --panic-off
13.檢視是否拒絕
firewall-cmd --query-panic
14.將介面新增到區域(預設介面都在public)
firewall-cmd --zone=public --add-interface=eth0(永久生效再加上--permanent 然後reload防火牆)
15.設定預設介面區域
firewall-cmd --set-default-zone=public(立即生效,無需重啟)
16.更新防火牆規則
firewall-cmd --reload或firewall-cmd --complete-reload(兩者的區別就是第一個無需斷開連線,就是firewalld特性之一動態新增規則,第二個需要斷開連線,類似重啟服務)
17.檢視指定區域所有開啟的埠
firewall-cmd --zone=public --list-ports
18.在指定區域開啟埠(記得重啟防火牆)
firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上--permanent)
說明:
–zone 作用域
–add-port=8080/tcp 新增埠,格式為:埠/通訊協議
–permanent #永久生效,沒有此引數重啟後失效
參考文章:
http://havee.me/linux/2015-01/using-firewalls-on-centos-7.html