Linux bridge가 primary interface일 때와 아닐때 차이...
Linux bridge가 너무 헷갈려서요..
현재 eth0 인터페이스만 있는데, 아래와 같이 /etc/network/interfaces 설정을 통해 eth0을 br0의 port로 만들었습니다.
그리고 virtual machine들을 띄워서 각 VM들마다 virtual interface인 vnet이 하나씩 할당 되었습니다.
#primary interface
auto br0
iface br0 inet static
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address xxx.xxx.xxx.xxx
netmask 255.255.255.0
network xxx.xxx.xxx.0
broadcast xxx.xxx.xxx.255
gateway xxx.xxx.xxx.xxx
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 168.126.63.1
질문 1. 이 때, 실제 패킷의 흐름은 어떻게 되나요? NIC -> Bridge -> eth0 혹은 vnet 이렇게 되는 것이 맞나요?
이번엔 primary interface를 그냥 eth0으로 유지하고, bridge를 만들어서 virtual interface들을 붙였습니다.
ifconfig 상에는, br0, eth0, vnet0, vnet1이 있고요. eth0은 public ip를 사용하고 있습니다.
br0에 vnet0, vnet1이 포함되도록 하였습니다.
질문 2. 첫 번째 설정과 비교하여서 실패 패킷의 흐름은 어떤 차이가 있나요?
질문 3. eth0을 bridge의 port로 포함시키는 것과 안 시키는 것은 어떤 차이가 있나요?
질문 4. 만약 primary interface인 eth0으로 패킷이 먼저 들어온다면 br0이 어떻게 패킷을 갖게 되나요? 아래와 같은 iptables 설정이 되어있는 것과 연관이 있는 건가요?
Chain FORWARD
pkts bytes target prot opt in out source destination
16 1386 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * br0 0.0.0.0/0 0.0.0.0/0
질문 4. 만약 br0과 vnet들에 private IP를 할당할 때와 public IP를 할당 할 때, 패킷 흐름의 차이가 있나요?
너무 궁금해서 병날 지경입니다. 인터넷을 뒤져도 속 시원한 설명을 찾을 수가 없네요.
그럼 답변 부탁드립니다(--)(__)(--)
댓글 달기