![是否可以在不使用 NAT 的情况下将所有流量从一个以太网接口转发到另一个以太网接口?](https://linux22.com/image/107506/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%E4%B8%8D%E4%BD%BF%E7%94%A8%20NAT%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%B0%86%E6%89%80%E6%9C%89%E6%B5%81%E9%87%8F%E4%BB%8E%E4%B8%80%E4%B8%AA%E4%BB%A5%E5%A4%AA%E7%BD%91%E6%8E%A5%E5%8F%A3%E8%BD%AC%E5%8F%91%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E4%BB%A5%E5%A4%AA%E7%BD%91%E6%8E%A5%E5%8F%A3%EF%BC%9F.png)
设置:电缆调制解调器 --> Ubuntu 16 盒子 (eth0) 上的硬件以太网端口。通过 eth0 的 OpenVPN 客户端连接 (tun0)。 Ubuntu 16 盒子 (eth1) 上的第二个硬件以太网端口连接到硬件路由器。
我可以通过 eth1 设置互联网共享,并将其作为典型的 10.42.0.0 的 DHCP 服务器运行。
假设 iptables eth0 的地址为 192.168.1.1,tun0 的地址为 60.60.1.1,eth1 的地址为 10.42.0.1。
是否可以将所有进出 eth0 的数据简单地发送到 eth1,而不进行这种伪装?这样,来自电缆调制解调器 WAN 的所有数据都会通过 Ubuntu 盒子流向硬件路由器,但硬件路由器仍然可以完成其 NAT 工作,而无需 Ubuntu 盒子在中间执行。这可能吗?
谢谢你!
答案1
如果eth0
有,192.168.1.1
那么您已经在等式中的某个位置获得了 NAT,无论是作为 CGNAT(在这种情况下可以考虑更改 ISP)还是在电缆调制解调器内。如果tun0
有,60.*
则它正在使用公共 IP 地址。
您绝对可以在没有 NAT 的情况下在接口之间转发流量。这就是所谓的转发。
sysctl -w net.ipv4.ip_forward = 1
您还需要设置路由,以便电缆调制解调器不仅了解其直接连接的子网192.168.1.1/24
,而且还了解网络中的其他子网(主要是10.42.0.0/??
.