linux 防火墙

2020-06-27

防火墙的开启与关闭

#开启
systemctl  start firewalld
#关闭
systemctl  stop firewalld
#重启
systemctl  restart firewalld

防火墙端口

查看所有开放的端口

查看开放到到所有域的端口
firewall-cmd --zone=public --list-ports
查看所有开放的端口
firewall-cmd --list-all
查看所有永久开放的端口
firewall-cmd --list-all --permanent

开放关闭端口

#永久开放80、81端口
firewall-cmd --zone=public --add-port=80/tcp  --add-port=81/tcp --permanent
#永久关闭80、81端口
firewall-cmd --zone=public --remove-port=80/tcp  --remove-port=81/tcp --permanent

#永久开放8080-8090端口
firewall-cmd --add-port=8080-8090/tcp --permanent
#永久关闭8080-8090端口
firewall-cmd --add-port=8080-8090/tcp --permanent

针对某个IP开放端口
firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=192.168.11.128 port port=6379 protocol=tcp accept'
删除针对某个IP开放的端口
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.11.128 port port=6379 protocol=tcp accept'

# 配置立即生效
firewall-cmd --reload

# --permanent代表用久生效,设置时不加,重启后开放的端口就会失效
# --zone=public代表针对所有ip开放,可以不加

端口转发

将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1
将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080

查看防火墙的状态

firewall-cmd --state

docker映射的端口,开放端口外网依然无法访问

#修改docker0网卡为trusted域:(信任域)
firewall-cmd --permanent --zone=trusted --change-interface=docker0​​​​​​​
#从信任域中移除
firewall-cmd --permanent --zone=trusted --remove-interface=docker0​​​​​​​
firewall-cmd --reload

文章来源于:https://www.cnblogs.com/heqiuyong/p/10460150.html
                    https://www.cnblogs.com/elson-zeng/p/12553329.html
                    https://blog.csdn.net/s_p_j/article/details/80979450

{/if}