CentOS 7开启防火墙
在CentOS7中默认使用firewall代替了iptables service。虽然继续保留了iptables命令,但已经仅是名称相同而已。除非手动删除firewall,再安装iptables,否则不能继续使用以前的iptables配置方法
操作方法
- 01
在/usr/lib/firewalld/services目录中存放的是定义好的网络服务和端口参数,只用于参考,不能修改。这里只定义了一部分通用网络服务。在该目录中没有定义的网络服务,也不必再增加相关xml定义,后续通过管理命令可以直接增加。
- 02
如果要使用到的服务的xml文件,从上面的目录中拷贝到/etc/firewalld/services/目录下,如果端口有变化则可以修改文件中的数值,也可以根据相关定义自己写
- 03
先开启防火墙服务(如果防火墙运行中直接跳过) systemctl start firewalld
- 04
这里以ftp服务服务为例。 暂时开放ftp服务 firewall-cmd --add-service=ftp
- 05
永久开放 ftp 服務# firewall-cmd --add-service=ftp --permanent永久关闭# firewall-cmd --remove-service=ftp --permanent
- 06
重起使设定生效。 systemctl restart firewalld 注:可以通过两种方式来激活最新配置 systemctl restart firewalld 和 firewall-cmd --reload 两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”。重载配置文件之后不会断掉正在连接的tcp会话,而重启服务则会断开tcp会话。
- 07
查看设定是否生效 iptables -L -n | grep 21 检测防火墙状态 firewall-cmd --state
- 08
查看服务的启动状态 firewall-cmd --query-service ftp firewall-cmd --query-service ssh
- 09
显示防火墙应用列表 firewall-cmd --list-all
- 10
添加自定义的开放端口 firewall-cmd --add-port=8001/tcp