단일 인터페이스에서 IPv6 비활성화


9

우분투가 명시 적으로 지시하지 않는 한 ipv4 DHCP를 처리하지 않지만 실제로 지시하지 않는 한 행복하게 ipv6 RA를 사용한다는 사실에 약간 이상합니다. 기본 동작을 '명시 적으로 설정하지 않으면 아무것도하지 마십시오'로 변경하는 방법이 있습니까?

(응답자 참고 사항 : 전 세계적으로 ipv6를 비활성화하거나 autoconf를 완전히 끄고 싶지 않습니다. 기본적으로 autoconf를 비활성화 하려고합니다 (/ etc / network /에서 그렇게 말하지 않으면 ipv6을 원하지 않습니다) 인터페이스는 dhcp를 명시 적으로 설정하지 않은 한 v4 주소를 얻는 것과 같은 방식으로 진행됩니다.) 일어나고있는 인터페이스의 경우-예를 들어 ipv4 구성이 있음-v6 주소는 명시 적으로 활성화하지 않았다는 사실에도 불구하고 인터페이스에 대한 정보도 제공합니다. 현재까지의 솔루션은 가능한 한 훌륭하지만 v6 또는 autoconf를 전역 적으로 비활성화하면 v6을 다시 활성화 할 수 없습니다 / etc / network / interfaces에 간단한 명령을 사용하여 인터페이스별로 기준을 정합니다. 나는 막대기에 달을 요구하고 있다고 확신합니다.)


1
다음은 ipv6를 비활성화하는 방법에 대한 링크입니다. 나는 그것을 직접 시도하지 않았다. 작동하는지 알려주세요 : 우분투에서 IPV6를 비활성화하는 방법
BiggJJ

3
아마 할 수도 있지만 ipv6를 비활성화하고 싶지 않고 인터페이스에서 자동 구성을 구체적으로 원하지 않는 한 인터페이스에서 자동 구성을 방지하십시오.
ijw

답변:


9

IPv6의 기본 기능 중 일부인 Autoconf. RA 알림은 DHCP가 아니며 RA 서버는 주소를 할당하지 않습니다. RA는 169.254.0.0/16 IP 범위에서 수행 된 IPv4 자동 구성에 훨씬 가깝습니다. 프라이버시가 활성화되면 시간이지나면서 IPv6 주소가 변경됩니다. 이전 주소는 폐기되고 결국 제거됩니다.

다음 명령으로 ipv6 autoconf를 쉽게 비활성화 할 수 있습니다.

sudo sysctl -w net.ipv6.conf.all.autoconf=0

all하나의 인터페이스를 비활성화하려면 인터페이스 이름으로 대체 하십시오. 교체 autoconfdisable_ipv6해제 IPv6로. /etc/sysctl.d시작하는 동안 설정을 적용 할 변수 할당 으로 파일을 작성하십시오 .

모든 ipv6 관련 설정을 찾으려면 다음 명령을 실행하십시오.

sudo sysctl -a | grep ipv6 | less

4

IPv6의 활성화 또는 비활성화 여부를 확인하려면

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

0은 활성화되어 있고 1은 비활성화되어 있음을 의미합니다.

IPv6을 비활성화하려면

$ su -
# nano /etc/sysctl.conf

이 줄을 sysctl.conf 파일에 추가하십시오.

#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

새로운 설정으로 sysctl.conf 파일을 저장 한 다음 시스템을 재부팅하십시오

# reboot

시스템을 다시 확인하십시오

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

이제“1”이 표시되면 시스템에서 IPv6이 비활성화 된 것입니다.

에서 http://namhuy.net/1419/disable-ipv6-ubuntu-linux-mint.html


나를 위해 일했다. Centos에서는 최소한 재부팅없이 다시로드하기 위해 "sudo sysctl -p"를 실행할 수 있습니다.
Code Wiget

2

다른 답변 중 하나와 비슷하지만 다른 점으로, 나는 이것을 큰 기쁨으로 시도했습니다.

/etc/sysctl.d에 sysctl 파일을 추가하여 ipv6를 비활성화합니다. 인터페이스 기본 상태와 같이 보편적으로는 아닙니다.

net.ipv6.conf.default.disable_ipv6=1

그런 다음 인터페이스 파일과 ipv6을 설정하려는 인터페이스에 대해서만 다음을 추가하십시오.

iface eth0 inet dhcp # .. or whatever
up sysctl -w net.ipv6.conf.$IFACE.disable_ipv6=0

... 따라서 인터페이스는 IPv6 주소를 가져올 때 (현재와 같이) 얻지 않지만 특정 경우에 IPv6 주소를 갖도록 설득 할 수 있습니다. 원하는 경우 ipv6을 활성화하기 전에 RA를 비활성화 할 수 있습니다.

NB : VLAN 명명 된 인터페이스 (예 : eth0.100)에 문제가 발생하여 $ IFACE가 아니라 'up'명령에서 'eth0 / 100'으로 철자를 입력해야합니다. -테스트하지는 않았지만 sysctl이 세상을 보는 방식 인 것 같습니다.

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