리눅스의 특정 인터페이스에서 ipv6를 비활성화하는 방법은 무엇입니까?


24

누군가 CentOS의 특정 네트워크 인터페이스에서 ipv6 자동 구성을 비활성화하는 방법을 알려줄 수 있습니까?

현재 상황은 다음과 같습니다

PC에는 동일한 LAN에 연결되는 두 개의 네트워크 어댑터 eth0 및 eth1이 있으며, 여기서 IPv6 라우터는 NDRA (Neighbor Discovery Router Advertisements) 패킷으로 IPv6 접두사를 알리고 있습니다. 결과적으로 eth0과 eth1은 모두 해당 접두사로 IPv6 주소를 자동 구성합니다.

그러나 eth1에서 ipv6을 활성화하고 eth0에서 비활성화하고 싶습니다. 다음 방법을 시도했지만 작동하지 않습니다.

1. / etc / sysconfig / network

NETWORKING_IPV6=no
IPV6_AUTOCONF=no

eth0과 eth1 모두에서 ipv6을 비활성화합니다.

2. / etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

그런 다음 작동하지 않습니다. 네트워크 서비스를 이미 다시 시작했습니다. 이 문제에 대해 약간 혼란 스럽습니다. 고급 감사합니다.


1
sysconfig.txt는 사용자가 수행 한 작업이 특정 인터페이스에서 IPv6을 비활성화해야 함을 의미합니다. 그러나 이러한 플래그는 무시되는 것 같습니다. 이것에 관한 두 가지 버그 리포트가 있으며, 무시되었습니다. 참조 bugzilla.redhat.com/show_bug.cgi?id=982740bugzilla.redhat.com/show_bug.cgi?id=496444
스테판 Lasiewski

답변:


41

다음 줄을 사용하여 /etc/sysctl.conf에서 비활성화 할 수 있습니다.

net.ipv6.conf.eth0.disable_ipv6 = 1

/ proc / sys / net / ipv6 / conf / eth0을 살펴보십시오. IPv6을 활성화하고 autoconf를 비활성화하는 등 해당 디렉토리에 설정할 수있는 많은 옵션이 있습니다.


4
참고로 하나의 인터페이스가 아니라 모두를 비활성화하려는 경우 "eth0"을 "all"로 바꾸십시오
Peter

1
실제로을 수정하는 대신 위의 내용으로 이름이 지정된 /etc/sysctl.conf파일을 만듭니다 . 그러면 IPv6 기능의 인터페이스를 보여줍니다. /etc/sysctl.d00_ipv6_off.confifconfig
David Tonhofer

한 줄로 :echo "net.ipv6.conf.eth0.disable_ipv6 = 1" > /etc/sysctl.d/00_ipv6_off.conf
David Tonhofer

11
$ sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1

더 이상 사용되지 않습니다

# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6

재부팅 후에도이 변경 사항이 유지되도록하려면 /etc/sysctl.conf파일에 다음 줄을 추가 하십시오.

net.ipv6.conf.eth0.disable_ipv6=1

/etc/sysconfig/network-scripts/ifcfg-eth0파일 사용은 이식이 불가능합니다.


3

아래 네트워크 매개 변수를 설정하려면 루트 여야합니다.

echo 1 > /proc/sys/net/ipv6/conf/wlan0/disable_ipv6

데비안 설치 프로그램이 네트워크 설정을 감지하지 못하면 설치 프로그램에서도 작동합니다. 콘솔 (alt + 2)로 이동하여이 명령을 입력하십시오. 설치 프로그램으로 돌아갑니다. Ctrl + C를 눌러 탐지를 종료하고 네트워크 탐지를 다시 초기화하십시오.
lsu_guy

1

ifcfg-eth0 또는 ifcfg-eth1에서 다음 변수 사용

IPV6INIT=no
IPV6_AUTOCONF=no

트릭을해야합니다. 반복해서 :

/ etc / sysconfig / network

NETWORKING_IPV6=yes
IPV6_AUTOCONF=yes

/ etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

/ etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=yes
IPV6_AUTOCONF=yes

그런 다음 네트워킹 서비스를 다시 시작하십시오.

% /etc/init.d/network restart

실행 ifconfig하면 ipv6이 활성화 된 이더넷 장치 (eth0 또는 eth1)에 inet6이 표시됩니다.

% ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 01:26:BD:85:CA:30  
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::226:c7ff:fe85:a720/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2497072 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2253781 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2004576667 (1.8 GiB)  TX bytes:1296051472 (1.2 GiB)

예, 조금 이상합니다. "net.ipv6.conf.eth0.disable_ipv6 = 1"을 설정하는 것이 좋습니다. 답변 주셔서 감사합니다.
Yves Messi

1
흠, 내 시스템에서 쪼그리고 앉지 않았습니다 (가상화 된 환경에서 RH 6.5 X86_64). 그러나 그것이 작동하는 시스템을 위해 그것들을 아는 것이 좋습니다.
luis.espinal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.