Weiß jemand, wie man einen eingehenden Port für eine IPv6-Adresse in OpenWRT auf einen anderen Port umleitet?
Es ist kein NAT beteiligt, nur eine gewöhnliche globale IPv6-Adresse.
Ich versuche, den SSH-Port für eine Reihe von Servern zu ändern. Dabei leite ich intern eine beliebige Portnummer auf 22 um. Für das lokale Netzwerk bleibe ich dabei auf Port 22.
Z. B. [2345::1]:5000 -> OpenWRT -> [2345::1]:22
Bei Verwendung des entsprechenden IPv4-NAT ist diese Konfiguration sehr einfach, da die Ports problemlos mit Portweiterleitung konfiguriert werden können.
Vielen Dank
Antwort1
Sie können die gleiche DNAT-basierte Portweiterleitung auch in Linux ip6tables verwenden. Der Hauptunterschied besteht darin, dass Sie nichtänderndie Zieladresse; andererseits müssen Sieübereinstimmenan der bestehenden Adresse.
-t nat -I PREROUTING -d 2345::1 -p tcp --dport 5000 -j DNAT --to-destination [2345::1]:22
Natürlich benötigen Sie bei IPv6 keine SNAT-basierte Masquerading-Funktion, aber das ist ohnehin eine völlig separate Firewall-Regel und kann daher einfach weggelassen werden.
Ich weiß nicht, wie sich dies auf OpenWRT übertragen lässt (außer, dass Sie möglicherweise das kmod-ipt-nat6
Paket benötigen), aber ich vermute, es lautet etwa:
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
Antwort2
Derzeit scheint es nicht möglich zu sein, „Config Redirect“ für IPv6 in der Firewall 3 von OpenWRT zu verwenden.
Ich konnte es jedoch manuell erreichen, indem ich die folgenden Regeln anwandte:
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