Re: Как заставить работать NAT и контейнере? [message #37666 is a reply to message #37663] |
Thu, 08 October 2009 10:43   |
lithium
Messages: 78 Registered: April 2007
|
Member |
|
|
Проблема с отслеживанием соединений решилась указанием в /etc/sysconfig/vz.conf модуля ip_conntrack.
Однако, если туда же вставить ip_nat при старте CT получаем:
Warning: Unknown iptable module: ip_nat, skipped
правило $IPTABLES -t nat -A POSTROUTING [...]
выдает
iptables: Unknown error 4294967295
Вообщем, вернулись к тому, с чего начинали -- как работает iptables и как связаны модули, загружаемые на HN, файл /etc/vz.conf и конфиг конкретного контейнера неизвестно. Из pdf известны следующие гипотезы:
1. Модули, загруженные на HN должны быть доступны в контейнерах.
2. Если в параметре IPTABLES в конфиге контейнера прописаны модули, только эти модули будут доступны в контейнере.
3. Модули, указанные в /etc/sysconfig/vz.conf будут доступны во всех контейнерах.
Из http://forum.openvz.org/index.php?t=msg&goto=24735&& amp;srch=Unknown+iptable+module#msg_24735 имеем следующие уточнения:
1. Модули, указанные в /etc/sysconfig/vz.conf загружаются при старте сервиса vz.
2. С определенного момента параметр IPTABLES в конфиге контейнера не ограничивает список модулей, доступных в контейнере, т.е. потерял смысл.
3. Если в конфиге контейнера указан модуль, в котором не поставлен определенный бит, будет ругань при запуске, этот параметр лучше не использовать (см. предыдущий пункт.).
Экспериментальные данные:
1. При загруженных на HN модулях ip_nat и iptable_nat и загрузке правила в таблицу nat в контейнере получаем сообщения, что такой таблицы нет, т.е. явнеое противоречие с теоретическими данными или баг.
2. Ругань на модуль (ip_nat) происходит и при указании его в параметре IPTABLES в vz.conf, т.о. из вышесказанного получается, что модули в vz.conf добавлять не надо (я не помню что там было по дефолту, и было ли, но на текущие модули ругани нет, значит они с нужным битом и их можно оставить).
3. При загруженном модуле ip_conntrack и без указания его в vz.conf отслеживание соединений не происходит. Налицо явное противоречение в исходных данных или баг.
Вообщем, у меня в голове каша, нет целостной и непротиворечивой картины, как это все устроено и как настраивать чтобы работало (очень желательно не переносить настройку (загрузку) модулей для конкретного контейнера из CT.mount -скрипта в HN-специфичные файлы, чтобы не было привязки контейнера к HN при переносе или бэкапе/восстановлении).
В связи с вышеизложенным просьба к разработчикам набросать картину устройства этого хозяйства в двух словах, на основе которой можно было бы сделать страницу в wiki и понять самому, как это все настраивать, чтобы работало.
|
|
|