1 Дебиан 6.x

1 Дебиан 6.x

Я хочу настроить простую подсеть гостевых виртуальных машин KVM/QEMU, размещенных на одном хосте (Fedora 19) для целей тестирования. Подсеть будет содержать 3 сервера:

1 Дебиан 6.x

eth0 ip: 10.0.0.7 eth1 ip: 10.0.2.1

2 Дебиан 7.x

eth0 ip: 10.0.2.2

2 CentOS 6.x

eth0 ip: 10.0.2.3

и (возможно) несколько клиентов.

Идея состоит в том, чтобы смоделировать подсеть, в которой только одна виртуальная машина (№ 1 из приведенного выше) подключена к сети WAN и служит шлюзом/маршрутизатором для остальных.

В настоящее время я экспериментирую с установкой, основанной на описанной здесь:

http://csortu.blogspot.com/2009/12/building-virtual-network-with-qemu.html

Но на данный момент, похоже, не удается обеспечить подключение к WAN другим виртуальным машинам, кроме #1.

У меня два вопроса: 1. Есть ли более простое решение? 2. (если нет) как заставить другие виртуальные машины подключаться к внешнему миру, используя виртуальную машину №1 в качестве шлюза.

P.S. Наверное, стоит упомянуть, что все виртуальные машины подключаются друг к другу, но доступ к WAN возможен только на #1.

EDIT: Как и просили, вот полная конфигурация сети.

ХОСТ: Fedora 19 x86-64, напрямую подключенная к моему домашнему маршрутизатору (10.0.0.1) в сети 10.0.0/24 (выводятся только соответствующие интерфейсы)

3: wlp12s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 0c:60:76:64:c5:9d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.3/28 brd 10.0.0.15 scope global wlp12s0
   valid_lft forever preferred_lft forever
inet6 fe80::e60:76ff:fe64:c59d/64 scope link 
   valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
link/ether 2e:47:f7:fc:f2:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
   valid_lft forever preferred_lft forever

Виртуальные машины:

1 - Debian 6 amd64 с двумя настроенными сетевыми картами (одна для доступа к моей домашней сети через HOST, а вторая для внутренней подсети 10.0.2/24 только для виртуальных машин)

Вот команда запуска (я изменил конфигурацию сети пользователя QEMU по умолчанию, чтобы она отражала мою домашнюю сеть, и перенаправил порт HOST 2222 для доступа к порту 22-ssh на ГОСТЕ)

qemu-system-x86_64 -cpu host -enable-kvm --name Debian6-amd64 -hda VMs/Debian6/sda.img -hdb VMs/Debian6/sdb.img -net nic,vlan=1 -net user,vlan=1,hostfwd=tcp::2222-:22,net=10.0.0.0/24,dhcpstart=10.0.0.7 -net nic,vlan=2,macaddr=52:54:00:00:02:01 -net socket,vlan=2,listen=localhost:1234 -m 512 -boot c -nographic

а вот и конфиги интерфейса:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.7/24 brd 10.0.0.255 scope global eth0
inet6 fe80::5054:ff:fe12:3456/64 scope link 
   valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:00:02:01 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.1/24 brd 10.0.2.255 scope global eth1
inet6 fe80::5054:ff:fe00:201/64 scope link 
   valid_lft forever preferred_lft forever

2 - Debian 7 amd64 с одной настроенной сетевой картой (внутренняя подсеть 10.0.2/24)

Команда запуска:

qemu-system-x86_64 -cpu host -enable-kvm --name Debian7-amd64 -hda VMs/Debian7/sda.img -hdb VMs/Debian7/sdb.img -net nic,vlan=2,macaddr=52:54:00:00:02:02 -net socket,vlan=2,connect=localhost:1234 -m 512 -boot c -nographic

и конфигурация интерфейса

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:00:02:02 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.2/24 brd 10.0.2.255 scope global eth0
inet6 fe80::5054:ff:fe00:202/64 scope link 
   valid_lft forever preferred_lft forever

3 - CentOS 6 x86-64 с одной настроенной сетевой картой (внутренняя подсеть 10.0.2/24)

Команда запуска:

qemu-system-x86_64 -cpu host -enable-kvm --name CentOS6-x86_64 -hda VMs/CentOS6/sda.img -hdb VMs/CentOS6/sdb.img -net nic,vlan=2,macaddr=52:54:00:00:02:03 -net socket,vlan=2,connect=localhost:1234 -m 512 -boot c -nographic

и конфигурация интерфейса

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:00:02:03 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.3/24 brd 10.0.2.255 scope global eth0
inet6 fe80::5054:ff:fe00:203/64 scope link 
   valid_lft forever preferred_lft forever

решение1

Настроена ли виртуальная машина Debian6 на пересылку IP-пакетов?

Настроили ли вы маршруты по умолчанию на двух других виртуальных машинах, указывающие на виртуальную машину Debian 6?

Если да, можете ли вы попробовать изменить внутреннюю локальную сеть на другую крупную подсеть, отличную от 10.xxx, например, 192.168.1.x/24?

После использования новой внутренней подсети вам потребуется настроить маршрут к внутренней подсети 192.168.1.x на вашем интернет-маршрутизаторе, указывающий на виртуальную машину Debian6.

Связанный контент