CentOS7 與之前版本在防火墻配置上不同,防火墻從iptables變成了firewalld
Centos7默認安裝了firewalld,如果沒有安裝的話,可以使用yum命令進行安裝
yum install firewalld firewalld-config
以下是常用的 firewalld 防火墻命令
1.啟動防火墻
systemctl start firewalld.service
2.關閉用防火墻
systemctl stop firewalld.service
3.設置開機啟動
systemctl enable firewalld.service
4.停止并禁用開機啟動
sytemctl disable firewalld.service
5.重啟防火墻
firewall-cmd--reload
6.查看已開放的端口(默認不開放任何端口)
firewall-cmd --list-ports
7.開啟80端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和訪問類型) --permanent(permanent永久生效,沒有此參數重啟后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent?
6.刪除 端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent
以下是centOS7以前版本 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--dport8080-j ACCEPT
(2)保存并重啟防火墻
/etc/rc.d/init.d/iptables save/etc/init.d/iptables restart
4.打開49152~65534之間的端口
iptables-A INPUT-p tcp--dport49152: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 80 -j ACCEPT
參數說明:
–A 參數就看成是添加一條規則
–p 指定是什么協議,我們常用的tcp 協議,當然也有udp,例如53端口的DNS
–dport 就是目標端口,當數據從外部進入服務器為目標端口
–sport 數據從服務器出去,則為數據源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收