centos防火墙配置总结

v1.1 新增解决docker容器端口绕过firewall,centos7的防火墙不能控制docker容器端口的问题
v1.1 增加禁止ping操作

centos firewall 配置步骤建议

  1. 先加一些访问宽泛的无限制的访问策略,如IP白名单,端口白名单,22端口不限制访问等。避免配置防火墙策略过程中无法访问的问题
  2. 在txt中编写需要加载的所有策略,复制粘贴即可
  3. 重启加载防火墙服务,使(1)(2)策略生效
  4. 逐步移除(1)中增加的宽泛的和无用的策略(add换成remove即可),并重启加载防火墙服务
  5. 打印已生效规则,查看配置是否有误
  6. 如有docker,需要设置NAT映射,并开启docker地址访问权限。

各类命令如下


(1)常用查询命令:
// 重新加载防火墙服务

firewall-cmd --complete-reload


//查看已有默认规则集

firewall-cmd --list-all


//查看已开放的端口

firewall-cmd --list-ports


//当前运行策略写入配置文件(永久生效)
 

firewall-cmd --runtime-to-permanent
firewall-cmd --permanent --add-rich-rule 'rule family=ipv6 source address=fe80::ffff:ffff:ffff:ffff port port=xxxx protocol=tcp accept'
firewall-cmd --permanent --remove-service=dhcpv6-client

(2)常用4中策略配置方式(只针对访问进来的):
// IP+端口访问规则
(示例:允许192.168.1.1访问本机的22端口)
 

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.1 port port=80 protocol=tcp accept'


//端口白名单访问规则, 只在调试初期使用,使用完后删除。
(示例:对所有IP开放22端口)
 

firewall-cmd --zone=public --add-port=22/tcp --permanent


//IP白名单,建议针对多IP部署的业务使用,如果不想梳理端口,那就直接业务内部IP之间相互不限制端口访问
(示例:对192.168.1.1开放所有端口) 

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.1.1 accept'


//策略删除只需要将对应命令的add修改为remove即可

(3)docker访问配置:
--设置防火墙允许NAT转发。配置完成后masquerade应该显示为yes
 

firewall-cmd --zone=public --add-masquerade --permanent


--把docker0网卡添加到trusted域
 

firewall-cmd --permanent --zone=trusted --change-interface=docker0


--加载策略
 

firewall-cmd --reload


--重启容器
 

systemctl restart docker
service docker restart


--查看docker0是否成功添加到trust区
 

firewall-cmd --get-zone-of-interface=docker0


--最后需要增加docker对应IP地址访问本机白名单策略
 

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=172.18.0.6 accept'

(4)收尾工作:
仔细检查确认后,逐步删除之前配置的宽泛服务及端口策略,不要一下删完了,每一步操作都留后路。
// 移除默认开启的没有访问限制的ssh服务,该服务开启后不限制访问,风险较高,所以建议最后删除。
 

firewall-cmd --permanent --remove-service=ssh


//策略删除只需要add替换为remove即可。
 

firewall-cmd --zone=public --remove-port=80/tcp --permanent

(5)其他辅助命令
//当前运行策略写入配置文件
 

firewall-cmd --runtime-to-permanent


//查看docker NAT规则是否存在
 

iptables -nL -t nat


//查看配置文件策略
 

cat /etc/firewalld/zones/public.xml
cat usr/lib/firewalld/zones/public.xml


//查看预定义服务
 

firewall-cmd --get-services 

(6)解决docker容器端口绕过firewall,centos7的防火墙不能控制docker容器端口的问题


#修改/usr/lib/systemd/system/docker.service ,添加 --iptables=false
#vi /usr/lib/systemd/system/docker.service
#找到

ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix://var/run/docker.sock 在中间添加 --iptables=false
#修改之后 :  

 ExecStart=/usr/bin/dockerd --iptables=false -H tcp://127.0.0.1:2375 -H unix://var/run/docker.sock


重启容器,重启后需要重新加载程序
 

systemctl daemon-reload
systemctl restart docker

启动docker下的程序:
进入docker-compose.yml所在目录
#docker-compose up -d  启动程序

(7)禁止ping操作
禁止ping  echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
恢复ping  echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all


 

CentOS 8的防火墙配置文件是使用firewalld工具进行管理的。防火墙配置文件位于/etc/firewalld目录下,主要包括以下几个重要文件: 1. firewalld.conf:这个文件是防火墙的主要配置文件。可以设置一些全局的防火墙选项,如默认的防火墙区域、是否开启IPv6支持等。可以通过编辑这个文件来修改全局设置。 2. zones目录:这个目录存放了不同的防火墙区域配置文件。每个区域配置文件包含了该区域的规则集合。默认的区域配置文件有public.xml、trusted.xml、home.xml等。可以通过编辑这些文件来定义区域的规则。 3. services目录:这个目录存放了定义了不同服务的配置文件。每个服务配置文件包含了定义该服务的端口和协议等信息。可以通过编辑这些文件来自定义和管理服务的规则。 在CentOS 8中,使用firewall-cmd命令可以对防火墙进行动态配置。例如,可以使用以下命令添加一个新的防火墙区域: ``` firewall-cmd --permanent --new-zone=myzone firewall-cmd --permanent --zone=myzone --add-source=192.168.1.0/24 firewall-cmd --permanent --zone=myzone --add-service=http firewall-cmd --reload ``` 以上命令中,--permanent选项表示永久生效,--new-zone表示创建一个新的区域。通过--add-source和--add-service选项分别指定允许访问的源IP地址和服务。最后通过--reload命令使配置生效。 总结来说,CentOS 8的防火墙配置文件集中存放在/etc/firewalld目录下,其中firewalld.conf是主要配置文件,zones目录存放了不同区域的规则配置文件,services目录存放了定义了不同服务的配置文件。通过firewall-cmd命令可以对防火墙进行动态配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打一年工搬一年砖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值