PPPoe를 통한 IPv6?

PPPoe를 통한 IPv6?

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

관련 정보