centos7防火墙开放端口

在 Centos 7 或 RHEL 7 或 Fedora 中防火墙由 firewalld 来管理,而不是 iptables

一、firewalld 防火墙

语法命令如下:启用区域端口和协议组合

firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]

此举将启用端口和协议的组合。

端口可以是一个单独的端口 或者是一个端口范围 -。

协议可以是 tcp 或 udp。

查看 firewalld 状态

systemctl status firewalld

93213da4e7dcc553140a98cc05198e71.png

开启 firewalld

systemctl start firewalld

8e271fe5643ffae7f75e75730ea053a0.png

开放端口

// --permanent 永久生效,没有此参数重启后失效

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent

46dd63242655a18c646e8c504326c335.png

重新载入

firewall-cmd --reload

ae83597b6d055069f5aba3042b2876cd.png

查看

firewall-cmd --list-ports 

firewall-cmd --zone=public --query-port=80/tcp

54136f5b3441dc6e6bcf405d895e83d7.png

删除

firewall-cmd --zone=public --remove-port=80/tcp --permanent

二、iptables 防火墙

也可以还原传统的管理方式使用 iptables

systemctl stop firewalld

systemctl mask firewalld

安装 iptables-services

yum install iptables-services

设置开机启动

systemctl enable iptables

操作命令

systemctl stop iptables

systemctl start iptables

systemctl restart iptables

systemctl reload iptables

保存设置

service iptables save

开放某个端口 在 /etc/sysconfig/iptables 里添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT