OpenWrt는 IPv6 규칙이 로컬 영역의 글로벌 IPv6를 사용하는 서버에 액세스하도록 허용합니다.

OpenWrt는 IPv6 규칙이 로컬 영역의 글로벌 IPv6를 사용하는 서버에 액세스하도록 허용합니다.

우선, 내 장치 전체 주소를 가리키도록 구성된 DNS가 있는 도메인이 있습니다. dhcpcd.conf에서 내 ISP globl 접두어가 xxxx:xxxx:xxxx:de01::3/64인 정적으로 설정되어 있습니다.

저는 ISP ONT에 연결된 메인 라우터로 Openwrt 라우터를 사용하고 있습니다. IPv4 및 IPv6에서 인터넷 연결이 작동 중입니다. 인터넷에 ping 또는 ping6을 보낼 수 있습니다. OpenWRT에서 내 ISP는 위임된 접두사 xxxx:xxxx:xxxx:de00/56을 제공합니다.

OpenWRT 라우터를 ISP 라우터로 교체하면 ISP(또는 그 자체인지는 모르겠습니다)가 주소 xxxx:xxxx:xxxx:de01::1/64를 제공합니다.

ISP 라우터를 사용하면 방화벽에서 트래픽을 허용할 때 인터넷(4G의 휴대폰)에서 xxxx:xxxx:xxxx:de01::3 주소로 내 서버에 연결할 수 있지만 ISP에서 /56 접두사를 볼 수 있기 때문에 조금 혼란스러워요.

LAN 인터페이스에서 IPv6 할당 길이를 64로 설정하고 IPv6 할당 힌트를 1로 설정하려고 시도했는데 이제 OpenWRT 라우터는 ISP가 원래 라우터에 제공한 것과 동일한 주소를 갖습니다(xxxx:xxxx:xxxx:de01::1/64 on) 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에 사용자 정의 규칙을 추가하여 작동하게 만듭니다. 글로벌 IPv6를 사용하여 특정 LAN 장치에서 특정 포트를 열려면 다음을 수행하십시오.

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

관련 정보