Во-первых, у меня есть домен с DNS, настроенным на указание на глобальный адрес моего устройства, который установлен как статический с глобальным префиксом моего интернет-провайдера xxxx:xxxx:xxxx:de01::3/64 в dhcpcd.conf.
Я использую маршрутизатор Openwrt в качестве основного маршрутизатора, подключенного к ONT моего провайдера. У меня есть подключение к Интернету в IPv4 и IPv6: я могу пинговать или пинговать6 в Интернет. Из OpenWRT мой провайдер дал мне Prefix Delegated xxxx:xxxx:xxxx:de00/56.
Когда я заменяю маршрутизатор OpenWRT на маршрутизатор моего интернет-провайдера, мой интернет-провайдер (или он сам, я не знаю) присваивает ему адрес xxxx:xxxx:xxxx:de01::1/64.
С маршрутизатором интернет-провайдера мой сервер доступен по адресу xxxx:xxxx:xxxx:de01::3 из интернета (мой мобильный телефон в 4G), когда я разрешаю трафик из брандмауэра, но поскольку я вижу префикс /56 от моего интернет-провайдера, я немного сбит с толку.
Я пытаюсь установить длину назначения IPv6 на 64 и подсказку назначения IPv6 на 1 на интерфейсе lan, и теперь мой маршрутизатор OpenWRT имеет тот же адрес, который мой провайдер дал исходному маршрутизатору (xxxx:xxxx:xxxx:de01::1/64 на LAN1). Поэтому я пытаюсь настроить правило трафика с WAN 443 на LAN xxxx:xxxx:xxxx:de01::3 443 на брандмауэре, но мой сервер остается недоступным с моего мобильного телефона.
Вероятно, я что-то упускаю, поскольку я новичок в IPv6 и не могу понять, что происходит, поскольку я тестирую множество конфигураций, но так и не получаю желаемого.
И кто-то не может мне помочь глубже понять, что происходит?
Вот моя конфигурация (OpenWRT 19.07):
сеть:
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'
брандмауэр:
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'
решение1
Итак, я заставляю это работать, добавляя пользовательские правила в firewall.user. Чтобы открыть определенный порт на определенном устройстве Lan с помощью Global IPv6, я делаю:
ip6tables -t filter -I FORWARD 1 -p tcp --dport 443 -d xxxx:xxxx:xxxx:de01::3 -j ACCEPT