라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
Linux에서 IPv6 환경 구성 1
Part 1 : IPv6 모듈 설치 및 IPv6 주소 확인
현재 다양한 OS가 IPv6를 지원하지만, IPv6를 기반으로한 인터넷 서비스나 네트워크 테스트, 네트워크 애플리케이션 개발을 위해서는 Linux나 FreeBSD와 같은 OS가 많이 이용됩니다.
이들 OS는 Windows 계열의 OS보다 IPv6에 대한 지원이 뛰어나고 내장된 각종 서버(daemon) 및 애플리케이션이 IPv6를 충실하게 지원하기 때문에, IPv6 개발 및 테스트 분야에서는 Linux나 FreeBSD 계열의 OS가 더 많이 이용됩니다.
참고로 Linux 커널 버전 2.2.x에서도 IPv6를 사용할 수는 있지만, 최근의 표준을 제대로 반영하지 못하고 있습니다. 가능하면 Linux 커널 버전 2.4.x이상을 이용하시기 바랍니다.
그러면, Linux 커널 2.4를 이용하는 RedHat Linux 9.0(RH9.0)에서 IPv6를 활성화하고 간단한 네트워크 테스를 하는 방법을 알아보겠습니다.
** 본 문서는Linux IPv6 HOWTO를 참고 하여 작성되었습니다.
1. IPv6 설치여부의 확인
 
IPv6 사용을 위해 RH9.0에 IPv6 모듈을 설치하기 이전에 이미 IPv6 모듈이 로딩되어 있을 수도 있으므로, 이를 확인해 보겠습니다.
IPv6 모듈이 로딩되어 있다면 Linux Process와 관련하여 아래 항목이 존재하게 됩니다.[그림1]
 
사용자 삽입 이미지
[그림1] 프로세스에서 IPv6 관련 항목 확인
만약 위항목이 존재하지 않으면, IPv6 모듈이 아직 로딩되어 있지 않다는 것을 의미합니다.
 
2. IPv6 모듈의 설치
 
IPv6 모듈을 설치는 아래 명령을 입력하면 됩니다.
# modprobe ipv6
IPv6 모듈이 정상적으로 설치되었다면, 모듈 리스트에 나타나게 됩니다.[그림2]
 
사용자 삽입 이미지
[그림2] 모듈 리스트
 
3. 시스템 시작시 IPv6 모듈 자동 로딩
 
위 방법은, 시스템 시작후 수동으로 모듈을 로딩하는 방법입니다. 특히 httpd, bind 등의 데몬이 실행된뒤, IPv6 모듈을 설치하면 httpd, bind 등이 IPv6를 인식하지 못하는 경우가 발생합니다. 따라서, 시스템이 시작될 때 자동으로 IPv6 모듈을 로딩하는 것이 바람직합니다.
커널 모듈 로더(/etc/modules.conf)에 아래와 같이 한 줄을 추가해주면 됩니다.[그림3]
alias net-pf-10 ipv6# 시스템 시작시 자동으로 IPv6 모듈을 로딩함
 
사용자 삽입 이미지
[그림3] /etc/modules.conf 내용
만약, 자동 모듈 로딩을 하지 않으려면 아래와 같이 수정하면 됩니다.
alias net-pf-10 off# 시스템 시작시 자동으로 IPv6 모듈을 로딩하지 않음
 
4. IPv6 주소 확인
 
IPv6 모듈이 로딩되면 시스템에 IPv6 주소가 자동으로(stateless auto-configuration) 생성되게 됩니다.
리눅스에서ip또는ifconfig명령을 이용하여 IPv6 주소를 확인할 수 있습니다.
 
가. ip 명령을 이용한 IPv6 주소 확인
 
사용법 :/sbin/ip -6 addr show dev <interface>
실제로 시스템에 생성된 IPv6 주소를 확인해 보면 [그림4]와 같습니다.
 
사용자 삽입 이미지
[그림4] ip 명령을 이용한 IPv6 주소 확인
[그림4]에서 첫 번째 주소는 수동(manual)으로 입력한 IPv6 주소이며, 두 번째 주소는 Link Local 주소이며, 세 번째 주소는 자동으로 생성(autoconfigured)된 IPv6 주소입니다.
** IPv6를 공식적으로 지원하지 않는 네트워크에서는 두 번째 IPv6 주소(fe80::250:~)만 나타납니다.
 
나. ifconfig 명령을 이용한 IPv6 주소 확인
 
사용법 :/sbin/ifconfig <interface>
시스템에 생성된 IPv6 주소를 확인하면 [그림5]와 같습니다.(IPv6 주소만 필터링 하였음)
 
사용자 삽입 이미지
[그림5] ifconfig 명령을 이용한 IPv6 주소 확인
참고로 네 번째 주소(::1)는 Loopback IPv6 주소입니다.
** IPv6를 공식적으로 지원하지 않는 네트워크에서는 두 번째와 네 번째 IPv6 주소만 나타납니다.
 
다. ping6 명령을 이용한 IPv6 네트워크 테스트
 
만약, 사용하는 네트워크가 IPv6를 공식적으로 지원을 한다면, 바로 ping6 명령을 이용하여 IPv6 네트워크 테스트를 할 수 있습니다.
 
하지만, IPv6를 공식적으로 지원하지 않으면, 향후 설명할Tunneling 기법을 이용하여 IPv6 네트워크 테스트를 할 수 있습니다.
 
사용법 :ping6 <ipv6 주소 또는 호스트명>
 
사용자 삽입 이미지
[그림6] ping6 테스트
위 그림에서 보면, 2001:2b8::1 IPv6 호스트에서 정상적인 응답이 오는 것을 알 수 있습니다.
 
이상으로 IPv6 모듈의 설치, 모듈의 확인, IPv6 주소를 확인하는 방법을 알아보았습니다.
Part 2에서는 IPv6 주소의 설정과 IPv6 주소의 라우팅에 대해 알아보겠습니다.
  Comments,     Trackbacks