Linux 通过 iptables 实现 nat 转发

本文档详细介绍了如何在RedHatEnterpriseLinux7上启用iptables的NAT转发功能,以便实现A服务器通过B服务器访问C服务器。首先,通过修改sysctl.conf启用内核路由转发,然后配置iptables的nat表进行地址转换。最后,在A和C服务器上设置B服务器为默认网关,从而实现网络通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标记一下,今天想让一台 Red Hat Enterprise Linux 7 开通 iptables 的 nat 转发功能,找了半天。

A服务器:192.168.30.20/24

B服务器:eth0:192.168.30.1/24;eth1:192.168.40.1/24

C服务器:192.168.40.20/24

目标:让 A 可以 ping 和 ssh 到 C 机器。这就需要通过 B 服务器来跳转。

操作过程:

1、在 B 服务器上开启内核路由转发参数

临时生效:

echo "1" > /proc/sys/net/ipv4/ip_forward

永久生效的话,需要修改 sysctl.conf:

net.ipv4.ip_forward = 1

执行 sysctl -p 马上生效。

2、B 服务器开启 iptables nat 转发

配置源地址30网段,目标地址40网段的地址转换,从 eth1 网卡出:

iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -d 192.168.40.0/24 -o eth1 -j MASQUERADE

配置源地址40网段,目标地址30网段的地址转换,从 eth0 网卡出:

iptables -t nat -A POSTROUTING -s 192.168.40.0/24 -d 192.168.30.0/24 -o eth0 -j MASQUERADE

永久保存:

iptables-save > /etc/sysconfig/iptables

TIP:注意对应网卡。

3、在 A 和 C 服务器上设置路由为 B 服务器 IP

A: route add -net 192.168.40.0 netmask 255.255.255.0 gw 192.168.30.1
C: route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.40.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值