我安装了 centos 7.1 和firewalld。
该服务器上有 4 个不同的服务:mysqld、mongod、jabberd、httpd
我需要配置该服务器以允许从任何地方连接到 jabberd 和 httpd,以及从 2 个地址 10.0.0.1、10.0.0.2 连接到 mysqld 和 mongod
目前公共区域处于活动状态且为默认状态,此处分配了绑定接口。httpd 和 jabberd 在那里并且一切正常。
我尝试使用特定源和 mongod/mysqld 创建自己的区域。我还尝试将其添加到现有的“受信任”/“内部”区域。但无法通过这种方式访问服务。访问这些服务的唯一方法是将它们添加到“公共”中。
我甚至尝试向该公共区域添加丰富的规则,以允许来自特定地址的服务。但仍然失败。
答案1
区域由接口、源地址或两者定义。这是firewalld中最令人困惑的部分,但一旦你理解了它,其他一切都会变得非常简单。
您要做的是定义一个全新的区域,设置该区域上的源地址,然后打开该区域上这些源地址应该到达的目标端口。
对于应该向任何地方开放的端口,将其添加到现有的公共区域就可以了。