OpenWrt は IPv6 ルールを許可し、ローカルエリアのグローバル IPv6 でサーバーにアクセスします。

OpenWrt は IPv6 ルールを許可し、ローカルエリアのグローバル IPv6 でサーバーにアクセスします。

まず、dhcpcd.conf で ISP グローバル プレフィックスが xxxx:xxxx:xxxx:de01::3/64 として静的に設定されているデバイスのグローバル アドレスを指すように DNS が構成されたドメインがあります。

私は ISP ONT に接続されたメイン ルーターとして Openwrt ルーターを使用しています。インターネット接続は IPv4 と IPv6 で機能しており、インターネットに ping または ping6 を実行できます。OpenWRT から、ISP はプレフィックス委任 xxxx:xxxx:xxxx:de00/56 を提供します。

OpenWRT ルーターを ISP ルーターに置き換えると、ISP (または ISP 自体、わかりません) がそれにアドレス xxxx:xxxx:xxxx:de01::1/64 を割り当てます。

ISP ルーターを使用すると、ファイアウォールからのトラフィックを許可すると、インターネット (4G の携帯電話) からアドレス xxxx:xxxx:xxxx:de01::3 でサーバーにアクセスできますが、ISP からのプレフィックスが /56 なので、少し混乱しています。

LAN インターフェースで IPv6 割り当ての長さを 64 に、IPv6 割り当てのヒントを 1 に設定しようとすると、OpenWRT ルーターのアドレスが ISP が元のルーターに与えたアドレスと同じになります (LAN1 の xxxx:xxxx:xxxx:de01::1/64)。そこで、ファイアウォールで 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 にカスタム ルールを追加して動作させます。グローバル IPv6 を使用して特定の LAN デバイスの特定のポートを開くには、次のようにします。

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

関連情報