Wie portiere ich IPv6 in m0n0wall?

1696
Ian Boyd

Wie portiere ich IPv6-Pakete in m0n0wall?

Zum Beispiel möchte ich den an Port 443 meines Routers ankommenden Datenverkehr an eine andere IPv6-Adresse weiterleiten:

  • Schnittstelle : WAN
  • Protokoll : TCP
  • Externer Portbereich : 443
  • Zieladresse : 2607: f8b0: 4009: 801 :: 1053
  • Zielhafenbereich : 443
  • Beschreibung : https geht an einen sicheren Server

Oder für andere Arten von Dienstleistungen:

  • Schnittstelle : WAN
  • Protokoll : TCP + UDP
  • Externer Portbereich: 3784
  • Zieladresse : 2607: f8b0: 4009: 801 :: 1058
  • Zielhafenbereich : 3784
  • Beschreibung : Ventrilo

IPv6 macht NAT unnötig; aber wie portiere ich weiter?


Bonus-Frage

Wie portiere ich IPv4 in m0n0wall?

Zum Beispiel möchte ich den an Port 443 ankommenden Datenverkehr an eine andere IPv4-Adresse weiterleiten:

  • Schnittstelle : WAN
  • Protokoll : TCP
  • Externer Portbereich : 443
  • Zieladresse : 74.125.225.53
  • Zielhafenbereich : 443
  • Beschreibung : https geht an einen sicheren Server

Oder für andere Arten von Dienstleistungen:

  • Schnittstelle : WAN
  • Protokoll : TCP + UDP
  • Externer Portbereich: 3784
  • Zieladresse : 74.125.225.58
  • Zielhafenbereich : 3784
  • Beschreibung : Ventrilo

Ich weiß, wie man NAT zu einer privaten internen Adresse macht, aber meine Server stehen nicht hinter einem NAT-Proxy - sie sind direkt mit dem Internet verbunden, und zwar jeweils mit einer öffentlich routbaren IPv4-Adresse, z

74.125.225.53 

Ich möchte, dass die Leute nur eine Adresse kennen müssen, zB:

superuser.com -> 64.34.119.12 

habe aber mein m0n0wall router die pakete an die entsprechende maschine weitergeleitet.

Überflüssiges Bonusgeplapper

Ich habe einen Webserver, der über IPv6 direkt mit dem Internet verbunden ist und Port 80 überwacht.

In den alten Tagen würde ich den Leuten eine Adresse geben:

superuser.com

und diese Adresse wird zu einem Router aufgelöst, der Pakete an die entsprechende Maschine weiterleitet.

Mit dem Aufkommen von IPv6 und der Entfernung von NAT ist es jedoch nicht mehr möglich, Personen nach dem Adressnamen zu geben, z.

  • http://superuser.com
  • irc://superuser.com
  • ftp://superuser.com
  • news://superuser.com
  • https://superuser.com
  • ventrilo://superuser.com
  • torrent://superuser.com

funktioniert nicht Das liegt daran, dass die superuser.comAuflösung in dieselbe IPv6-Adresse erfolgt, z. B .:

2607:f8b0:4009:801::100e 

Und die anderen Server befinden sich an anderen Adressen:

http -> 2607:f8b0:4009:801::1031 irc -> 2607:f8b0:4009:801::1041 ftp -> 2607:f8b0:4009:801::1059 news -> 2607:f8b0:4009:801::1026 https -> 2607:f8b0:4009:801::1053 ventrilo -> 2607:f8b0:4009:801::1058 torrent -> 2607:f8b0:4009:801::1097 

Ein Benutzer muss sich nun also andere Adressnamen merken, zB:

www.superuser.com wwws.superuser.com ventrilo.superuser.com torrent.superuser.com irc.superuser.com news.superuser.com 

anstatt der einzigen:

superuser.com 

für alles.

Ich möchte nur einen Namen kennen . Ich will das wieder zurück. Wie bekomme ich es zurück? Wie kann ich in IPv6 portforwarden?


Update 2 :

Ein weiteres Problem ist, wenn mehrere Hostnamen derselbe Server sein sollen

http://www.superuser.com:80 http://m.superuser.com:80 http://mobile.superuser.com:80 http://english.superuser.com:80 http://spanish.superuser.com:80 http://latin.superuser.com:80 ... 

Was ich wirklich will, ist nur:

*.superuser.com 

an dieselbe Adresse auflösen und :80an den Server weiterleiten.

2

2 Antworten auf die Frage

1
Tonny Pedersen

I think what you are looking for could be a load balancer. But i dont think m0n0wall has one.

Ein Lastverteiler könnte den Trick tun; solange wir wissen, dass ich immer nur den gleichen Computer verwenden möchte. Ian Boyd vor 12 Jahren 0
1
Nick Whaley

Erster Teil

Es gibt kein NAT in IPv6 (oder sollte es zumindest nicht sein). Sie werden also keine Ports weiterleiten. Sie haben ein paar Optionen, um das Äquivalent der in IPv4 gewohnten Port-Übersetzung durchzuführen:

  1. Verwenden Sie einen identischen Port auf dem Zielcomputer (der so aussieht, als würden Sie es tun), damit der Port nicht übersetzt werden muss. Sie müssen lediglich eine Firewall-Regel erstellen, um den Zugriff auf diesen Port zu ermöglichen. Es ist auch keine Übersetzung der Adresse erforderlich.
  2. Verwenden Sie einen Port-Proxy, um TCP- oder UDP-Ports und -Adressen zu übersetzen. Statisches NAT im Wesentlichen.

Bonus Teil 1

Gleiche Situation hier in IPv4 ohne NAT wie in der obigen Antwort in Bezug auf IPv6 ohne NAT.

Bonus Teil 2

Ich empfehle kein Routing basierend auf Port. Das Routing basierend auf der Portnummer widerspricht den Paradigmen des Networking. Das Routing sollte auf der Adresse basieren. Und diese Adresse kann auf DNS basieren. Es gibt Erweiterungen für DNS, um Dienste und Ports anzugeben, die als SRV-Einträge bezeichnet werden. Sie sind jedoch nicht für alle Server (wie HTTP oder SSH) vorhanden.

Wenn Sie auf Port routen müssen, können Sie wiederum Port-Proxys verwenden, um bestimmte TCP- oder UDP-Dienste auf andere Maschinen umzuleiten.

Endeffekt:

Nicht nach Hafen routen; Route basierend auf der Adresse. Sorry, aber das bedeutet, dass Sie für jeden Dienst separate DNS-Einträge benötigen.