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

QEMU виртуальная сеть NAT

Я пытаюсь настроить виртуальную сеть, как описано Вот. Вот мои шаги:

ifup eth0 # uses DHCP
brctl addbr br0
ifconfig br0 up 192.168.0.1
kvm ... -device e1000,netdev=tap0 -netdev type=tap,id=tap0,sccript=/etc/qemu-ifup

где qemu-ifup делает

ifconfig tap0 0.0.0.0 promisc up
brctl addif br0 tap0

И наконец, внутри vm,

ifconfig eth0 192.168.0.2
route add default gw 192.168.0.1

Это позволяет мне пинговать 192.168.0.1 и 10.42.42.127 (IP-адреса хоста) изнутри гостя, а гостя - изнутри хоста.

Однако я не могу пинговать гостя изнутри другого гостя или любого другого IP-адреса за пределами хоста (например, 10.42.42.1 или 8.8.8.8).

Как мне это настроить?

Есть два вопроса:

1) Разрешили ли вы пересылку между br0 и eth0? Вы можете проверить это с помощью этой команды:

cat /proc/sys/net/ipv4/ip_forward

Если вы получили «0», вы должны исправить его на «1»:

echo "1" > /proc/sys/net/ipv4/ip_forward

Вы можете разрешить это в /etc/sysctl.conf навсегда.

2) У вас должны быть настройки NAT через iptables, например, например:

iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE