我想进行这样的设置:
它是西班牙语的,但很容易理解。在我工作的学院,每个学生都有一台电脑。主机是一台装有 virtualbox 6.1.26 和扩展包的 Windows 10 PC。
我创建了一个 Ubuntu 18.04 虚拟机,它将充当带有两个网络适配器的防火墙/路由器——第一个从研究所动态获取 IP 并访问互联网,另一个用于称为 cognom 的内部网络。
Ubuntu“防火墙”中的网络配置:
auto lo
iface lo inet loopback
# enp0s3: # Interfície 1
# enp0s8: # Interfície 2
# se activan cuando se producen eventos hotplug en las intefaces de red, como la detección de la tarjeta por parte del kernel,
#la conexión del cable de red, etc
allow-hotplug enp0s3 enp0s8
# enp0s3: # Interfície 1
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
# enp0s3: # Interfície 1
up iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j MASQUERADE
down iptables -t nat -D POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j MASQUERADE
每台客户端机器,无论是 Linux 还是 Ubuntu,都有以下配置:
Static ip address: 192.168.0.X ( where x is a number >1 and <255)
Netmask: 255.255.255.0
Gateway: 192.168.0.1
当我从 LAN 中的客户端连接时,我可以 ping 到另一台机器和网关(192.168.0.1..),但我无法 ping 或访问互联网。
我该怎么做?不知何故 NAT 不起作用。为了方便起见,我们可以假设客户端也是一台 Ubuntu 18.04 机器。
客户端网络配置的示例可能是:
auto lo
iface lo inet loopback
# enp0s3: # Interfície 1
allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
address 192.168.0.5
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
我的想法是客户端可以访问互联网。
答案1
我的解决方案是将此配置应用到 Ubuntu 的路由器/防火墙中的网络;
# interfaces file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
allow-hotplug eth0
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet static
address 192.168.0.1
netmask 255.255.255.0
#up iptables -a FORWARD -j ACCEPT
up iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j MASQUERADE
down iptables -t nat -a POSTROUTING -o enp0s3 -s 192.168.0.0/24 -j MASQUERADE
终于解决了...我们必须从 enp0s8 中删除网关。另一个可能的原因是使用 eth0 和 eth1 而不是 enp0s3 和 enp0s8。我们需要在完成所有更改后再次重新启动服务
sudo systemctl restart networking