尽管使用桥接网络,但无法通过 ssh 进入 KVM VM

尽管使用桥接网络,但无法通过 ssh 进入 KVM VM

我正在尝试访问公司网络内运行的 KVM 虚拟机。我通过笔记本电脑通过 VPN 连接到网络,并可以 ssh 连接到其他虚拟机,并且我使用 将虚拟机设置为使用桥接网络virt-install ... --network bridge=virbr0,model=virtio。网络的 KVM 主机配置为:

# virsh dumpxml test-vm
...
<interface type='bridge'>
  <mac address='52:54:00:d6:4f:f8'/>
  <source bridge='virbr0'/>
  <target dev='vnet3'/>                    <------
  <model type='virtio'/>
  <alias name='net0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
...

# ifconfig
...
virbr0    Link encap:Ethernet  HWaddr fe:54:00:3f:e1:8d  
      inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1119495 errors:0 dropped:0 overruns:0 frame:0
      TX packets:698753 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:105580752 (105.5 MB)  TX bytes:2718266918 (2.7 GB)
...
vnet3     Link encap:Ethernet  HWaddr fe:54:00:d6:4f:f8            <-----
      inet6 addr: fe80::fc54:ff:fed6:4ff8/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1062543 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1900765 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:500 
      RX bytes:80152674 (80.1 MB)  TX bytes:2667837704 (2.6 GB)
...

我的虚拟机通过 DHCP 获得的 IP 地址是 192.168.XX,但我注意到,对于未在此 KVM 主机上运行的虚拟机,其 IP 地址更像是 172.16.XX。如果我通过 SSH 进入物理主机,那么我就能 ping 通我的虚拟机,但从任何其他机器上都无法 ping 通。

鉴于这些症状,我没有配置什么以允许自己从网络中的任何机器直接通过 SSH 进入虚拟机?

答案1

我已经设置了针对该virbr0接口的桥接器,它(如这里所述) 只是一个虚拟网桥,所以它没有给我物理网络上的 IP 地址。

果然,创建一个连接到我的物理网络接口的桥接器解决了这个问题——我通过使用来实现这一点virt-install ... --network bridge=br0,model=virtio,其中 br0 的设置如下:

$ brctl show
bridge name  bridge id          STP enabled    interfaces
br0          8000.ecf4bbcabb04  no             em3
                                               vnet3

(其中 em3 是我的物理网络接口,vnet3 是 virt-install 创建的 VM 接口。)

相关内容