我有一台 Linux Mint 20 主机,运行 VirtualBox 和 Debian 11(bullseye)。NAT 连接工作正常,但我需要桥接 SSH 连接,因为虚拟机的目的是在生产中模拟远程机器。有趣的是,桥接连接起初可以工作,但几天后就停止工作了。其他客户操作系统已经发生过这种情况,例如 CentOS 和 Manjaro。虽然当时我并没有费心去调查问题的根源,但我猜这是一个很好的线索,可以知道可能发生了什么(DHCP?)
在主机中,我连接了 WLAN(wlp2s0),但据我所知,它应该enp0s3
在客户机中列为有线连接,对吗?
我尝试过但没有成功:
- 安装“Guest Additions CD”——不确定它是否真的有效,我仍然无法使用双向剪贴板,即使我启用了它
- 更改“适配器类型”和“混杂模式”
- 更改 VirtualBox 设置中的 MAC 地址,以便它与主机的网络接口相匹配。
bridge0
在主机中创建桥接网络,并将 VirtualBox 中的网络名称更改wlp2s0
为它(不确定我是否真的理解这个过程,也许出了点问题)。- 我读完了以前的 可能 有关的问题,但它似乎并不适用于我的情况,而且我无法理解技术上发生的大部分事情。
一些信息:
用户@主机$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 98:83:89:c5:26:5b brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 98:83:89:d1:2c:c9 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.14/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp2s0
valid_lft 58283sec preferred_lft 58283sec
inet6 2804:14c:1c2:9309::1002/128 scope global dynamic noprefixroute
valid_lft 533484sec preferred_lft 533484sec
inet6 2804:14c:1c2:9309:9c84:d6fb:1aff:c777/64 scope global temporary dynamic
valid_lft 533485sec preferred_lft 15003sec
inet6 2804:14c:1c2:9309:c861:79dd:1705:f61a/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 565181sec preferred_lft 478781sec
inet6 fe80::e000:da4:1870:553/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: bridge0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether c2:9e:22:d0:ae:bf brd ff:ff:ff:ff:ff:ff
用户@访客 $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 98:83:89:d1:2c:c9 brd ff:ff:ff:ff:ff:ff
inet6 fe80::9a83:89ff:fed1:2cc9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
用户@访客$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: VMware SVGA II Adapter
00:03.0 Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)
因此,我看到客人uname
说的-amd64
,所以我认为可以通过将适配器类型更改为 AMD 的 PCNET 来解决这个问题(根据链接,但它是吗?)。但是,Bridge
被列为英特尔。我真的不明白这一切,这几乎是反复试验的结果,如果有人能帮助我了解发生了什么,我将不胜感激。
答案1
查看gvanto 的回答在 AskUbuntu StackExchange 上。他指的是这篇博文,这完全解决了我的问题。基本上,您需要为客户机设置两个网络接口,一个 NAT 和另一个仅主机接口(vbox0
或类似接口),然后为客户机配置一个静态 IP。