防火墙firewall-cmd
一、centos7查看防火墙所有信息
firewall-cmd --list-all
二、centos7查看防火墙开放的端口信息
firewall-cmd --list-ports
三、开放/删除端口号
3.1、开放端口80
firewall-cmd --zone=public --add-port=80/tcp --permanent
3.2、删除端口80
firewall-cmd --zone=public --remove-port=80/tcp --permanent
3.3、开放多个端口:
firewall-cmd --zone=public --add-port=80-90/tcp --permanent
说明:
#–zone #作用域
#–add-port=80/tcp #添加端口,格式为:端口/通讯协议(删除:-remove-port=80/tcp)
#–permanent 永久生效,没有此参数重启后失效
四、开放/删除ip:
4.1、开放
指定192.168.142.166的5432端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"
指定192.168.142.166
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" accept"
指定网段172.17.0.0/16
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.17.0.0/16" accept"
–删除:
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166" accept"
说明:
区别在于 开放:-add-rich-rule= ,删除-remove-rich-rule 。 里面内容可根据firewall-cmd --list-all查看
五、操作后别忘了执行重载
firewall-cmd --reload
六、centos7启动、停止、重启、开机启用、开机不启动防火墙
6.1、启动
systemctl start firewalld.service
6.2、停止
systemctl stop firewalld.service
6.3、重启
systemctl restart firewalld.service
6.4、开机启用
systemctl enable firewalld.service
6.5、开机不启动
systemctl disable firewalld.service
七、其他开放
7.1、 开放NAT转发
可解决阻止docker容器访问外界IP
#开启 NAT 转发 firewall-cmd --permanent --zone=public --add-masquerade #检查是否允许 NAT 转发 firewall-cmd --query-masquerade #禁止防火墙 NAT 转发 firewall-cmd --remove-masquerad