IPv6 ULA 주소 소스 선택

IPv6 ULA 주소 소스 선택

두 개의 Raspberry Pi(2016-27-5 기준으로 Raspbian 실행)가 있고 LAN 내에서 제한된 통신을 위해 IPv6 ULA 주소를 사용하도록 설정하려고 합니다.

모든 것이 괜찮지만 매우 중요한 세부 사항이 하나 있습니다. ULA(고유 로컬 주소)를 사용하여 한 곳에서 다른 곳으로 연결하고 대상의 소스 주소를 인쇄하면 "글로벌" 주소가 표시됩니다. 그래서 어찌됐든 그것이 소스 주소로 선택되었습니다.

나는 이 두 가이드를 읽고 다양한 접근 방식을 시도했지만 아무 소용이 없었습니다.

거기에 있는 모든 내용에는 /etc/gai.conf댓글이 있습니다.
Global주소를 완전히 삭제하는 것도 고려해 보겠습니다., 내가 그것을하는 방법을 알았다면. 내 말은, 시스템이 먼저 시스템을 가져오는 것을 차단한 다음 제거하는 것은 실행 가능한 해결책이 아니라는 것입니다.
eth0:1섹션을 삭제하고 ULA를 eth0 에 직접 할당 하면 됩니다 ifconfig eth0 inet6 add fc00::6666/64. 아마도 이는 소스 주소 선택 알고리즘이 이제 사용 가능한 가장 작은 범위를 올바르게 사용하기 때문일 것입니다. 별칭 인터페이스를 사용하면 소스 주소 선택 알고리즘이 어느 정도 엉망이 되는 것 같습니다. 아마도 를 사용하여 해결할 수 있습니까 route -6?

/etc/네트워크/인터페이스

<--- IPv4 ellipsized --->
auto eth0:1
iface eth0:1 inet6 static
address fc00::6666
netmask 64
autoconf 1

현재 접두사 및 경로:

# ip addrlabel list
prefix ::1/128 label 0 
prefix ::/96 label 3 
prefix ::ffff:0.0.0.0/96 label 4 
prefix 2001::/32 label 6 
prefix 2001:10::/28 label 7 
prefix 3ffe::/16 label 12 
prefix 2002::/16 label 2 
prefix fec0::/10 label 11 
prefix fc00::/7 label 5 
prefix ::/0 label 1 

# route -6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 0     0 lo
2001:760:XXXX:XXXX::/64        ::                         U    202 0     0 eth0
fc00::/64                      ::                         U    256 0     0 eth0
fe80::/64                      ::                         U    256 0     0 eth0
::/0                           fe80::210:WWWW:WWWW:WWWW   UG   202 1     8 eth0
::/0                           ::                         !n   -1  1     9 lo
::1/128                        ::                         Un   0   2     2 lo
2001:760:YYYY:YYYY:YYYY:YYYY:YYYY:YYYY/128 ::                         Un   0   1     0 lo
fc00::6666/128                 ::                         Un   0   1     0 lo
fe80::ba27:ZZZZ:ZZZZ:ZZZZ/128  ::                         Un   0   2     2 lo
ff00::/8                       ::                         U    256 1    35 eth0
::/0                           ::                         !n   -1  1     9 lo

답변1

IPv6 이전에는 여러 주소를 허용하기 위해 별칭이 사용되었습니다. 여러 주소는 IPv6의 핵심 부분이므로 이제 별칭은 더 이상 사용되지 않습니다.

여기서 왜 혼란을 야기하는지 모르겠지만 혼란을 야기한다는 것을 확인했으므로 해결책은 별칭을 사용하지 않는 것입니다.

구성에서 그대로 대체할 수 있어야 하며 eth0:1작동 eth0합니다. (스크립트 후크를 사용하는 보다 수동적인 대안도 있습니다).

https://wiki.debian.org/NetworkConfiguration#iproute2_method


비판: 귀하의 주소에 UL의 U 부분이 누락된 것 같습니다.


실제 사례/etc/네트워크/인터페이스:

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.255.0
broadcast aaa.aaa.aaa.255
gateway aaa.aaa.aaa.254
dns-nameservers aaa.aaa.aaa.254
post-up /etc/firewallup.sh

auto eth0
iface eth0 inet6 static
address fc00::6666
netmask 64
autoconf 1

관련 정보