Linux系统中配置防火墙

文章目录

一、启用/禁用/重启Firewall防火墙

二、配置Firewall防火墙进行访问限制

三、配置Firewall防火墙是否允许 NAT 转发

四、高可用环境中,配置Firewall防火墙允许Keepalived的VRRP流量通过

五、Firewall防火墙配置生效


一、启用/禁用/重启Firewall防火墙

##开启Firewall防火墙
[root@localhost ~]# systemctl start firewalld

##配置Firewall防火墙开机自启
[root@localhost ~]# systemctl enable firewalld

##禁用iptables
[root@localhost ~]# systemctl stop iptables

##禁止iptables开机自启
[root@localhost ~]# systemctl disable iptables

##重启Firewall防火墙
[root@localhost ~]# systemctl restart firewalld

二、配置Firewall防火墙进行访问限制

说明:开启Firewall防火墙后,默认情况下,只有本机可以访问本机的容器和应用。

##开放指定应用的端口给所有主机,如MySQL的3306端口,所有主机都可以访问
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

##删除开放指定应用的端口给所有主机的访问策略
[root@localhost ~]# firewall-cmd --zone=public --remove-port=3306/tcp --permanent

##指定IP的主机访问本机指定应用端口
##如IP为192.168.111.86的主机可以访问本机的MySQL,其他主机都不能访问本机的MySQL
[root@localhost ~]# firewall-cmd --permanent \
--add-rich-rule="rule family="ipv4" source address="192.168.111.86" \
port protocol="tcp" port="3306" accept"

##删除指定IP的主机能访问本机指定应用端口的访问策略
[root@localhost ~]# firewall-cmd --permanent \
--remove-rich-rule="rule family="ipv4" source address="192.168.111.86" \
port protocol="tcp" port="3306" accept"

三、配置Firewall防火墙是否允许 NAT 转发

##检查Firewall防火墙是否允许 NAT 转发,yes表示允许
[root@localhost ~]# firewall-cmd --query-masquerade

##若Firewall防火墙未允许 NAT 转发,则配置允许
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-masquerade

##禁止防火墙 NAT 转发
[root@localhost ~]# firewall-cmd --remove-masquerad

四、高可用环境中,配置Firewall防火墙允许Keepalived的VRRP流量通过

##注意,根据主机的网卡配置相应修改ens33
[root@localhost ~]# firewall-cmd --direct --permanent \
--add-rule ipv4 filter INPUT 0 --in-interface ens33 \
--destination 224.0.0.18 --protocol vrrp -j ACCEPT

##注意,根据主机的网卡配置相应修改ens33
[root@localhost ~]# firewall-cmd --direct --permanent \
--add-rule ipv4 filter OUTPUT 0 --out-interface ens33 \
--destination 224.0.0.18 --protocol vrrp -j ACCEPT

五、Firewall防火墙配置生效

##重新载入,使配置生效
[root@localhost ~]# firewall-cmd --reload

##查看配置结果
[root@localhost ~]# firewall-cmd --list-all

##查看防火墙所有开放的端口
[root@localhost ~]# firewall-cmd --zone=public --list-ports

猜你喜欢

转载自blog.csdn.net/cheagoun/article/details/138766836