centos7以上版本内置防火墙, 不再使用原来的iptables,启用firewalld
下面以firewalld服务为例:
1. firewalld服务启用/停用
启动服务:systemctl start firewalld.service
关闭服务:systemctl stop firewalld.service
重启服务:systemctl restart firewalld.service
显示服务的状态:systemctl status firewalld.service
在开机时启用服务:systemctl enable firewalld.service
在开机时禁用服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl –failed
2.防火墙配置命令: firewalld-cmd
查看版本: firewall-cmd –version
查看帮助: firewall-cmd –help
显示状态: firewall-cmd –state
查看所有打开的端口: firewall-cmd –zone=public –list-ports
更新防火墙规则: firewall-cmd –reload
查看区域信息: firewall-cmd –get-active-zones
查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0
拒绝所有包:firewall-cmd –panic-on
取消拒绝状态: firewall-cmd –panic-off
查看是否拒绝: firewall-cmd –query-panic
3.端口管理:
添加: firewall-cmd –zone=public –add-port=80/tcp –permanent (–permanent 永久生效,没有此参数重启后失效)
重新载入:firewall-cmd –reload
查看:firewall-cmd –zone= public –query-port=80/tcp
删除:firewall-cmd –zone= public –remove-port=80/tcp –permanent
正式环境下,看需要选择是否使用防火墙,这里为了方便后续配置,就先将其关闭:
关闭防火墙 systemctl stop firewalld
禁止开机自启systemctl disable firewalld
查看防火墙状态systemctl status firewalld
一些系统内置的服务

执行命令:firewall-cmd –add-service=xxx 即可开启对应的服务端口
![]()
例如要开启web服务器的80端口
执行以下命令即可
firewall-cmd –add-service=http
返回结果success即开启成功
一些常用的配置
firewall-cmd –get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd –query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-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端口
centos7以下版本
1.开放80,22,8080 端口
/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT
2.保存
/etc/rc.d/init.d/iptables save
3.查看打开的端口
/etc/init.d/iptables status
4.关闭防火墙
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
自定义ip规则
cd 到 /usr/lib/firewalld/zones下
cp 一份 public.xml 文件
<rule family=”ipv4″>
<source address=”10.0.0.110“/>
<port protocol=”udp” port=”1080“/>
<accept/>
</rule>
<rule family=”ipv4″>
<source address=”10.0.0.110“/>
<port protocol=”tcp” port=”10050-10051″/>
<accept/>
</rule>
<rule family=”ipv4″>
<source address=”192.168.0.110“/> 开放指定ip,指定端口、协议
<port protocol=”tcp” port=”80″/>
<accept/>
</rule>
<rule family=”ipv4″> 开放任意ip访问服务器的9527端口
<port protocol=”tcp” port=”9527″/>
<accept/>
</rule>