Назад | Перейти на главную страницу

KVM-мост для виртуальных машин не работает?

В настоящее время я настраиваю KVM с несколькими гостевыми виртуальными машинами. Я создал первую, но уже столкнулся с первой проблемой:

root@vm1:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 88.140.40.50: icmp_seq=2 Redirect Host(New nexthop: 88.140.40.1)
From 88.140.40.50: icmp_seq=3 Redirect Host(New nexthop: 88.140.40.1)

Итак, видимо, хост-машина настроена неправильно?

ХОСТ - / etc / network / interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
  address 88.140.40.50
  netmask 255.255.0.0
  gateway 88.140.40.1
  pointopoint 88.140.40.1
  bridge_ports eth0
  bridge_stp off
  bridge_fd 0
  bridge_hello 2
  bridge_maxage 12
  bridge_maxwait 0
  up route add -host 192.168.0.1 dev br0

192.168.0.1 - это ip гостевой виртуальной машины.

ХОСТ - iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:bootps 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  192.168.0.1          anywhere            
ACCEPT     all  --  anywhere             192.168.0.1         
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable 
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

ГОСТЬ - / etc / network / interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.0.1
  netmask 255.255.255.255
  gateway 88.140.40.50
  pointopoint 88.140.40.50

ГОСТЬ - /etc/resolv.conf

nameserver 88.140.40.50
nameserver 88.140.40.1

Вам не хватает некоторых ключевых моментов, касающихся сети, не относящихся строго к виртуализации.

Вам необходимо настроить маскарадинг (NAT) на хост-машине (в зависимости от дистрибутива ищите общее руководство по шлюзу), иначе это не сработает.

Я считаю, что с мостом вам все равно нужно включить пересылку с echo 1 > /proc/sys/net/ipv4/ip_forward (редактировать /etc/sysctl.conf чтобы это сохранялось при перезагрузке).

Кроме того, чтобы ответы из Интернета возвращались на вашу виртуальную машину, вам необходимо настроить NAT. NAT заставит Интернет видеть IP-адреса ваших виртуальных машин как общедоступный, чтобы пакеты могли вернуться обратно.

Странно, что у вас частный IP (192.168.0.1) и публичный IP (88.140.40.50). Вы добавляете NAT на свой брандмауэр? Не могли бы вы ping 88.140.40.50 чтобы проверить, работает ли ваша точка-точка?