我有一台机器(机器 A),配有两张网卡,eth0 通过以太网连接到办公室墙壁,作为互联网连接。我有一台辅助USB网卡它通过以太网连接到第二台机器(机器 B)。我希望通过此连接在第二台机器上访问互联网。
我尝试过谷歌搜索,也尝试过一些方法,但都没有成功。以下本教程也没有解决问题。
这是我机器 A 上的网络接口文件:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
机器 B 配置为具有 的静态 IP 192.168.0.5
、 的网络掩码255.255.255.0
和 的网关192.168.0.1
。不管怎么说,我可以从机器 A ping 机器 B,也可以从机器 B ping 机器 A。我只是无法从机器 A 接收互联网连接。
提前感谢任何帮助!
答案1
我认为您的 /etc/network/interfaces 文件中缺少接口 eth0。应该是:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#The interface connected to internet
auto eth0
iface eth0 inet dhcp
#The interface connected to machine B
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
对该文件进行更改后,您必须重新启动网络服务:
sudo systemctl restart networking
除此之外,您还应该知道系统如何指定网络接口。这取决于您运行的 Ubuntu 版本。在 14.04 中,接口被指定为 eth0、eth1、wlan0、wlan1...,而在 16.04 中,接口被指定为 enp5s0、wlp1s0... 您可以使用ip addr
命令找出接口的名称。
最后,您应该通过取消注释此行来激活 ip foward:
#net.ipv4.ip_forward=1
在 /etc/sysctl.conf 文件上。
要应用新配置:
sudo sysctl -p
并创建用于激活 nat 的 iptables 规则,如您链接的 Help Ubuntu 文章所示。