브리지에 두 번째 인터페이스를 추가한 후 나가는 가장 무도회 주소가 변경됩니다.

브리지에 두 번째 인터페이스를 추가한 후 나가는 가장 무도회 주소가 변경됩니다.

실제로 다음과 같은 구성이 있습니다.

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 

라우팅 문제인 것 같습니다. 그런데 어디...

관련 정보