防火墙firewall-cmd

发布时间 2023-12-14 09:12:33作者: 长不大的菜鸟

一、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