¿Alguien sabe cómo redirigir un puerto entrante a otro puerto para una dirección IPv6 en OpenWRT?
No hay NAT involucrada, solo una dirección IPv6 global ordinaria.
Lo que intento hacer es cambiar el puerto de SSH para varios servidores; redirigir un número de puerto arbitrario al 22 internamente. Mientras permanece en el puerto 22 para la red local.
Por ejemplo, [2345::1]:5000 -> OpenWRT -> [2345::1]:22
Cuando se utiliza el NAT IPv4 equivalente, esta configuración es muy sencilla porque los puertos se pueden configurar fácilmente con reenvío de puertos.
Muchas gracias
Respuesta1
De hecho, también puedes usar el mismo reenvío de puertos basado en DNAT en Linux ip6tables. La principal diferencia es que nocambiarla dirección de destino; por otro lado, es necesariofósforoen la dirección existente.
-t nat -I PREROUTING -d 2345::1 -p tcp --dport 5000 -j DNAT --to-destination [2345::1]:22
Por supuesto, con IPv6 no necesita enmascaramiento basado en SNAT, pero para empezar, esa es una regla de firewall completamente separada, por lo que puede simplemente omitirse.
No sé cómo se traduce esto en OpenWRT (excepto que es posible que necesites el kmod-ipt-nat6
paquete), pero sospecho que es algo como:
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
Respuesta2
Actualmente no parece posible utilizar "redireccionamiento de configuración" para IPv6 en el firewall 3 de OpenWRT.
Sin embargo, pude lograrlo manualmente usando las siguientes reglas:
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