Поймите различия между двумя конфигурациями сети для MAAS

Я пытаюсь понять различия между двумя конфигурациями сети для MAAS. Насколько я понимаю, обе они решают одни и те же задачи, когда первая сеть подключается к Интернету, а вторая управляется MAAS. Вторая сеть затем настраивается для пересылки трафика через интерфейс общедоступной сети.

Несмотря на достижение тех же результатов, конфигурация выглядит несколько иначе, и в этом мое замешательство.

Первая конфигурация

Первая предложенная конфигурация взята со следующей страницы Wiki Cloudbase Solutions . Они предлагают простое /etc/network/interfaces с eth0 подключением к внешней сети и eth1, идущим во внутреннюю сеть и получающим статический адрес:

# The primary network interface (external)
auto eth0
iface eth0 inet dhcp

# The secondary NIC (used internal for MAAS)
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0

Соответствующие iptables правила затем сохраняются. в /etc/rc.local. Насколько я могу судить, это как-то связано с пересылкой сетевого трафика между eth1 и eth0.

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Вторая конфигурация

Вторая конфигурация взята из Ubuntu Openstack Installer для Multi Installer Guide . Их файл /etc/network/interfaces имеет больше сетевых интерфейсов, но похож на предыдущую конфигурацию, где eth0 подключается к внешней сети, а eth1 является внутренним:

# The loopback network interface
auto lo
iface lo inet loopback
  dns-nameservers 127.0.0.1
  pre-up iptables-restore < /etc/network/iptables.rules

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet manual

auto br0
iface br0 inet static
  address 172.16.0.1
  netmask 255.255.255.0
  bridge_ports eth1

Вопросы, которые всплывают в моей голове на данном этапе Почему lo имеет DNS-сервер имен и iptables применяется к нему? Почему в этом случае используется мостовое соединение?

Их правила iptable также выглядят по-разному и помещены в /etc/network/iptables.rules и предполагают, что это позволяет пересылку трафика:

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 172.16.0.1/24 ! -d 172.16.0.1/24 -j MASQUERADE
COMMIT

Резюме

Может кто-нибудь помочь объяснить, что они делают по-другому и почему?

Дайте мне знать, если этот вопрос слишком велик, и я могу разделить его на отдельные вопросы, но вначале я подумал, что это обеспечит больше контекста.

0
задан 18 April 2016 в 05:25

2 ответа

Обе конфигурации в значительной степени совпадают с некоторыми нюансами.

iface lo inet loopback
  dns-nameservers 127.0.0.1
  pre-up iptables-restore < /etc/network/iptables.rules

Эта конфигурация гарантирует, что даже если ваш кабель eth0 будет отключен во время загрузки, у вас все равно будут установлены DNS-преобразователь и правила брандмауэра (сложно избавиться от петлевого сетевого устройства, верно?). Конечно, в этом примере предполагается, что у вас будет локально запущенная служба распознавания DNS.

Не вижу проблем с настройкой мостового устройства. Эта конфигурация должна работать без проблем, но на самом деле не думайте, что она вам нужна в вашем случае, если только вы не планируете что-то, что будет использовать ее (например, виртуальные машины KVM).

В первом случае правила iptables написаны для сценария оболочки, поэтому их синтаксис выглядит иначе, чем /etc/network/iptables.rules, который следует использовать с iptables-restore.

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 172.16.0.1/24 ! -d 172.16.0.1/24 -j MASQUERADE
COMMIT

Здесь есть только одно правило, и оно позволяет маскировать подсеть 172.16.0.0/24.

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Вышеуказанные правила позволяют маскировать любую подсеть, идущую от eth1 через eth0, с использованием некоторой фильтрации.

Лично я предпочел бы пойти со смесью конфигураций выше.

0
ответ дан 18 April 2016 в 05:25

Первая конфигурация сети довольно понятна. Файл / etc / network / interfaces знаком всем и, конечно, при использовании MAAS необходима переадресация IP через iptables, чтобы обеспечить доступ к Интернету для узлов, управляемых MAAS.

Вторая конфигурация, отличная от части DNS и части br0, понятна. Часть DNS заключается в том, чтобы заставить сервер MAAS понять, что он сам размещает службы DNS. Эта строка может быть перемещена в /etc/resolve.conf, который включает другие конфигурации DNS. Если эта запись DNS не сделана, вы увидите эту ошибку во время начальной загрузки JUJU: https://github.com/Ubuntu-Solutions-Engineering/openstack-installer/issues/901

Однако Я не совсем уверен насчет моста br0. Эта конфигурация сети действительно работала?

0
ответ дан 18 April 2016 в 05:25

Другие вопросы по тегам:

Похожие вопросы: