Wie kann der Router zwischen zwei verschiedenen internen Netzwerken in Virtualbox konfiguriert werden?

1247
Balázs Izsóf

Ich möchte dieses Netzwerk in Virtualbox aufbauen:

enter image description here

Ich benutze OpenBSD für Router, dieses Betriebssystem ist ziemlich einfach und gut zu konfigurieren, jedoch habe ich immer noch ein Problem. Router mit dem Namen Router02 kann über Router01 auf das Internet zugreifen, und Geräte im LAN-Netzwerk können mit Router02 kommunizieren. In Router02 geschieht also etwas, daher kann das LAN-Netzwerk nicht über Router01 auf das Netzwerk zugreifen. Ich möchte auch vom LAN-internen Netzwerk aus auf das Netzwerk zugreifen und später eine wechselseitige Kommunikation zwischen diesen beiden Subnetzen haben. Ich schätze, das Problem liegt in der pf.conf-Datei, kann sie aber nicht finden.

router01 verfügt über zwei NICs:

  • em0 -> NAT;
  • em1 -> interne Karte (DMZ);

/etc/hostname.em1

192.168.10.1 255.255.255.0 

/etc/hostname.em0

dhcp 

/etc/pf.conf

pass out on em0 inet from 192.168.10.0/24 to any flags S/SA nat to (em0) round-robin pass out on em0 inet from 192.168.100.0/24 to any flags S/SA nat to (em0) round-robin 

Router02 verfügt über zwei NICs:

  • em0 -> interne Karte (DMZ);
  • em1 -> interne Karte (LAN genannt);

/etc/hostname.em1

192.168.100.1 255.255.255.0 

/etc/hostname.em0

192.168.10.2 255.255.255.0 

/ etc / mygate

192.168.10.1 

/etc/pf.conf

pass out on em0 inet from 192.168.100.0/24 to 192.168.10.1/24 

(Ich möchte noch keine komplizierte Konfiguration, nur um alle Pakete zu übergeben.)

0
Sie sollten NAT auch auf Router02 verwenden. So wie es jetzt ist, senden Sie Pakete aus em0 von Router02 mit Quelladressen im Bereich 192.168.100.0/24. Wahrscheinlich wissen der Windows-Server und der Router01 nicht, wohin die Antworten weitergeleitet werden sollen. Daher gibt es keine Kommunikation. Wenn Sie kein NAT auf Router02 möchten, müssen Sie die Routing-Tabellen von Router01 und Windows-Server bearbeiten. gmelis vor 7 Jahren 0
Tatsächlich ist es nicht nur so, dass sie nicht wissen, wohin die Antworten gesendet werden sollen, sie werden die Pakete wahrscheinlich nicht einmal bestätigen, da sie nicht an sie gerichtet sind. gmelis vor 7 Jahren 1

1 Antwort auf die Frage

0
Zé Loff

Wenn Sie die Routing-Tabelle auf router01 überprüfen (mit oder route showoder netstat -r), werden Sie feststellen, dass der Datenverkehr für 192.168.10.0/24 durchgeht em1und alles andere durch die Standardroute geht, die auf dhclienton gesetzt ist em0. Wenn router01 ein Paket von 192.168.100.0/24 erhält, em1antwortet es auf, em0da für dieses Subnetz kein Eintrag in der Routing-Tabelle vorhanden ist. Es wird also die Standardroute verwendet. Sie können dies leicht überprüfen, indem Sie z

$ route get 192.168.100.1 

auf router01. Notieren Sie das Ziel und den Schnittstellennamen in der Antwort.

Router02 kann über Router01 auf das Internet zugreifen, da in diesem Fall Anforderungen von der DMZ-Schnittstelle an Router2 (192.168.10.2) stammen und sich in demselben Subnetz befinden wie em1auf Router01. Wenn router01 antwortet, antwortet er also, em1weil dies die Route für 192.168.10.0/24 ist.

Sie haben zwei mögliche Lösungen: Entweder verwenden Sie NAT auf Router02 (dh alle Anfragen vom LAN erreichen Router01 mit 192.168.10.2 als Quelladresse), was zwar funktioniert, aber zusätzliche Last auf Router02 bedeutet, oder Sie tun nur das logischere Fügen Sie eine Route zu Ihrem LAN auf router01 hinzu, damit es weiß, dass der Verkehr in dieses Subnetz durch router02 geleitet werden muss:

# route add 192.168.100.0/24 192.168.10.2 

Sie können dies dauerhaft machen, indem Sie die folgende Zeile hinzufügen /etc/hostname.em1:

!route add 192.168.100.0/24 192.168.10.2