转载自:http://www.z4zr.com/page/1006.html
?
CentOS7用firewall命令“替代”了iptables。在这里我们需要区分“iptables服务”和“iptables命令”。虽然firewalld是替代提供的防火墙管理iptables服务,但是它仍然使用iptables对内核命令动态通信包过滤。所以它只是iptables服务代替,而不是iptables命令。
如果想使用iptables服务,执行如下命令 ``` systemctl stop firewalld systemctl disable firewalld
yum install iptables-services
touch /etc/sysconfig/iptables systemctl start iptables systemctl enable iptables
systemctl stop iptables
touch /etc/sysconfig/ip6tables systemctl start ip6tables systemctl enable ip6table ```
?
vim /etc/sysconfig/iptables
重启iptables
?service iptables restart
安装firewalld和firewall-cmd请参考结尾link 检查防火墙状态 firewall-cmd --stat
临时开放ftp服务 firewall-cmd --add-service=ftp 永久开放ftp服务 firewall-cmd --add-service=ftp --permanent 关闭ftp服务 firewall-cmd --remove-service=ftp --permanent 配置防火墙在public区域永久开放http服务 firewall-cmd --permanent --zone=public --add-service=http 加入指定开放端口 firewall-cmd --add-port=1324/tcp
为了让之前的设定生效当然要重启服务咯 systemctl restart firewalld 或者使用下面的命令免去重启服务(防火墙策略配置后重新载入) firewall-cmd --complete-reload firewall-cmd --reload (这两句功能相同)
检查ftp服务的21端口是否开放 iptables -L -n | grep 21 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ctstate NEW
查询ftp服务启用状态 firewall-cmd --query-service ftp
查看当前规则 firewall-cmd --list-all
仅允许部分IP访问本机服务配置 firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
仅允许部分IP访问本机端口配置 firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" port protocol="tcp" port="8080" accept"?
?
firewall-cmd --zone=public --add-port=3306/tcp --permanent
输入命令,开通端口报错,
FirewallD is not running?
开启防火墙即可。
systemctl start firewalld? (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|