Centos 7 - firewalld - 使用firewall-cmd传递流量

Centos 7 - firewalld - 使用firewall-cmd传递流量

我怎样才能允许来自某些主机网络A(eth0接口后面)的流量通过我的centos 7盒子到达网络B(后面的一些主机eth1)。

网络A:1.1.1.0/24

网络B:2.2.2.0/24

防火墙接口:

以太网1:1.1.1.1

以太坊2:2.2.2.1

源主机:1.1.1.30

目的地:2.2.2.45 port 80/tcp and 2.2.2.46 port 80/tcp

转发已打开且已iptables禁用,我可以从 访问 Web 服务器1.1.1.30

我怎样才能实现这一点firewall-cmd

答案1

首先,确保禁用 IPTABLES 服务,因为 FirewallD 和 IPTABLES 服务不能同时共存。

要禁用 IPTABLES,请执行# systemctl stop iptables

接下来确保启用并启动 FirewallD 服务;

# systemctl start firewalld && systemctl enable firewalld

现在,您需要将每个可用接口(在本例中为 eth0 和 eth1)分配给默认情况下在 firewalld 上可用的特定网络区域。

假设; eth0 属于内部区域(网络-A) 和 eth1 属于公共区域(网络-B)。要做到这一点;

# firewall-cmd --permanent --zone=internal --add-interface=eth0

# firewall-cmd --permanent --zone=public --add-interface=eht1

现在您的防火墙设置已完成。至于配置规则,例如,允许来自主机的http流量驻留在网络-A您需要在内部区域设置入站规则;

# firewall-cmd --permanent --zone=internal --add-service=http

此外,您需要在 public-zone 上启用 masquerade,以便在 IP 地址发送到网络 B 时对其进行转换

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

最后,重新加载 FirewallD 守护进程以使更改生效

# firewall-cmd --reload

列出区域上的规则,例如内部区域上的规则

# firewall-cmd --zone=internal --list-all

相关内容