我正在尝试将 Ubuntu Server 16.04 设置为路由器,只是为了弄清楚它是如何工作的,也许有一天可以构建一个家庭服务器/路由器。问题是,我似乎无法让它工作,不确定它是否接受我设置的路线。
/etc/网络/接口:
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet static
address 192.168.1.254
netmask 255.255.255.0
gateway 192.168.1.168
ip route replace default via 192.168.1.1 dev enp0s3
auto enp0s8
iface enp0s8 inet static
address 3.0.0.254
ip route replace 192.168.1.0/24 via 192.168.1.254 dev enp0s3
ip route replace 3.0.0.0/24 via 3.0.0.254 dev enp0s8
这可能是我为路线尝试的第八个左右的设置,所以它可能看起来很奇怪。我之前用“up”尝试过这些,用“add”代替“replace”和“||true”,按照其他人之前在 SE 上的建议。
网络/VBox 设置如下: 从路由器虚拟机到我家庭 LAN 中 WAN 路由器的网络连接是桥接的,我可以从路由器 ping 到 WAN。我可以从主机 ping 到两个路由器接口。但是,我无法从路由器或 WAN 上 ping 主机。
任何建议表示赞赏,谢谢。
我还在 WAN 路由器上添加了一条路由,通过 192.168.1.254 指向现在的 192.168.2.0/24 网络。
客户端(WX,.2.2)现在可以 ping:两个 LAN 路由器接口(.2.254 和 .1.254),但不能 ping WAN 路由器(.1.1)或 ping 通 WAN(8.8.8.8)
LAN 路由器可以 ping WAN 路由器(包括其自己的接口和 WAN),但不能 ping 通客户端 (.2.2)
WAN 路由器可以 ping 通两个 LAN 路由器接口,但不能 ping 客户端。
客户端上的 Windows 防火墙已禁用。
我之前已经使用 ClearOS 虚拟机进行了设置,该虚拟机无需配置 WAN 路由器即可工作,但 ClearOS 不是我想要的,所以我尝试使用该配置进行 Ubuntu 设置,但奇怪的是不起作用。 VBox 配置相同。
一如既往,我们感谢任何帮助。
答案1
您的设置不起作用的原因是您的 WAN 路由器(我们称之为 r1)无法知道如何到达 Ubuntu 路由器后面的虚拟机(我们称之为 r2)。
您必须(在 r1 上)添加一条到 3.0.0.0/24 网络的路由,并将 r2 的 LAN 地址 (192.168.1.254) 作为下一跃点。
如何做到这一点取决于r2的软件。
顺便说一句(正如评论中指出的那样):你应该不是分配任意网络地址,即使网络位于 NAT 路由器后面。请改用 10.0.0.0/8 或 172.16.0.0/16 - 有关详细信息,请参阅 RFC 1918。
您必须告诉 r2 的内核转发 IP 数据包:
echo 1 | sudo tee > /proc/sys/net/ipv4/ip_forward
然后通过取消注释以下行使其永久化/etc/sysctl.conf
net.ipv4.ip_forward = 1