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

Мостовая сеть Debian между виртуальными машинами

Я установил два контейнера linux (lxc) на сервере debian squeeze, поэтому среда выглядит следующим образом:

Физический сервер: 192.168.2.200 Контейнер Linux 1: 192.168.2.201 Контейнер Linux 2: 192.168.2.202 Мост между физическим сервером и контейнерами: 10.0.0.100

Я создал мост между физическим сервером и контейнерами lxc, используя пакеты parprouted, uml-utilities и bcrelay.

У меня есть сценарий в /etc/network/if-up.d, который выполняется с помощью команды post-up. Ниже приводится содержание этого сценария:

brctl addbr br0
tunctl -t tap0
brctl addif br0 tap0
ip addr add 10.0.0.100/32 dev br0
ip link set br0 up
parprouted eth0 br0
bcrelay -d -i br0 -o eth0
# Linux container 1
route add -host 192.168.2.201 dev br0
# Linux container 2
route add -host 192.168.2.202 dev br0
sysctl net.ipv4.ip_forward=1

Все идет нормально. Контейнеры Linux могут без проблем получать доступ к Интернету, а физический сервер может пинговать и ssh для обоих контейнеров Linux. Контейнеры Linux могут пинговать физический сервер и использовать ssh.

Проблема в том, что я не могу получить доступ к контейнеру Linux 1 из контейнера 2 Linux и наоборот. Они не могут пинговать друг друга, и они не могут отправлять друг другу ssh.

Я очень близок к этому.

Что еще мне нужно, чтобы контейнеры Linux общались друг с другом?

Заранее спасибо!

Ура.

Похоже, есть проблема с ядром Squeeze по умолчанию (2.6.32).

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