En primer lugar, tengo un dominio con dns configurado para apuntar a la dirección global de mi dispositivo que está configurado como estático con el prefijo global de mi ISP como xxxx:xxxx:xxxx:de01::3/64 en dhcpcd.conf.
Estoy usando el enrutador Openwrt como mi enrutador principal conectado a mi ISP ONT. Tengo conexión a Internet en IPv4 e IPv6 funcionando: puedo hacer ping o ping6 a Internet. Desde OpenWRT, mi ISP me da un Prefijo Delegado xxxx:xxxx:xxxx:de00/56.
Cuando reemplazo el enrutador OpenWRT por el enrutador de mi ISP, mi ISP (o él mismo, no lo sé) le da la dirección xxxx:xxxx:xxxx:de01::1/64.
Con el enrutador ISP, se puede acceder a mi servidor en la dirección xxxx:xxxx:xxxx:de01::3 desde Internet (mi teléfono móvil en 4G) cuando permito el tráfico desde el firewall, pero como veo el prefijo /56 de mi ISP, Estoy un poco confundido.
Intento poner la longitud de asignación de IPv6 en 64 y la sugerencia de asignación de IPv6 en 1 en la interfaz LAN, y ahora mi enrutador OpenWRT tiene la misma dirección que mi ISP le dio al enrutador original (xxxx:xxxx:xxxx:de01::1/64 en LAN1). Así que intento configurar una regla de tráfico de WAN 443 a LAN xxxx:xxxx:xxxx:de01::3 443 en el Firewall, pero mi servidor permanece inaccesible desde mi teléfono móvil.
Probablemente me estoy perdiendo algo porque soy nuevo en IPv6 y no puedo entender lo que sucede ya que pruebo muchas configuraciones sin lograr lo que quiero.
¿Alguien no puede ayudarme a comprender profundamente lo que está pasando?
Esta es mi configuración (OpenWRT 19.07):
red:
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fda0:71fe:ea0f::/48'
config interface 'lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ifname 'lan1'
option ip6class 'wan6'
option ip6assign '64'
option ip6hint '1'
config interface 'wan'
option ifname 'lan0'
option proto 'dhcp'
option vendorid 'neufbox_NB6V-MAIN-bypassed'
config interface 'wan6'
option ifname 'lan0'
option proto 'dhcpv6'
option reqprefix 'auto'
option reqaddress 'try'
cortafuegos:
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
config zone
option name 'lan'
list network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
config zone
option name 'wan'
list network 'wan'
list network 'wan6'
option output 'ACCEPT'
option mtu_fix '1'
option input 'REJECT'
option forward 'REJECT'
option masq '1'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option src_ip 'fc00::/6'
option dest_ip 'fc00::/6'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config rule
option name 'Support-UDP-Traceroute'
option src 'wan'
option dest_port '33434:33689'
option proto 'udp'
option family 'ipv4'
option target 'REJECT'
option enabled '0'
config include
option path '/etc/firewall.user'
config rule
option name 'server_80'
list proto 'tcp'
option src 'wan'
option src_port '80'
option dest 'lan'
option dest_port '80'
option target 'ACCEPT'
list dest_ip 'xxxx:xxxx:xxxx:de01::3'
option family 'ipv6'
config rule
option name 'Server_443'
list proto 'tcp'
option src 'wan'
option src_port '443'
option dest 'lan'
option dest_port '443'
option target 'ACCEPT'
list dest_ip 'xxxx:xxxx:xxxx:de01::3'
option family 'ipv6'
Respuesta1
Entonces, lo hago funcionar agregando reglas personalizadas en firewall.user. Para abrir un puerto específico en un dispositivo Lan específico con IPv6 global, hago:
ip6tables -t filter -I FORWARD 1 -p tcp --dport 443 -d xxxx:xxxx:xxxx:de01::3 -j ACCEPT