Я экспериментировал с виртуализацией LXC, чтобы запускать виртуальные машины на выделенном сервере, но у меня возникли проблемы с правильной настройкой сети.
Я использую мостовую сеть veth, как указано здесь: http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/ (руководство, которое я использовал для настройки контейнера LXC)
Когда я запускаю контейнер, он работает нормально, имеет доступ к Интернету и принимает входящие соединения на свой собственный IP-адрес. Однако, как только я его запустил, сеть на моем хост-компьютере (выделенном сервере) полностью отключилась и не вернется, пока сервер не будет перезагружен.
Единственное, что я могу думать о том, что могло бы вызвать это, - это неправильно настроенные параметры моста, однако я не совсем уверен, какие должны быть правильные. Любой совет о том, как я могу это перенастроить? Спасибо.
И хост-узел, и сам контейнер работают под управлением Debian Squeeze с обновленными до последних версий пакетами.
Конфигурация сети хост-узла (выделенного сервера) (/ etc / network / interfaces):
allow-hotplug eth0
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
bridge_stp off
bridge_maxwait 0
address 46.105.102.29
netmask 255.255.255.0
network 46.105.102.0
broadcast 46.105.102.255
gateway 46.105.102.254
Конфигурация сети контейнера LXC (/ etc / network / interfaces):
auto eth0
iface eth0 inet static
address 94.23.153.205
netmask 255.255.255.0
broadcast 94.23.153.205
post-up route add 46.105.102.254 dev eth0
post-up route add default gw 46.105.102.254
post-down route del 46.105.102.254 dev eth0
Конфигурация сети контейнера (из конфигурационного файла LXC):
lxc.utsname = paradox
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 02:00:00:ba:47:a0
lxc.network.ipv4 = 94.23.153.205
Я создал множество контейнеров squeeze / wheezy по той же инструкции (http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/)
Единственное, что я делаю иначе, это то, что я использую виртуальный сетевой мост. (И я думаю, проблема в том, что у вас есть мост к сетевой карте, а не к виртуальному устройству)
Добавьте что-то вроде этого в свой / etc / network / interfaces (используя свои собственные номера):
#VLAN 5
auto eth0.5
iface eth0.5 inet manual
vlan_raw_device eth0
auto vzbr5
iface vzbr5 inet static
address 10.11.15.1
netmask 255.255.255.0
network 10.11.15.0
broadcast 10.11.15.255
bridge_maxwait 0
bridge_ports none
post-up /usr/sbin/brctl addif vzbr5 eth0.5
post-up /sbin/ifconfig eth0.5 up
затем
sudo ifup vzbr5
После этого используйте vzbr5 как сетевое устройство.
Пожалуйста, посмотрите полная инструкция.
Вы хотите поместить статический адрес в контейнеры / etc / network / interfaces или в файл конфигурации, но не в оба. Лично я предпочитаю устанавливать его в / etc / network / interfaces.
Вы также можете удалить, поскольку файл конфигурации заботится о шлюзе:
post-up route add 46.105.102.254 dev eth0
post-up route add default gw 46.105.102.254
post-down route del 46.105.102.254 dev eth0
Почему вы выбрали allow-hotplug eth0
на вашем хосте? Обычно в этом нет необходимости. Также дважды проверьте адрес шлюза и любые настройки брандмауэра на шлюзе.
Кажется, вы снова подключаете адаптер. ..
У вас есть апатер на выделенном сервере, который подключен к мосту? Мне было бы любопытно, что будет, если запустить второй контейнер?
Вместо маршрутизации с использованием таких слов, как dev и eth0, я хотел бы взглянуть на кое-что для управления виртуальными сетями, особенно если вы также согласны с решением NAT. На ливбвирте брали?