
PPPoe를 통해 IPv6 주소를 얻을 수 있는 가장 좋은 방법은 무엇입니까?
현재 ISP로부터 인터넷 서비스를 받기 위해 NM-Applet을 사용하고 있지만 PPPOE 연결에는 IPv6 탭이 없습니다. 일부 명령줄 도구를 사용해도 괜찮지만, 필요한 경우 NM 애플릿의 설정을 다른 도구로 전송하는 것이 좋을 것입니다.
답변1
추가해 보세요
+ipv6 ipv6cp-use-ipaddr
/etc/ppp/options에. ISP가 IPv6을 제공하는 방법에 따라 이는 시스템 자체에 IPv6을 제공하기에 충분할 수 있습니다.
많은 ISP는 라우터가 PC 대신 PPPoE에 연결된다고 가정하므로 이는 귀하에게 적합하지 않을 수 있습니다. 이 상황에서 IPv6를 얻는 유일한 방법은 컴퓨터를 라우터로 구성하는 것입니다. 그런 다음 IPv6용 DHCP를 사용하여 접두사 위임을 요청해야 합니다. 그런 다음 얻은 접두사를 사용하여 네트워크나 로컬 시스템에 /64 서브넷을 할당할 수 있습니다. 그리고 로컬 네트워크에 IPv6 서비스를 제공하려면 radvd(라우터 광고 데몬)를 실행하여 시스템이 라우터임을 광고해야 합니다.
가장 쉬운 방법은 wide-dhcpdv6을 사용하는 것입니다. 기본 아이디어는 한 인터페이스에서 접두사 위임을 요청한 다음 해당 접두사를 사용하여 다음과 같이 다른 인터페이스에 서브넷을 할당하는 것입니다.
interface ppp0 {
# Request Prefix Delegation on ppp0, and give the received prefix id 0
send ia-pd 0;
};
# Use subnets from the prefix with id 0
id-assoc pd 0 {
prefix-interface eth0 {
# Assign subnet 1 to eth0
sla-id 1;
};
};
ISP로부터 접두사 2001:db8:1234::/48을 받았다고 가정해 보겠습니다. 그러면 이 예에서는 2001:db8:1234:1::/64를 eth0에 할당합니다.
기본 radvd.conf는 다음과 같습니다:
interface eth0
{
AdvSendAdvert on;
prefix ::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
아, 그리고 넣는 것을 잊지 마세요
net.ipv6.conf.all.forwarding=1
/etc/sysctl.conf에 있습니다.
답변2
Sander Steffann의 답변은 훌륭하지만 IPv6 주소를 얻었으나( ip addr
또는를 통해 확인할 수 있음 ifconfig
) mtr -6 www.google.com
여전히 작동하지 않는 경우 로컬 라우터의 일종의 기본 라우팅 할당으로 인해 발생할 수 있습니다( ip -6 route
또는를 통해 확인할 수 있음). netstat -6rn
).
이 문제를 해결하는 한 가지 방법은 다음과 같이 이더넷 포트에서 RA를 비활성화하는 것입니다( 의 기존 파일 변경 /etc/netplan/
).
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
accept-ra: false