OpenWRT IPv6-Firewall-Umleitungsport

OpenWRT IPv6-Firewall-Umleitungsport

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-nat6Paket 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

verwandte Informationen