我已经创建了一个运行 Arch Linux 的 Hyper-V 虚拟机。我想拥有两个 NIC。
- 第一个 NIC 是用于互联网连接的外部 NIC。
- 第二个 NIC 应该是内部 NIC - 原因是如果我更改网络,我希望有一个可以在我的笔记本电脑上运行的静态 IP 地址,而不管网络的 DHCP 设置如何。
我创建了一个虚拟交换机,内部适配器为内部。在我的笔记本电脑(Win 10)上,我进行了如下设置:
IP Address: 192.168.137.1
Netmask: 255.255.255.0
Gateway: Blank
DNS 1: 192.168.137.1
DNS 2: Blank
我的虚拟机(Arch Linux)有:
IP: 192.168.137.2
Netmask: 255.255.255.0
Gateway: 192.168.137.1
DNS: 192.168.137.1
从 HOST 到 GUEST 的 ping 操作不工作,从 GUEST 到 HOST 的 ping 操作也不工作。
有什么帮助/建议吗?
答案1
如果192.168.137.1
和192.168.137.2
是同一台机器上的可见接口(例如 eth0 和 eth1),则不起作用
如果它们位于不同的内核堆栈上,请使用命令查看每个接口。确保每个接口上 ip
都有链接。state UP
# ip link sho eth1
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:15:17:38:41:ff brd ff:ff:ff:ff:ff:ff
接下来,su/sudo
以 root 身份运行arping
命令,发送到/来自每个 IP 地址 ( /usr/sbin/arping 192.168.137.2
)。您可能需要安装实用程序。如果同一子网上的设备已插入且物理布线、硬件没有问题,则它们将始终对此作出响应。即使防火墙丢弃了 ICMP,arping 也会成功。
另外,请确保已禁用手动配置(静态)接口的 dhcp。根据 Linux 发行版配置接口的方式,这对某些人来说可能相当麻烦。
如果arping
失败,您需要对 IP 地址之间的部分进行一些调查。确保虚拟机管理程序知道应该在虚拟机上启用网卡并允许访问它,虚拟交换机配置正确等。也许可以删除中间的一些部分并再次测试。