![브리지에 두 번째 인터페이스를 추가한 후 나가는 가장 무도회 주소가 변경됩니다.](https://linux55.com/image/61631/%EB%B8%8C%EB%A6%AC%EC%A7%80%EC%97%90%20%EB%91%90%20%EB%B2%88%EC%A7%B8%20%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%9C%20%ED%9B%84%20%EB%82%98%EA%B0%80%EB%8A%94%20%EA%B0%80%EC%9E%A5%20%EB%AC%B4%EB%8F%84%ED%9A%8C%20%EC%A3%BC%EC%86%8C%EA%B0%80%20%EB%B3%80%EA%B2%BD%EB%90%A9%EB%8B%88%EB%8B%A4..png)
실제로 다음과 같은 구성이 있습니다.
extrouter(192.168.1.1) <- wifi -> [eth2 (192.168.1.11) Centos 6/6 기반 호스트 br0 (172.22.5.254)]
br0에는 가상 머신(kvm)의 두 Tap 인터페이스(tap0/172.22.5.1 tap1/172.22.5.2)가 포함되어 있으며 VM 내의 gw는 172.22.5.254입니다.
br0에 연결된 VM이 하나만 있으면 모든 것이 잘 작동합니다. VM 192.168.1.1에서 ping을 실행할 수 없습니다. eth2의 tcpdump는 발신 주소로 192.168.1.11을 표시하며 가장 무도회는 예상대로 작동합니다. 그러나 두 번째 가상 머신을 추가하면(가상 머신의 순서는 중요하지 않음) 나가는 주소가 172.22.5.254로 변경됩니다. 브리지에서 VM 중 하나를 제거한 후 모든 VM이 반환되어 다시 작업을 시작합니다.
Bridge에는 자체 MAC 주소가 있으므로 인터페이스를 추가해도 아무 것도 변경되지 않습니다.
어떤 아이디어가 잘못될 수 있나요?
업데이트 1
# brctl show br0
bridge name bridge id STP enabled interfaces
br0 8000.026adbaf3564 no tap0
tap1
# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.22.5.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth2
업데이트 2
이제 나는 왜 다음과 같은 발신 주소를 받는지 이해합니다.
POSTR: IN= OUT=br0 PHYSIN=tap0 PHYSOUT=tap1 SRC=172.22.5.1 DST=192.168.1.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=59404 SEQ=1
라우팅 문제인 것 같습니다. 그런데 어디...