Furcsa VirtualBox bug 2 ethernet hálózattal

Egy ubuntus gép két hálózatra csatlakozik két ethernet kártyával. Fut rajta VirtualBoxban egy webszerver, ami nat-olva kap ip címet a virutalboxtól és portátirányítással érhető el 80-as portja (VboxManage).
De kívülről csak default gatewaynek beállított routerről lehet elérni a guesten futó webszervert, a másikról nem. Hiába van nyitva a port mindkét routeren és átirányítva a host gép megfelelő portjára, ami tovább átirányítja a forgalmat a virtuális gép 80-as portjára.
Belülről a host gép mindkét belső ip címéről el lehet érni a virtuális gép webszerverét. Minden belső gép csatlakozik mindkét hálózatra.

Hozzászólások

wireshark

Szerintem az egyik esetben valamelyik komponens nem jól NAT-ol, vagy valakinek hiányzik a routing táblájából valami. Az sem lehetetlen, hogy a megálmodott konfigurációnak eleve véres a torka, és nem is bug, hogy ez nem működik.

Két teljesen független internetelérés? NAT-tal? Stateful tűzfallal a routereken?
Például ha a kliens az internet felől az "A" routeren keresztül elérhető publikus IP-re próbál kapcsolatot felépíteni, miközben a választ nem arról az IP-ről (hanem a "B" router publikus címéről) kapja vissza, mit fog tenni a kliens? Összeállhat egy TCP session úgy, ha a SYN-ACK forrása nem azonos a SYN célcímével? Nem. Ezért emlegették itt az előbb a koncepciót és a WireSharkot. Megoldás: policy-based routing. Ezt megteheted a default gatewaynek kijelölt routeren (bizonyos feltételek szerinti route a "B" router felé), vagy magán az Ubuntun is.

Ha mégsem ez a topológia, akkor légy szíves, írd le a rendszert részletesen, ahogy egy hibaelhárításnál te is elvárnád. Milyen routerek, van-e az "A" és "B" routeren keresztül is elérhető publikus IP tartomány, van-e dinamikus routing, mi az Ubuntu routing táblája, hol és milyen NAT-ok vannak a rendszerben, milyen tűzfalszabályok vannak stb.

Mindkét router Openwrt-s. Két különböző internetszolgáltatóhoz csatlakoznak. A két router között nincs közvetlen kapcsolat. Nincs A és B routeren keresztül is elérhető IP tartomány. Ezt Openwrt routereken hol lehet beállítani? Tűzfal csak a routereken van.

"elérhető publikus IP-re próbál kapcsolatot felépíteni, miközben a választ nem arról az IP-ről (hanem a "B" router publikus címéről) kapja vissza"
Valószínűleg ez a probléma oka.