防火墙伪装配置不起作用

防火墙伪装配置不起作用

我正在使用 RHEL 8,并尝试使用防火墙命令设置 NAT/MASQUERADE。到目前为止,我拥有公共区域中的所有网络接口和服务。eno8303 是内部网卡,eno8403 是外部网卡。这是我的程序,但我无法让它工作:-

sudo firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -o eno8303 -j MASQUERADE sudo firewall-cmd --permanent --direct --passthrough ipv4 -A FORWARD -i eno8403 -m state --state ESTABLISHED,RELATED -j ACCEPT

编辑 /etc/sysctl.conf 以包含设置 net.ipv4.ip_forward = 1

然后 sysctl -p /etc/sysctl.conf

期望能够使用服务器作为内部网关但什么也没有发生。

答案1

您的配置有问题,您应该使用外部 NICeno8403作为输出接口,而不是内部 NIC。

解决方法如下:首先设置 NAT,sudo firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -o eno8403 -j MASQUERADE然后设置转发规则

sudo firewall-cmd --permanent --direct --passthrough ipv4 -A FORWARD -i eno8303 -o eno8403 -j ACCEPT
sudo firewall-cmd --permanent --direct --passthrough ipv4 -A FORWARD -i eno8403 -o eno8303 -m state --state ESTABLISHED,RELATED -j ACCEPT

然后重新加载sudo firewall-cmd --reload然后转到/etc/sysctl.conf并添加

net.ipv4.ip_forward = 1

然后你申请,它应该有效sudo sysctl -p /etc/sysctl.conf

相关内容