###[centos 6.x]
/sbin/iptables-A INPUT -p tcp --dport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务
/etc/init.d/iptables status #查看已开放端口
###CentOS 7.x 使用firewalld代替了原来的iptables,使用方法如下:
#####关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl stop firewalld
systemctl disable firewalld.service #禁止firewall开机启动
systemctl disable firewalld
#####开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent #(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --list-ports #查看所有打开的端口
#####命令含义
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
#####重启防火墙
firewall-cmd --reload
#####其他常用命令:
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
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端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助
更多命令,使用 firewall-cmd --help 查看帮助文件
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
1、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、设置 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 #设置防火墙开机启动
最后重启系统使设置生效即可。
CentOS 7防火墙服务FirewallD指南 http://www.linuxidc.com/Linux/2016-10/136431.htm
firewalld和iptables 详解 http://www.linuxidc.com/Linux/2017-03/141434.htm
CentOS7下Firewalld防火墙使用实例 http://www.linuxidc.com/Linux/2017-01/139637.htm
CentOS 7下FirewallD使用简介 http://www.linuxidc.com/Linux/2016-11/137093.htm