我有一台带有三张 NIC 卡的 Centos 服务器。
ETH0公网 IP xx.xx.xx.xx1/xx.xx.xx.xx2 (有两个公网 IP)
埃希氏肿瘤1号本地子网 192.168.80.0(DHCP 服务器在此接口上监听)
ETH2本地子网(10.0.1.10)连接到仅可在组织内部访问的打印机/文件服务器/其他局域网。
我的设置要求:- 在 ETH1(192.168.800/24 子网)上,我有几个用户需要访问互联网和他们的邮件。我们在 192.168.80.0/24 子网内设置了一个邮件服务器,以便用户可以更快地访问邮件。
我已对邮件服务器 192.168.80.2 启用了静态 NAT,该服务器的公网 IP 为 xx.xx.xx.xx2。eth1 上的其他用户看到的公网 IP 为 xx.xx.xx.xx1,因为我们也为其启用了 DNAT。
子网 192.168.80.0/24 上的用户可以访问文件服务器/打印机。
我有另一个子网 192.168.70.0/24,它需要与 192.168.80.0/24 子网通信,同样 192.168.80.0.24 需要与 192.168.70.0/24 通信。
192.168.80.0/24 使用 L3 交换机连接到 10.0.0.0/24。192.168.70.0/24 使用 L3 交换机连接到 10.0.0.0/24。
一切正常,但无法在 192.168.80.0/24 和 192.168.70.0 之间进行通信。
每当我从 192.168.80.0/24 到 192.168.70.0/24 网络执行跟踪路由时,它都会转到互联网。
traceroute 192.168.70.1
* * * 192.168.80.1
* * * ISP default gateway IP
我如何才能启用来自子网 192.168.80.0/24 并发往 192.168.70.0/24 的流量的转发或路由,该流量应通过 eth2 (10.0.1.10) 进行,以便上述跟踪路由应如下所示,其余部分应能像现在一样工作。
traceroute 192.168.70.1
* * * 192.168.80.1
* * * 10.0.1.10
我不知道现在该做什么。
我的 NAT 规则:
-A PREROUTING -d xx.xx.xx.xx2/32 -i eth0 -j DNAT --to-destination 192.168.80.2
-A POSTROUTING -s 192.168.80.2/32 -o eth0 -j SNAT --to-source xx.xx.xx.xx2
-A POSTROUTING -s 192.168.80.0/24 -o eth0 -j SNAT --to-source xx.xx.xx.xx1
-A POSTROUTING -o eth0 -j MASQUERADE
路由:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
115.xx.xx.200 0.0.0.0 255.255.255.252 U 0 0 0 eth0
192.168.80.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.0.0 0.0.0.0 255.255.252.0 U 0 0 0 eth2
115.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0
0.0.0.0 115.xx.xx.137 0.0.0.0 UG 0 0 0 eth0
答案1
您必须在某个地方有网关,该网关连接到 10.0.1.0/24 网络,并且还连接到 192.168.70.0/24 网络。假设该网关的 IP 地址为 10.0.1.20。
然后你必须在你的 Linux 路由器上添加此路由:
ip ro add 192.168.70.0/24 via 10.0.1.20
由于您的路由器也是 192.168.70.0/24 网络的网关(尽管通过一跳),因此您不需要在网络 192.168.70.0/24 的网关上添加 192.168.80.0/24 的路由
编辑1:
为了使此路由在 CentOS 上永久存在,您必须将此行添加到文件/etc/sysconfig/network-scripts/route-eth2
:
192.168.70.0/24 via 10.0.1.20 dev eth2
您可以看到本部署指南。