我正在尝试使用运行 Ubuntu Server 的几台虚拟机模拟网络(路由器、防火墙、PC 和服务器)。我已按照几个教程、论坛上的问题等操作,但还是无法正常工作。
我的设置
-> 一台虚拟机,假设是具有 2 个网络接口的路由器
- enp0s3 -> 已连接到我的机器(有互联网的地方)
- enp0s8 -> 连接到私有网络
-> 一台虚拟机,具有 3 个网络接口,用作防火墙
enp0s3 -> 连接在同一个私有网络中
另外两个是用于服务器和 PC 的,但现在没有使用它们
到目前为止我已经
/etc/network/interfaces 设备一(路由器)
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet static
address 10.20.0.1
netmask 255.255.192.0
network 10.20.0.0
broadcast 10.20.63.255
gateway 10.20.0.1
iptable
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE ALL -- anywhere anywhere
我也取消了以下行net.ipv4.ip_forward=1
的注释/etc/sysctl.conf
/etc/network/interfaces 设备二(防火墙)
(我只是复制了与路由器连接的那个)
auto enp0s3
iface enp0s3 inet static
address 10.20.0.2
netmask 255.255.192.0
network 10.20.0.0
broadcast 10.20.63.255
gateway 10.20.0.1
.....
这个 iptable 是空的(我不确定是否必须设置任何东西)
路由器已与互联网连接,两个设备可以相互通信(ping)。
我的问题
我正在尝试使用我的防火墙设备访问谷歌(ping 8.8.8.8),但它显示:
connect: Network is unreachable
我遗漏了什么?为什么我无法在第二台设备上访问互联网?
PS:我在 VirtualBox 中将两个适配器都设置在同一个网络中