![如何将流量从另一个网络路由到互联网](https://linux22.com/image/1357695/%E5%A6%82%E4%BD%95%E5%B0%86%E6%B5%81%E9%87%8F%E4%BB%8E%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%BD%91%E7%BB%9C%E8%B7%AF%E7%94%B1%E5%88%B0%E4%BA%92%E8%81%94%E7%BD%91.png)
我正在对我的家庭网络进行一些实验,并进行以下设置:
+---------+ +----------+ +-----------+ +----------+
| Host A |_WiFi_| Router A =1)___(2= Linux =1)___(1= Internet =)_____ *** Internet **
| | | | | Server | | Router |
+---------+ +----------+ +-----------+ +----------+
|
+----------+
| PC |
+----------+
- 路由器 A (DDWRT) 提供 NAT 和 DHCP,并在连接 1 上具有静态 IP 10.0.0.2
- 主机 A 通过 DHCP 从路由器 A 获取 IP 10.1.0.2,而路由器 A 在 Wifi 端的 IP 为 10.1.0.1,DHCP 提供的网关为 10.1.0.1
- Linux 服务器有一个接口 10.0.0.1,通过连接 2 连接到路由器 A
- Linux 服务器在连接 1 上有一个静态 IP 192.168.0.2,连接到互联网路由器
- Linux 服务器为 192.168.0.* 网络提供 DHCP 和 DNS 等
我已经在 Linux 服务器上设置了路由表,这样内部流量似乎可以正常路由。我还为10.0.0.0/16
Internet 路由器设置了一条静态路由,用于路由到路由器 A ( 192.168.0.2
)。
因此我可以从主机 A ping 到 Internet 路由器。如果我从主机 AI 对外部 IP(如 google.com)执行跟踪路由,则会得到以下结果:
10.1.0.1 (Router A) -> 10.0.0.1 (Linux Server) -> 192.168.0.1 (Internet Router)
那么,我需要在互联网路由器(执行 NAT 等)上进行什么设置才能使其正确路由互联网流量?
一点背景/次要问题:总体目标(我知道这是一种非常疯狂的做法)是尝试将 WiFi 流量与网络的其余部分隔离开来。使用 Linux 服务器上的防火墙配置进行此设置是否可行?因此,如果 WiFi 上的任何用户想要访问有线网络,则要求他们通过 VPN 进入 Linux 服务器(192.168.0.*
)。
仅供参考,以下是路线表:
路由器 A:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 vlan2
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan2
10.1.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br0
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 vlan2
Linux 服务器:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
互联网路由器:
Destination Gateway Genmask Flags Metric Iface
<External IP> 0.0.0.0 255.255.255.255 UH 0 pppoa0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 br0
10.0.0.0 192.168.0.2 255.255.0.0 UG 0 br0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 pppoa0