Linux 게이트에서 ipv6 네트워크를 설정하는 데 도움을주세요. 클라이언트에게 2001 : 471 : 70c8 :: / 48 풀로 라우팅 된 HE의 정적 ipv6 주소를 제공하고 싶습니다. 나는 거기에서 첫 번째 / 64 서브넷 (2001 : 471 : 70c8 : 1 :: / 64)을 가져 왔고 거기에서 클라이언트로 주소를 배포하고 싶습니다.
ipv6 전달이 켜져 있고 ip6tables는 FORWARD를 허용합니다. 게이트에서 나는 클라이언트와 인터넷을 ping6 할 수 있고, 클라이언트에서 나는 게이트를 핑 할 수 있지만 인터넷을 ping6 할 수는 없습니다. 제발 말해봐, 내가 뭘 잘못하고 있니?
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
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"nexthop을 선택하는지 여부는 우연에 달려 있습니다. (우연히 후자는 터널 장치를 가리 키기 때문에 실제로 유효하고 작동합니다. 이것이 패킷 중 일부는 통과하는 반면 다른 패킷은 통과하지 않는 이유입니다.)
두 인터페이스의 주소에 대해 올바른 접두사 길이를 지정하도록 구성을 수정하십시오 (/ 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)이있는 것 같습니다. 왜 두 개의 기본 경로가 있습니다.)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다