
나는 Ubuntu 18.04, Firewalld(UFW는 라우터로 사용하기에 적합하지 않음), /networks/interfaces(netplan에는 목적에 부적합하게 만드는 버그가 있음) 및 DHCP 및 DNS용 dnsmasq를 실행하는 x86 상자에서 네트워크를 실행합니다.
PD와 함께 ipv6을 실행하는 ISP가 있었고 나는설정은 여기서. 현재 ISP는 IPV6을 지원하지 않으므로 허리케인 일렉트릭을 통해 라우터에 터널을 설정했습니다. 이는 설정되었으며 아마도 ping이 가능하므로 작동할 것입니다.
외부 인터페이스로 enp1s0이 있고 다른 모든 인터페이스는 함께 브리지되어 나머지 네트워크를 br0으로 제공합니다. 또한 he-ipv6을 터널로 사용하고 어떤 것과도 연결되지 않음
현재 라우터는 두 개의 서로 다른 네트워크 세그먼트(다른 모든 사용자를 위한 192.168.1.x)와 DMZ에 라우터가 있는 192.168.2.x의 자체 테스트 네트워크가 있는 ISP 라우터 뒤에 있습니다. 이것해서는 안 된다문제가 될 수 있습니다.
문제는 dnsmasq를 계속 사용하고 싶지만 이를 설정하는 방법에 대한 문서 자금 조달에 어려움을 겪고 있다는 것입니다.
지금 내가 가지고 있는 것은 다음과 같습니다.
- /etc/networks/interfaces의 아래 내용을 포함하여 허리케인 일렉트릭 웹페이지의 지침에 따라 라우터에 ipv6을 설정했습니다.
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:470:YY:YYYY::2
netmask 64
endpoint 216.218.221.6
local xxx.xxx.x.xxx
ttl 255
gateway 2001:470:YY:YYYY::1
이것은 작동합니다. ipv6.google.com 및 기타 알려진 ipv6 사이트에 ping을 보낼 수 있습니다. IP를 얻을 수 없는 것 같습니다.다른 것.
나는 노력했다
##For HE
enable-ra
dhcp-range = 2001:470:YY:YYYY::
dhcp-option=option6:dns-server,[2001:470:20::2],[2001:4860:4860::8888]
그러나 분명히 구문이 잘못되었습니다.
라우터에서 IP를 가져오는 클라이언트와 br0에 대한 IPv6 주소를 어떻게 얻나요?
답변1
다른 모든 것보다 먼저:
IPv4에서와 마찬가지로 각 링크에는 자체 서브넷 접두사가 필요합니다. "터널 끝점" 은 2001:470:YY:YYYY::/64
특히 귀하와 허리케인 사이의 링크를 위한 것입니다(즉, IPv4 용어로 "WAN 주소"를 위한 것입니다). LAN에서는 재사용할 수 없습니다. 후자의 경우 터널 설정 페이지에 있는 "라우팅된 IPv6 접두사" 중 하나가 필요합니다. 이는 DHCPv6-PD 위임 접두사와 동일합니다.
일반적으로 각 LAN에는 표준 SLAAC 기반 주소 할당이 작동할 수 있도록 /64 크기의 서브넷 접두사가 있습니다(많은 클라이언트, 특히 Android는 DHCPv6 기반 주소 할당을 지원하지 않습니다). 따라서 여러 서브넷을 계획하는 경우 "/48 할당"을 선택하여 적절한 양(64ki)/64의 접두사를 얻습니다.
(이미 /48을 할당한 경우에는 "/64 할당"을 사용할 필요가 없습니다.했다"Assign /64"를 사용합니다. 접두사는 다음과 같습니다.약간"터널 끝점" 접두사와 다릅니다. 헷갈리는 경우가 많습니다.)
2001:470:ZZ::/48과 같은 고유한 범위가 있으면 그 중에서 /64를 선택합니다(0부터 ffff까지, 예: 2001:470:ZZ:1::/64) 이를 인터페이스 br0
와 dnsmasq 구성에 사용하세요.
enable-ra
dhcp-range = 2001:470:ZZ:1::, ra-stateless
dhcp-option = option6:dns-server, [2001:470:20::2], [2001:4860:4860::8888]
앞서 언급했듯이 많은 클라이언트(특히 Android)지원하지 않는다DHCPv6을 통한 주소 할당. SLAAC가 필요하므로 다음 중 하나 이상이 필요합니다.slaac
또는ra-stateless
'dhcp-range' 구성에서. ('ra-stateless' 모드는 SLAAC 클라이언트에게 Windows에 유용한 DHCPv6에서 DNS 설정을 계속 가져올 수 있음을 추가로 알려줍니다. 선택에 관계없이 dnsmasq는 Android용 SLAAC-RDNSS를 통해 자동으로 DNS 서버를 제공합니다.)
그러나br0(또는 LAN 인터페이스가 무엇이든) IP 주소를 정적으로 할당해야 합니다. 커널이 자체 멀티캐스트를 수신하는지, 아니면 이에 주의를 기울이는지 잘 모르겠습니다. 어쨌든 나는 의심한다.dnsmasq 자체일치하는 주소가 없는 인터페이스에서는 실행을 거부할 수 있습니다(이미 IPv4에서와 마찬가지로).
iface br0 inet6 static
address 2001:470:ZZ:1::1/64
iface br1 inet6 static
address 2001:470:ZZ:2::1/64
dnsmasq를 실행한 후에는 rdisc6 eth0
다른 Linux 시스템에서 사용하여 라우터 광고의 내용을 요청하고 표시하세요. "라우터 수명"이 0이 아닌지 확인하세요. 하나 이상의 "접두사"(/64, 온링크, 자율, 0이 아닌 유효 시간이어야 함) 그리고 이는 fe80::*
전역 주소가 아닌 링크 로컬 주소에서 비롯됩니다 .