Linux 防火墙 - 区域管理

今天的一个问题,通过防火墙的网络配置解决后做一下总结。

问题是这样的,服务器开启了防火墙,并且开通了相关端口的访问,但是在本地telnet时却不通。。。左思右想没有思路,后来在Stack上找到一个解决方法:

emmm,没看明白,然后查找用法
firewall-cmd --zone=public --permanent --add-masquerade
解释是这样的:防火墙的masquerade功能进行地址伪装(NAT),私网访问公网或公网访问私网都需要开启此功能来进行地址转换,否则无法正常互访
这样的:开启路由功能转发功能

看来跟转发有关。

想了半天,突然想起来服务器上需要访问的服务时使用docker容器启动的,而docker使用的网络接口并不是原生的em1。docker安装时会创建一个叫docker0的网桥(Linux bridge),会不会跟这个有关呢。

通过一通查资料,发现还有一种方式可以解决这个问题,将docker0设置为防火墙受信网络,哈

----------- 以下总结是抄的...

通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流。例如,互联网是不可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装,初次启动和首次建立网络连接时选择初始化。该模型描述了主机所连接的整个网络环境的可信级别,并定义了新连接的处理方式。有如下几种不同的初始化区域:

阻塞区域(block):任何传入的网络数据包都将被阻止。

工作区域(work):相信网络上的其他计算机,不会损害你的计算机。

家庭区域(home):相信网络上的其他计算机,不会损害你的计算机。

公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接。

隔离区域(DMZ):隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。

信任区域(trusted):所有的网络连接都可以接受。

丢弃区域(drop):任何传入的网络连接都被拒绝。

内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。

外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。

firewalld默认提供了九个zone配置文件:block.xml、dmz.xml、drop.xml、external.xml、 home.xml、internal.xml、public.xml、trusted.xml、work.xml,他们都保存在“/usr/lib /firewalld/zones/”目录下。。

FirewallD的默认区域是public。

猜你喜欢

转载自blog.csdn.net/aleefang/article/details/119755970