나는 tunx의 ethx에 연결하는 호스트(동일한 서브넷에 있음)에 관계없이 다른 ethx 또는 tunx에 있는 다른 호스트(동일한 서브넷에 있음)를 볼 수(핑하고, IP가 연결되어 있음) 달성하고 싶습니다. 브리지로는 불가능해 보이는데 어떤 제안이 있습니까? (openvswitch와 같은 것이 아니라 간단하고 작은 것)
+-----------+
| BR0 | 10.11.12.x
172.16.1.y | | 172.16.1.x
--------|ETH2 TUN1|-------
| |
| | 172.16.1.x
10.11.12.y | TUN2|-------
--------|ETH1 |
+-----------+
아래의 경우에는 172.16.1.y에 연결된 br0에서 VM을 ping할 수 있습니다.
+-----------+
| BR0 |
172.16.1.y | | 172.16.1.x
--------|ETH2 TUN1|-------
| |
| | 172.16.1.x
| TUN2|-------
| |
+-----------+
10.11.12.y에 연결된 "brctl addif br0 eth1"을 사용하여 두 번째 eth 어댑터를 추가하는 경우에만 해당됩니다. 동일한 핑이 더 이상 작동하지 않습니다. 브리지 Mac이 새로 추가된 eth1s mac으로 변경되었고 "ifconfig br0 hw ether"를 사용하여 다시 eth2로 변경하면 172.16.1.y에 대한 연결이 다시 설정되었기 때문에 이것이 가능하다는 것을 알게 되었습니다.
+-----------+
| BR0 |
172.16.1.y | | 172.16.1.x
--------|ETH2 TUN1|-------
| |
| | 172.16.1.x
10.11.12.y | TUN2|-------
--------|ETH1 |
+-----------+
문제는 강제로 arp 업데이트를 시도하거나 'arping -I br0 -s 10.11.12.158 10.11.12.1'을 사용하여 전용 항목을 설정하려고 해도 10.11.12.y 또는 172.16.1로만 ping을 보내는 것처럼 보인다는 것입니다. y는 arp 테이블에 있습니다.
이론적으로 브리지를 통해 여러 서브넷을 브리지하는 것이 가능해야 합니까?
업데이트: vmware에 BR0 VM이 있는데 Linux Advanced Routing and Flow Control 메일링 리스트의 누군가가 vmware의 vswitch로 인해 eth1과 eth2가 다르게 동작할 수 있다고 말했습니다. 예를 들어. 내 구성이 이미 작동해야 합니다.
답변1
IP와 같은 라우팅 프로토콜의 서로 다른 서브넷을 브리징할 수 없습니다. 두 개 이상의 동일한 서브넷을 브리지할 수 있습니다. 두 개 이상의 서로 다른 서브넷 간에 라우팅할 수 있습니다.
서브넷 A의 컴퓨터가 서브넷 B의 컴퓨터에 연결할 수 있도록 하려면 이들 사이의 라우팅이 필요합니다. 다리는 도움이 되지 않습니다.