OpenWrt permite que a regra IPv6 acesse um servidor com IPv6 global na área local

OpenWrt permite que a regra IPv6 acesse um servidor com IPv6 global na área local

Primeiro de tudo, eu tenho um domínio com DNS configurado para apontar para o endereço global do meu dispositivo que está definido como estático com o prefixo gloabl do meu ISP como xxxx:xxxx:xxxx:de01::3/64 em dhcpcd.conf.

Estou usando o roteador Openwrt como meu roteador principal conectado ao meu ISP ONT. Tenho conexão com a internet em IPv4 e IPv6 funcionando: consigo fazer ping ou ping6 para internet. No OpenWRT, meu ISP me fornece um prefixo delegado xxxx:xxxx:xxxx:de00/56.

Quando substituo o roteador OpenWRT pelo meu roteador ISP, meu ISP (ou ele mesmo, não sei) fornece a ele o endereço xxxx:xxxx:xxxx:de01::1/64.

Com o roteador do ISP, meu servidor pode ser acessado no endereço xxxx:xxxx:xxxx:de01::3 da Internet (meu celular em 4G) quando eu permito o tráfego do firewall, mas como vejo o prefixo /56 do meu ISP, eu estou um pouco confuso.

Tento colocar o comprimento da atribuição IPv6 em 64 e a dica de atribuição IPv6 em 1 na interface lan, e agora meu roteador OpenWRT tem o mesmo endereço que meu ISP fornece ao roteador original (xxxx:xxxx:xxxx:de01::1/64 em LAN1). Então tento configurar uma regra de tráfego de WAN 443 para LAN xxxx:xxxx:xxxx:de01::3 443 no Firewall, mas meu servidor permanece inacessível pelo meu celular.

Provavelmente estou faltando alguma coisa porque sou novo no IPv6 e não consigo entender o que está acontecendo, pois testo muitas configurações sem conseguir o que desejo.

Alguém não consegue me ajudar a entender profundamente o que está acontecendo?

Esta é a minha configuração (OpenWRT 19.07):

rede:

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'

firewall:

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'

Responder1

Então, faço funcionar adicionando regras personalizadas em firewall.user. Para abrir uma porta específica em um dispositivo Lan específico com IPv6 Global eu faço:

ip6tables -t filter -I FORWARD 1 -p tcp --dport 443 -d xxxx:xxxx:xxxx:de01::3 -j ACCEPT

informação relacionada