고정 주소 위임으로 허리케인 일렉트릭에서 ipv6 네트워크를 설정하는 방법은 무엇입니까?


1

리눅스 게이트에서 ipv6 네트워크 설정을 도와주세요. 클라이언트가 2001 : 471 : 70c8 :: / 48 풀로 라우팅 된 HE의 고정 ipv6 주소를 클라이언트에 제공하고 싶습니다. 거기에서 첫 번째 / 64 서브넷 (2001 : 471 : 70c8 : 1 :: / 64)을 가져 와서 거기에서 클라이언트로 주소를 배포하고 싶습니다.

ipv6 전달이 켜져 있고 ip6tables가 FORWARD를 수락합니다. 게이트에서 나는 클라이언트와 인터넷을 핑 (ping) 할 수있다. 제발 말해봐, 내가 뭘 잘못하고 있니?

radvd :

gate ~ # cat /etc/dhcp/radvd.conf          

interface internal_0
{
    AdvSendAdvert on;
    AdvManagedFlag on;
    AdvOtherConfigFlag on;

    prefix 2001:471:70c8:1::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr off;
    };

    RDNSS 2001:471:70c8:1::1
    {
    };

    DNSSL domain-home.local
    {
    };
};

dhcpv6

ddns-update-style none;
authoritative;
option dhcp6.name-servers 2001:471:70c8:1::1;
option dhcp6.domain-search "domain-home.local";
default-lease-time 3600;
max-lease-time 14400;
option client-class-information code  97 = string;
deny duplicates;
ping-check true;
update-optimization false;

shared-network "domain-home"
{
  interface internal_0;
  subnet6 2001:471:70c8:1::/64
  {
    pool6
    {
      # Range for clients
      range6 2001:471:70c8:1::1 2001:471:70c8:1::fe;

      # Range for clients requesting a temporary address
      range6 2001:471:70c8:1::/64 temporary;

      # Prefix range for delegation to sub-routers
      prefix6 2001:471:70c8:1:: 2001:471:70c8:1:: /64;
    }
  }
}

host spc_94_de_80_7c_8b_ee
  {
    hardware ethernet 94:de:80:7c:8b:ee;
    host-identifier option dhcp6.client-id 00:02:00:00:ab:11:7a:1c:61:eb:ac:c3:f0:f3;
    fixed-address6 2001:471:70c8:1::a;
  } # Interface name: internal_0 (Internal)

문:

gate ~ # ip -6 a l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: external_kis_0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::523e:aaff:fe04:8fb0/64 scope link 
       valid_lft forever preferred_lft forever
3: internal_0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2001:471:70c8:1:96de:80ff:fe6c:66b0/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86225sec preferred_lft 14225sec
    inet6 2001:471:70c8:1::1/0 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::96de:80ff:fe6c:66b0/64 scope link 
       valid_lft forever preferred_lft forever
7: external_he_0@external_kis_0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 state UNKNOWN qlen 1000
    inet6 2001:471:1f0a:1880::2/0 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::5bd2:623e/64 scope link 
       valid_lft forever preferred_lft forever
gate ~ # ip -6 r l
anycast 2001:471:70c8:1:: dev internal_0 proto kernel metric 0 pref medium
2001:471:70c8:1::/64 dev internal_0 proto ra metric 1024 pref medium
2001:471:70c8::/48 dev internal_0 proto ra metric 1024 pref medium
anycast fe80:: dev external_he_0 proto kernel metric 0 pref medium
anycast fe80:: dev external_kis_0 proto kernel metric 0 pref medium
anycast fe80:: dev internal_0 proto kernel metric 0 pref medium
fe80::/64 dev external_he_0 proto kernel metric 256 pref medium
fe80::/64 dev external_kis_0 proto kernel metric 256 pref medium
fe80::/64 dev internal_0 proto kernel metric 256 pref medium
ff00::/8 dev external_he_0 metric 256 pref medium
ff00::/8 dev internal_0 metric 256 pref medium
default dev external_he_0 proto kernel metric 256 pref medium
default dev internal_0 proto kernel metric 256 pref medium
default via 2001:471:1f0a:1880::1 dev external_he_0 proto static metric 1024 pref medium

고객:

spc ~ # ip -6 a l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 fe80::24df:7f80:e175:c322/64 scope link 
       valid_lft forever preferred_lft forever
3: internal_0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2001:471:70c8:1::a/128 scope global dynamic noprefixroute 
       valid_lft 3592sec preferred_lft 2242sec
    inet6 2001:471:70c8:1:96de:80ff:fe7c:8bee/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86391sec preferred_lft 14391sec
    inet6 2001:471:70c8:1:7aed:e36d:f089:ad33/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86391sec preferred_lft 14391sec
    inet6 fe80::b492:58c4:b12d:b2e0/64 scope link 
       valid_lft forever preferred_lft forever
