从虚拟 LAN 访问互联网时出现问题

从虚拟 LAN 访问互联网时出现问题

我想进行这样的设置:

在此处输入图片描述

它是西班牙语的,但很容易理解。在我工作的学院,每个学生都有一台电脑。主机是一台装有 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

相关内容