MAAS에 대한 두 네트워크 구성 간의 차이점 이해

MAAS에 대한 두 네트워크 구성 간의 차이점 이해

MAAS에 대한 두 네트워크 구성의 차이점을 이해하려고 합니다. 내 이해는 두 가지 모두 첫 번째 네트워크가 인터넷에 연결되고 두 번째 네트워크가 MAAS에 의해 관리되는 동일한 작업을 수행한다는 것입니다. 그런 다음 두 번째 네트워크는 공용 네트워크 인터페이스를 통해 트래픽을 외부로 전달하도록 구성됩니다.

동일한 결과를 얻었음에도 불구하고 구성이 다소 다르게 보이기 때문에 혼란스럽습니다.

첫 번째 구성

첫 번째 제안 구성은 다음에서 나옵니다.Cloudbase 솔루션 Wiki 페이지. 그들은 외부 네트워크에 연결하고 /etc/network/interfaces내부 네트워크로 이동하여 고정 주소를 부여받는 간단한 방법을 제안합니다.eth0eth1

# 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 설치 프로그램 가이드. 해당 파일에는 더 많은 네트워크 인터페이스가 있지만 외부 네트워크에 연결되고 내부인 /etc/network/interfaces이전 구성과 유사합니다 .eth0eth1

# 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

이 단계에서 내 머리 속에 떠오르는 질문은 왜 loDNS 이름 서버가 있고 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

요약

다른 사람이 수행하는 작업과 그 이유를 설명하는 데 도움을 줄 수 있습니까?

이 질문이 너무 크다면 알려주세요. 질문을 여러 개로 나눌 수 있지만 처음에는 이것이 더 많은 맥락을 제공한다고 생각했습니다.

답변1

두 구성 모두 약간의 뉘앙스를 제외하면 거의 동일합니다.

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

이 구성을 사용하면 부팅하는 동안 eth0 케이블이 꺼져 있어도 DNS 확인자와 방화벽 규칙 세트가 유지됩니다(루프백 네트워크 장치를 제거하기 어렵죠?). 물론 이 예에서는 로컬에서 실행 중인 DNS 확인자 서비스가 있다고 가정합니다.

브리지 장치 설정에 문제가 없습니다. 이 구성은 문제 없이 작동해야 하지만 이를 사용할 항목(예: KVM 가상 머신)을 계획하지 않는 한 실제로 필요하다고 생각하지 않습니다.

첫 번째 경우 iptables 규칙은 쉘 스크립트용으로 작성되므로 해당 구문이 iptables-restore와 함께 사용해야 하는 /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

여기에는 단 하나의 규칙이 있으며 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까지 오는 서브넷은 일부 필터링과 함께 가장됩니다.

개인적으로 나는 위의 구성을 혼합하여 사용하는 것이 좋습니다.

답변2

첫 번째 네트워크 구성은 매우 명확합니다. /etc/network/interfaces 파일은 모든 사람에게 친숙하며 MAAS를 사용하는 동안 MAAS가 관리하는 노드에 인터넷을 제공하려면 iptables를 통한 IP 전달이 필요합니다.

DNS 부분과 br0 부분 이외의 두 번째 구성은 이해가 됩니다. DNS 부분은 실제로 MAAS 서버가 자신이 DNS 서비스를 호스팅하고 있음을 인식하도록 하는 것입니다. 해당 행은 다른 DNS 구성을 포함하는 /etc/resolve.conf로 이동될 수 있습니다. 이 DNS 항목이 작성되지 않으면 JUJU 부트스트랩 중에 다음 오류가 발생합니다.https://github.com/Ubuntu-Solutions-Engineering/openstack-installer/issues/901

그러나 브릿지 br0에 대해서는 잘 모르겠습니다. 이 네트워크 구성이 실제로 작동했습니까?

관련 정보