spc ~ # ip -6 r l
2001:471:70c8:1::/64 dev internal_0 proto ra metric 203 pref medium
2001:471:70c8:1::/64 dev internal_0 proto ra metric 1024 pref medium
fe80::/64 dev dummy0 proto kernel metric 256 pref medium
fe80::/64 dev internal_0 proto kernel metric 256 pref medium
ff00::/8 dev dummy0 metric 256 pref medium
ff00::/8 dev internal_0 metric 256 pref medium
default via fe80::96de:80ff:fe6c:66b0 dev internal_0 proto ra metric 203 pref medium
default via fe80::96de:80ff:fe6c:66b0 dev internal_0 proto ra metric 1024 pref medium

그리고 여기서도 흥미 롭습니다. 클라이언트에게 하나의 주소 만 제공합니다 (2001 : 471 : 70c8 : 1 :: a). 두 번째 두 곳 (2001 : 471 : 70c8 : 1 : 96de : 80ff : fe7c : 8bee, 2001 : 471 : 70c8 : 1 : 7aed : e36d : f089 : ad33)은 어디에서 왔습니까?

upd : 터널 및 게이트 인터페이스 구성

gate ~ # cat /etc/systemd/network/external_he_0.network 
[Match]
Name=external_he_0

[Network]
Address=2001:471:1f0a:1880::2
Gateway=2001:471:1f0a:1880::1

gate ~ # cat /etc/systemd/network/external_he_0.netdev 
[Match]

[NetDev]
Name=external_he_0
Kind=sit
MTUBytes=1480

[Tunnel]
Local=91.200.98.62
Remote=216.66.80.30
TTL=255

gate ~ # cat /etc/systemd/network/internal_0.network  
[Match]
Name=internal_0
MACAddress=94:de:80:6c:66:b0

[Network]
Description=Internal
DHCP=no
Address=10.100.100.1
Address=2001:471:70c8:1::1
Domains=domain-home.local

gate ~ # cat /etc/systemd/network/external_kis_0.network 
[Match]
Name=external_kis_0
MACAddress=50:3e:aa:04:8f:b0

[Network]
Description=External KIS
DHCP=no
Address=91.200.98.62
Gateway=91.200.98.61
Tunnel=external_he_0

1
음, 왜 / 0 prefixlen로 서브넷과 터널 주소를 구성합니까?
grawity

systemd에 의해 구성되었습니다. 또는 시스템 파일에 주소를 잘못 지정 했습니까? (게시물에 구성을 추가했습니다)
Sheridan

답변:


1

3 : internal_0 :
inet6 2001 : 471 : 70c8 : 1 :: 1/0 범위 전역

터널 및 서브넷 주소가 / 64 접두사에 속하더라도 어떤 이유로 든 / 0으로 구성했습니다. 잘못된 서브넷 마스크를 사용하면 이미 여러 가지 이상한 문제가 발생할 수 있지만 / 0은 "전세계가 나의 서브넷"으로 해석되기 때문에 두 배나 나쁩니다. 무의미한과 같은 두 개의 추가 기본 경로로 어떻게 끝났는지 주목하십시오 ::/0 dev internal_0.

동일한 대상 (:: / 0 일명 '기본')과 동일한 메트릭에 대해 두 개의 경로가 있으므로 본질적으로 단일로드 균형 조정 경로로 끝납니다. 각 패킷이 "dev internal_0"nexthop 또는 "dev external_he_0"패킷을 선택할지 여부는 결정적입니다. (우연히 우연히 후자는 터널 장치를 가리 키기 때문에 실제로 유효하고 작동합니다. 일부 패킷이 통과하는 반면 다른 패킷은 통과하지 않는 것 같습니다.)

두 인터페이스의 주소에 올바른 접두사 길이를 지정하도록 구성을 수정하십시오 (/ 64).

네트워크 구성 도구에 대한 버그 보고서를 보냅니다. 누락 된 / prefixlen은 0이 아닌 중단되거나 기본값이 최대 길이 (v6의 경우 / 128) 여야합니다 .

클라이언트에게 하나의 주소 만 제공합니다 (2001 : 471 : 70c8 : 1 :: a). 두 번째 두 곳 (2001 : 471 : 70c8 : 1 : 96de : 80ff : fe7c : 8bee, 2001 : 471 : 70c8 : 1 : 7aed : e36d : f089 : ad33)은 어디에서 왔습니까?

DHCPv6는 유일한 주소 자동 구성 메커니즘이 아닙니다 (사실 일부 시스템에서는 지원되지 않음). 이와 함께 AdvAutonomous접두사 플래그가 설정된 라우터 알림 이 있습니다. 이렇게하면 SLAAC를 활성화하고이 알림을받는 클라이언트에게 접두사에서 주소를 자체 할당 할 수 있음을 나타냅니다.

(첫 번째 주소는 EUI64 또는 MAC 주소를 기반으로하며 두 번째 주소는 RFC7217 해시 기반 인 것으로 보입니다.이 클라이언트에는 실제로 라우터 광고를 처리하는 두 개의 프로그램 (아마도 커널 + dhcpcd 또는 커널 + systemd-networkd)이있는 것 같습니다. 왜 두 개의 기본 경로가 있습니까?)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.