kvm & ldquo; default & rdquo; Сеть NAT не работает

Я только что создал виртуальную машину, используя qemu-kvm. И хозяин, и гость - это Ubuntu 16.04 LTS. Однако гость не имеет доступа к интернету. Я могу пинговать хост от гостя или пинговать гостя от хоста. Вот вывод из ifconfig хоста

eno1      Link encap:Ethernet  HWaddr 6c:0b:84:98:06:a3  
          inet addr:10.7.202.66  Bcast:10.7.202.255  Mask:255.255.255.0
          inet6 addr: fe80::5388:4cd6:d475:94ca/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:41093 errors:0 dropped:0 overruns:0 frame:0
          TX packets:100041 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7514291 (7.5 MB)  TX bytes:117854779 (117.8 MB)
          Interrupt:20 Memory:f7c00000-f7c20000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:377404 errors:0 dropped:0 overruns:0 frame:0
          TX packets:377404 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1034501784 (1.0 GB)  TX bytes:1034501784 (1.0 GB)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:3539 errors:0 dropped:0 overruns:0 frame:0
          TX packets:953 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:240370 (240.3 KB)  TX bytes:141550 (141.5 KB)

А вот вывод из virsh net-dumpxml default:

<network>
  <name>default</name>
  <uuid>f4a19eaf-dbfa-46a5-bc9a-ccdc809363be</uuid>
  <forward dev='eno1' mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
    <interface dev='eno1'/>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:3e:46:10'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

И вывод из хоста route -n:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.7.202.251    0.0.0.0         UG    100    0        0 eno1
10.7.202.0      0.0.0.0         255.255.255.0   U     100    0        0 eno1
10.22.224.196   10.7.202.251    255.255.255.255 UGH   100    0        0 eno1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Я также включил net.ipv4.ip_forward=1 в /etc/sysctl.conf.

1111 Кто-нибудь может предложить что-нибудь еще сделать?

6
задан 28 November 2017 в 04:19

1 ответ

Вам необходимо настроить macvtap со своего хоста, чтобы у гостя вашей виртуальной машины было подключение к Интернету, что в вашем случае имеет конфигурацию NAT только для хостов и гостевого соединения.

Кроме того, я посоветовал вам установить virt-manager для графического ознакомления с базовой концепцией и настройками KVM, после чего вы сможете сделать это в CLI в следующий раз.

Для справки, у меня есть соединение от хоста к гостевому соединению, эта конфигурация - NAT с virtio.

This is my host to guest connection

Теперь для вашей гостевой виртуальной машины должно быть настроено соединение macvtap, но сначала вам нужно создать отдельное мостовое соединение, а затем macvtap. .

This is the setup for guest connection outside

К тому времени, когда вы его настроите, у вас должна быть эта конфигурация сети.

For your reference

Другим файлом будет XML-файл для гостей, который находится в /etc/libvirt/qemu/guest.xml - но не редактируйте его служит только для справки

This is sample network setup from one of my guest

This is my centos guest network configuration

Я не адепт в части CLI, но вот что я сделал, чтобы заставить это дело работать.

Надеюсь, это поможет.

3
ответ дан 28 November 2017 в 04:19

Другие вопросы по тегам:

Похожие вопросы: