Wie kann ich einen Webserver hinter zwei Routern einrichten?

3391
tombull89

Mir ist klar, dass dies möglicherweise besser für ServerFault geeignet ist, aber dies ist mein Heimnetzwerk, das ich in einer nicht-professionellen Umgebung betreibe.

Zu Hause habe ich meinen Hauptrouter mit dem Internet verbunden, von dem der Hauptfamiliencomputer und der Laptop betrieben werden. Ich habe auch ein "Entwicklungs" -Netzwerk mit einer m0n0wall-Firewall in einer VM, um Internetdienste bereitzustellen. Ich möchte eine Website (und eventuell andere Dienste) auf einem der Computer im Dev-Netzwerk hosten, kann aber nicht herausfinden, wie ich den Port (über den Haupt-Router), die Firewall von m0n0wall und dann den Webserver durchläuft .

Der Datenverkehr müsste über die öffentliche IP-Adresse erfolgen, den Port 80 des Hauptrouters (192.168.2.1) passieren und dann über die WAN-Verbindung der m0n0wall-Box (192.168.2.2) aus der LAN-Verbindung (192.168.10.2) weitergeleitet werden ) und schließlich in den Server. Nachdem die Konfiguration gespeichert wurde, kann ich nicht trainieren, wenn sie nicht funktioniert. Ich kann die Site gut hinter dem Hauptrouter hosten. Es gibt eine Firewall-Regel auf m0n0wall, um Port 80-Verkehr von 192.168.2.1 durchzuleiten, aber es funktioniert einfach nicht.

Ich habe unten ein sehr einfaches Diagramm gezeichnet (leider ist für mich fortgeschrittenes Visio-Zeug derzeit schwarze Magie).

enter image description here

6
kleine Netzwerkfragen für den persönlichen Gebrauch sind Thema KronoS vor 13 Jahren 1
Können Sie von Ihrem Familiencomputer aus auf den Webserver zugreifen? Ich denke, du musst das erstmal zum Laufen bringen. Sobald dies funktioniert, sollte es leicht sein, den Belkin zum Laufen zu bringen. Zoredache vor 13 Jahren 0
Wie sieht Ihre Firewall-Regel in der m0n0wall aus? MaQleod vor 13 Jahren 0
@MaQleod - http://i.stack.imgur.com/sFCoJ.png. tombull89 vor 13 Jahren 0
@Zoredache - nein. Sieht aus wie ich dort anfange. tombull89 vor 13 Jahren 0
@ tombull: Beachten Sie, dass Firewall-Regeln für vorbeigehende Daten funktionieren. Sie leiten keine Daten weiter, die sie erhalten. Daher bezieht sich die Quell-IP auf die IP, die das Paket gesendet hat, das höchstwahrscheinlich das Internet ist. Zum Beispiel, wenn ich einen Webserver habe; dann würde mein Protokoll die IP des Besuchers für jede Anfrage und nicht die IP des Hauptrouters verraten. In Ihrem Haupt-Router sagten Sie "Port 80-Verkehr explizit nach M0n0wall machen", wodurch nur die Zieladresse als Firewall geändert wird. Deshalb landet sie nicht bei Ihrem Webserver. Warum benötigen Sie einen separaten Router und eine Firewall? Tom Wijsman vor 13 Jahren 0
@Tom, das verstehe ich jetzt. Der Router und der Hauptfamilien-PC gehören meinen Eltern, und die Firewall fungiert als Gateway für mein Entwicklungsnetzwerk. Wirklich, ich brauche es nicht, ich könnte es wahrscheinlich mit Subnetting tun (ich würde es vorziehen, Manipulationen mit dem Router zu vermeiden, * nur weil *) tombull89 vor 13 Jahren 0

2 Antworten auf die Frage

1
Tom Wijsman
  1. A separate IP range is unnecessary, this will work without it as the firewall sits between the cables.

  2. Your main router should forward to the web server and not to the firewall.

  3. Your firewall should accept any source address, the main router does not overwrite source address.

    This also allows access from your family machine.

  4. Your firewall should also allow traffic going to the other side.

  5. Use Can You See Me and Wireshark for more detailed troubleshooting.

Danke, Tom. Der Belkin hat eine 255.255.255.0-Netzmaske, so dass ich nicht einmal die Möglichkeit habe, auf 192.168.10.250 zu portforwardieren (das 192.168.2-Bit ist hartcodiert). Wie kann ich es direkt an den Webserver weiterleiten? tombull89 vor 13 Jahren 0
Ich glaube, ich habe meine IP-Adressierbarkeit überschätzt ... tombull89 vor 13 Jahren 0
@tombull: Eine andere Möglichkeit ist, den Port 80-Verkehr explizit von der externen IP der Firewall an die IP des Webservers in der Firewall-Konfiguration weiterzuleiten, aber ich weiß nicht, ob M0n0wall dies tun kann. Alles in den gleichen IP-Bereich zu stellen, könnte dieses Problem lösen ... Tom Wijsman vor 13 Jahren 1
@tombull: Wenn M0n0wall keine Pakete weiterleiten kann, müssen Sie sie alle in dasselbe Subnetz setzen oder einen DNS-Dienst ausführen, andernfalls hat der Belkin-Router keine Ahnung, wo sich der Webserver befindet. surfasb vor 13 Jahren 0
1
tombull89

Richtig, ich habe es endlich herausgefunden und habe es so bekommen, wie ich wollte. Anstelle der M0n0wall-Box, die Pakete zweimal weiterleitet, habe ich mich in geänderte Subnetze verschoben. Ich habe jetzt ein DD-WRT-basiertes Linksys E1000, das im "Client-Modus" fungiert, so dass es als "Client" für die Familie der drahtlosen Familie fungiert und über einen DHCP / DNS-Server verfügt, der die verdrahteten Verbindungen im Entwicklungsnetzwerk bereitstellt. Ich habe die Subnetzmaske am Belkin-Router und am DD-WRT von 255.255.255.0 in 255.255.252.0 geändert. Der Belkin ist auf 192.168.2.1 und DD-WRT auf 192.168.1.1. Maschinen in jedem Netzwerk können sich gegenseitig sehen. Wenn ich also eine Maschine in meinem Dev-Netzwerk mit einer statischen 192.168.2.x setze, kann der Belkin darauf weiter portieren.

Diagrammzeit: enter image description here

Ich habe keine Ahnung, ob m0n0wall Pakete weiterleiten kann, aber Subnetting scheint der einfachste Weg gewesen zu sein.

Ich kann Wolfram Alpha für benutzerfreundliche Subnetting-Informationen empfehlen .

Wenn jemand meint, ich solle meine Frage besser schreiben, dann sagen Sie bitte. tombull89 vor 13 Jahren 0
Sie können darauf hinweisen, dass Sie die Ports auf beiden Routern weiterleiten müssen, um vollständig auf den Development Web Server zu verweisen. KronoS vor 12 Jahren 1