"리눅스 IPv6 비활성화"의 두 판 사이의 차이

 
(사용자 3명의 중간 판 7개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;리눅스 IPv6 비활성화하기
;리눅스 IPv6 비활성화하기
 
*리눅스는 보통 IPv6가 활성화되어 있음(기본값)
==명령어==
*이것을 비활성화해보자.
<source lang='bash'>
<source lang='bash'>
sysctl -p net.ipv6.conf.all.disable_ipv6=1
sysctl -p net.ipv6.conf.all.disable_ipv6=1
7번째 줄: 8번째 줄:


==실습==
==실습==
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# sysctl net.ipv6.conf.all.disable_ipv6
[root@zetawiki ~]# sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.disable_ipv6 = 0
</source>
</source>
:→ disable_ipv6 이 0이므로 활성화 상태임
:→ disable_ipv6 이 0이므로 활성화 상태임
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# ifconfig eth0 | grep inet
[root@zetawiki ~]# ifconfig eth0 | grep inet
           inet addr:192.168.0.139  Bcast:192.168.0.255  Mask:255.255.255.0
           inet addr:192.168.0.139  Bcast:192.168.0.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fea2:8ea8/64 Scope:Link
           inet6 addr: fe80::20c:29ff:fea2:8ea8/64 Scope:Link
</source>
</source>
:→ eth0에 IPv6 주소가 있음
:→ eth0에 IPv6 주소가 있음
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# sysctl -w net.ipv6.conf.all.disable_ipv6=1
[root@zetawiki ~]# sysctl -w net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.disable_ipv6 = 1
</source>
</source>
:→ disable_ipv6 이 1이므로 비활성화됨
:→ disable_ipv6 이 1이므로 비활성화됨
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# ifconfig eth1 | grep inet
[root@zetawiki ~]# ifconfig eth0 | grep inet
           inet addr:192.168.0.39  Bcast:192.168.0.255  Mask:255.255.255.0
           inet addr:192.168.0.39  Bcast:192.168.0.255  Mask:255.255.255.0
</source>
</source>
:→ eth0에 IPv6 주소가 없어짐
:→ eth0에 IPv6 주소가 없어짐
==주의점==
IPv6를 끈 서버의 특정 openssl 버전에서 ssh 터널링 사용 시, 아래와 같은 메시지가 발생하며 bind 실패가 발생할 수 있다.
<source lang='console'>
bind: Cannot assign requested address
</source>
-v 옵션으로 상세 로그를 봤을 때 ipv6로 바인드를 시도한다면 아래의 해결 방법을 사용하면 된다.
해결방법은,
*터널링 명령 사용 할 때 ssh 옵션 중 '-4'를 줘 강제로 inet(IPv4)로 사용
*혹은 /etc/ssh/ssh_config에서 (sshd가 아님에 주의!!) AddressFamily를 inet으로 설정(해당 설정의 옵션은 'any', 'inet', 'inet6' 가 있으며 기본값은 'any')


==같이 보기==
==같이 보기==
*[[리눅스 IPv6 활성화 상태 확인]]
*[[리눅스 IPv6 활성화 상태 확인]]
*[[윈도우 IPv6 활성화]]
*[[IPv6]]
*[[IPv6]]


[[분류: 리눅스 네트워크]]
[[분류: 리눅스 네트워크]]

2018년 3월 8일 (목) 16:34 기준 최신판

1 개요[ | ]

리눅스 IPv6 비활성화하기
  • 리눅스는 보통 IPv6가 활성화되어 있음(기본값)
  • 이것을 비활성화해보자.
Bash
Copy
sysctl -p net.ipv6.conf.all.disable_ipv6=1

2 실습[ | ]

Console
Copy
[root@zetawiki ~]# sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
→ disable_ipv6 이 0이므로 활성화 상태임
Console
Copy
[root@zetawiki ~]# ifconfig eth0 | grep inet
          inet addr:192.168.0.139  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fea2:8ea8/64 Scope:Link
→ eth0에 IPv6 주소가 있음
Console
Copy
[root@zetawiki ~]# sysctl -w net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
→ disable_ipv6 이 1이므로 비활성화됨
Console
Copy
[root@zetawiki ~]# ifconfig eth0 | grep inet
          inet addr:192.168.0.39  Bcast:192.168.0.255  Mask:255.255.255.0
→ eth0에 IPv6 주소가 없어짐

3 주의점[ | ]

IPv6를 끈 서버의 특정 openssl 버전에서 ssh 터널링 사용 시, 아래와 같은 메시지가 발생하며 bind 실패가 발생할 수 있다.

Console
Copy
bind: Cannot assign requested address

-v 옵션으로 상세 로그를 봤을 때 ipv6로 바인드를 시도한다면 아래의 해결 방법을 사용하면 된다.

해결방법은,

  • 터널링 명령 사용 할 때 ssh 옵션 중 '-4'를 줘 강제로 inet(IPv4)로 사용
  • 혹은 /etc/ssh/ssh_config에서 (sshd가 아님에 주의!!) AddressFamily를 inet으로 설정(해당 설정의 옵션은 'any', 'inet', 'inet6' 가 있으며 기본값은 'any')

4 같이 보기[ | ]