OpenWRT IPv6 Firewall-Umleitungsport

580
jacob_pro

Kann jemand einen eingehenden Port für eine IPv6-Adresse in OpenWRT an einen anderen Port umleiten?

Es ist kein NAT beteiligt, sondern nur eine gewöhnliche globale IPv6-Adresse.

Was ich versuche zu tun ist, den Port von SSH für eine Reihe von Servern zu ändern; Interne Umleitung einer beliebigen Portnummer auf 22. Während auf Port 22 für das lokale Netzwerk bleiben.

ZB [2345 :: 1]: 5000 -> OpenWRT -> [2345 :: 1]: 22

Bei Verwendung des entsprechenden IPv4-NAT ist diese Konfiguration sehr einfach, da die Ports problemlos mit Portforwarding konfiguriert werden können.

Danke vielmals

1
Ich bin mir nicht sicher, warum Sie diese Server nicht so konfigurieren sollten, dass sie Port 5000 zusätzlich überwachen ... grawity vor 6 Jahren 0
^ und blockieren Sie einfach Port 22 für eingehende WAN-Verbindungen. confetti vor 6 Jahren 0
Ja, das wäre eine Alternative, aber wenn Sie es einmal auf dem Router tun, ist es vorzuziehen, viele Server zu konfigurieren jacob_pro vor 6 Jahren 0

2 Antworten auf die Frage

0
grawity

Sie können dieselbe DNAT-basierte Portweiterleitung auch in Linux ip6tables verwenden. Der Hauptunterschied besteht darin, dass Sie die Zieladresse nicht ändern . auf der anderen Seite, müssen Sie passen auf die vorhandene Adresse.

-t nat -I PREROUTING -d 2345::1 -p tcp --dport 5000 -j DNAT --to-destination [2345::1]:22 

Natürlich benötigen Sie mit IPv6 kein SNAT-basiertes Masquerading. Dies ist jedoch eine völlig separate Firewall-Regel, die einfach weggelassen werden kann.

Ich weiß nicht, wie dies in OpenWRT übersetzt wird (außer, dass Sie das kmod-ipt-nat6Paket möglicherweise benötigen ), aber ich vermute, dass es in etwa so ist:

config redirect option family ipv6 option src wan6 option src_dip 2345::1 option proto tcp option src_dport 5000 option target DNAT option dest_ip 2345::1 option dest_port 22 
vielen Dank. Ich habe kmod-ipt-nat6 installiert und den folgenden Befehl verwendet (ich habe es noch nicht mit der UCI-Konfiguration von openwrt arbeiten lassen): `ip6tables -t nat -I PREROUTING -d IPV6_ADDRESS -p TCP --dport 5000 j DNAT --to-destination [IPV6_ADDRESS]: 22` aber es funktioniert nur, wenn ich auch Port 22 vom WAN zum Gerät in der Firewall öffne. Dadurch bleibt mir das ursprüngliche Problem, dass 22 offen ist. Die Weiterleitung von 5000 funktioniert - aber wie kann ich den Zugriff auf nur 5000 und nicht auf 22 beschränken? jacob_pro vor 6 Jahren 0
soweit ich sehen kann, wird "config redirect" für ipv6 nicht unterstützt? https://github.com/openwrt/luci/issues/925 jacob_pro vor 6 Jahren 0
Sie können DNAT-ed-Verbindungen zu Port 22 (zuerst) zulassen und dann NEUE Verbindungen zu Port 22 in Ihrer FORWARD-Kette DROP. Tomek vor 6 Jahren 0
0
jacob_pro

Derzeit scheint es nicht möglich zu sein, "config redirect" für IPv6 in der Firewall von OpenWRT 3 zu verwenden.

Ich konnte es jedoch manuell mit den folgenden Regeln erreichen:

ip6tables -t nat -I PREROUTING -d IPV6_ADDRESS_HERE -p tcp --dport 5000 -j DNAT --to-destination [IPV6_ADDRESS_HERE]:22 ip6tables -A zone_wan_input -m conntrack --ctstate DNAT -j ACCEPT ip6tables -A zone_wan_forward -m conntrack --ctstate DNAT -j zone_(ZONE_NAME)_dest_ACCEPT