启动第二个网络接口时,Linux VM 的连接中断

启动第二个网络接口时,Linux VM 的连接中断

我正在对移动设备进行一些测试,想通过网络进行测试。移动设备只能通过 WiFi 连接到网络,不支持 ad-hoc 模式,因此我将一个旧的 WiFi 路由器设置为 AP,通过以太网连接到我的笔记本电脑上的端口。路由器在 192.168.0.0/24 下运行。

我的笔记本电脑还通过另一个以太网端口连接到我们的正常网络。该网络在 10.0.2.0/24 下运行,并提供互联网连接。

我的笔记本电脑正在运行一个虚拟机,它有两个网卡,每个网卡都桥接到两个相应的物理网卡上。10.0.2.0 网络可通过 eth0 访问,192.168.0.0 网络可通过 eth1 访问。

我遇到的问题是,只要我运行,所有连接就会断开ifup eth1。我尝试更改路由表和适配器指标,但没有成功。

以下是 的输出ifconfig -a

eth0      Link encap:Ethernet  HWaddr 08:00:27:04:7a:b7  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe04:7ab7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18135 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11076 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12226743 (12.2 MB)  TX bytes:1047606 (1.0 MB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:96:cf:1c  
          inet addr:192.168.0.5  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe96:cf1c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1803 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1439 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:166923 (166.9 KB)  TX bytes:118391 (118.3 KB)

这是我的路由表:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth1
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

输出来自ip route

default via 192.168.0.1 dev eth1  metric 100 
default via 10.0.2.2 dev eth0  metric 100 
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15 
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.5 

有什么想法吗?我不是 Linux 用户,因此对此感到困惑。


编辑:

# cat /etc/network/interfaces 

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

auto eth2
iface eth2 inet dhcp

auto ath0
iface ath0 inet dhcp

auto wlan0
iface wlan0 inet dhcp

ip route删除默认路由后的输出eth1

default via 10.0.2.2 dev eth0  metric 100 
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15 
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.5 

答案1

我对 Debian 不太熟悉,但我认为 TheCleaner 所说的正是你的问题所在。配置 eth1 接口时,你添加了一个“新”默认路由,这会干扰你现有的默认路由。如果你从 eth1 中删除该“默认”路由,应该没问题 - 我只是不知道如何告诉你在类似 Debian 的操作系统中删除该配置位。

答案2

您的问题是 DHCP。即使您无法禁用服务器,您也可以选择不向他询问地址,而是自己选择:

启动时eth1,它会自动添加第二个默认网关,但这不应该是默认网关,这是 DHCP 的错误。

您必须编辑 /etc/network/interfaces,并更改:

auto eth1
iface eth1 inet dhcp

经过 :

auto eth1
iface eth0 inet static
address 192.168.0.200
netmask 255.255.255.0

请注意指定网关,并随机选择“200”,希望超出 DHCP 范围。然后您可以执行ifdown eth1/ ifup eth1

如果此时仍然有问题,请更新 的输出ifconfigip route -acat /etc/network/interfaces

相关内容