CentOS 7 开放防火墙端口命令
简单方法:
打开文件/etc/firewalld/zones/public.xml
最近公司新的server要求用CentOS7, 发现以前CentOS 6 系列中的 iptables 相关命令不能用了,查了下,发现Centos 7使用firewalld代替了原来的iptables。
使用方法如下:
关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
查看端口是否生效:
firewall-cmd --list-all
关闭端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
命令含义:
-zone
:作用域-add-port=80/tcp
:添加端口,格式为:端口/通讯协议-permanent
:永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload
systemctl restart firewalld.service #重启firewall
常用命令介绍:
firewall-cmd --state
:查看防火墙状态,是否是runningfirewall-cmd --reload
:重新载入配置,比如添加规则之后,需要执行此命令firewall-cmd --get-zones
:列出支持的zonefirewall-cmd --get-services
:列出支持的服务,在列表中的服务是放行的firewall-cmd --query-service ftp
:查看ftp服务是否支持,返回yes或者nofirewall-cmd --add-service=ftp
:临时开放ftp服务firewall-cmd --add-service=ftp --permanent
:永久开放ftp服务firewall-cmd --remove-service=ftp --permanent
:永久移除ftp服务firewall-cmd --add-port=80/tcp --permanent
:永久添加80端口iptables -L -n
:查看规则,这个命令是和iptables的相同的man firewall-cmd
:查看帮助
更多命令,请使用firewall-cmd --help
查看帮助文件。
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
- 直接关闭防火墙:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
- 设置iptables service:
yum -y install iptables-services
- 如果要修改防火墙配置,如增加防火墙端口3306:
vi /etc/sysconfig/iptables
- 增加规则:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
- 保存退出后:
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
- 最后重启系统使设置生效即可。
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。