IPv6 router guide/ko

기본 커널 설정
젠투에 있는 임의의 2.6 버전대 커널 트리에는 IPv6 연결을 손쉽게 지원합니다. 새 USAGI IPv6 스택을 리눅스 커널 버전 2.6.0부터 통합했습니다.

이제 커널 소스 디렉터리에 들어갈 준비가 끝났으니 실제 커널 설정을 진행하겠습니다.

IPv6 지원 시험
추천 옵션을 활성화한 다음 커널을 다시 활성화하고 IPv6를 활성화한 커널로 다시 부팅하십시오.

iproute2를 아직 설치하지 않았다면, 지금 진행하는것이 좋습니다. iproute2는 ip가 들어있는 네트워크 설정 도구 모음이며, ifconfig, route, iptunnel 등을 대체하는 유명한 프로그램입니다.

IPv6rk 동작한다면, 루프백 장치에서 IPv6 주소를 보여줘야 합니다:

계속 진행하기 전 의 USE 변수에 ipv6 플래그를 추가했는지 확인하셔서 앞으로 이머지할 꾸러미에 IPv6 기능을 추가할 수 있도록 하십시오.

기본 설정
대부분의 ISP에서는 IPv6 연결을 제공하지 않습니다. 이 제한을 피하기 위해 전세계를 대상으로 무료 IPv6 터널을 제공하는 터널 중개 서비스가 있습니다. 이들은 IPv4 연결로 IPv6 연결 터널을 만들어줍니다.

잘 알려진 북아메리카 터널인 허리케인 일렉트릭(sixxs.net과 마찬가지로 논-하트비트 터널링 기술을 적용합니다)과 Freenet6에 대한 설정 예제를 아래에 보여드리겠습니다.

Hurricane Electric
허리케인 일렉트릭(줄여서 HE)에서는 무료 IPv6 터널과 /64 블록 주소를 제공합니다. 역방향 DNS 를 설정할 수 있습니다. HE에서 터널링 서비스를 제공받는건 https://www.tunnelbroker.net/으로 이동한 후 페이지 양식 하나만 채우면 됩니다.

터널 사용을 승인 받은 다음 /64 블록을 할당받고 나면 젠투 박스를 설정할 수 있습니다. HE에서는 ifconfig 및 iproute 유틸리티를 기반으로 한 설정 예제를 제공합니다. 다음 두가지 예제는 여러분이 다음 설정을 따라가는 상황을 가정합니다:

iproute2 꾸러미 및 명령을 활용하여 다음 과정을 진행하십시오.

지역(eth0) IPv4와 HE의 원격 IPv4 주소간 터널 장치를 만드십시오:

MTU에서 터널링 오버헤드를 추출하십시오:

터널 장치를 띄우십시오:

IPv6 주소를 터널 장치에 할당하십시오:

전역 단일 캐스트 IPv6 주소를 'sixbone' 터널 장치를 거쳐가도록 하십시오:

다음 예제는 부팅할 때 어떻게 처리하는지 보여줍니다:

부팅할 때 장치를 시작하려면:

IPv6 주소가 IPv4 주소체계를 거치게 하면, 우선 패킷은 IPv6 체인을 거치기 전 IPv4 체인을 거쳐갑니다.

Freenet6
Freenet6은 다른 무료 터널링 중개 서비스입니다. 선택적 가입시 사용자 이름과 올바른 전자메일 주소만 있으면 됩니다. 터널링을 관리할 때 클라이언트/서버 설정을 하게 하고   클라이언트를 제공합니다. 이 클라이언트는 포티지에도 있습니다. 설치하려면 다음 명령을 내리십시오:

이제 연결 과정에서 인증하려면 를 편집하여 를 설정해야합니다. Freenet6 에 할당한 userid 및 passwd 입력칸, 그리고 게이트웨이 서버를 바꾸면 됩니다. 예제 설정 파일 내용은 아래에 있습니다.

연결 시험
터널 장치를 설정했으니 연결을 시험해볼 수 있습니다. 가장 쉬운 시험 방법은 유틸리티를 사용하여 IPv6 호스트에 ping을 시도하는 방법입니다.

현재 진행중인 과정에서 더 해야 할 일은 네트워크 초기화 스크립트에 더 좋은 IPv6 지원 기능을 추가하는 것입니다. 상태를 알고 싶거나 도움을 얻고 싶다면 로 전자 메일(영문)을 보내주십시오.

꾸러미 재 이머지
이전에 에서 USE="ipv6"를 설정하지 않았다면 이 설정값을 넣어 해당 프로그램에서 IPv6를 지원하게 하고, 여러 지원 프로그램을 다시 이머지해야합니다. 이 플래그 값을 넣었을 때 설치한 꾸러미 중 어떤 꾸러미가 영향을 받는지 목록을 알아보려면 포티지 명령 실행시   옵션을 활용하십시오

바뀐 USE 플래그가 많다면 목록의 양이 길 수 있습니다. 시스템은 항상 최신으로 유지하여 영향받는 모든 꾸러미를 다시 컴파일 하는데 고통받지 않는게 좋습니다.

IPv6 전용 꾸러미
IPv6를 따로 다루는 꾸러미가 몇가지 있긴 합니다. 이들 대부분은 에 있습니다.

IPv6과 DNS
IPv4 DNS는 A 레코드를 활용하지만 IPv6 DNS는 AAAA 레코드를 활용합니다(IPv4는 2^32 개 주소공간을 활용하지만 IPv6는 2^128개 주소공간을 활용하기 대문입니다). 역방향 DNS를 활용할때는 INT 표준이 낡긴 했지만 여전히 널리 지원합니다 APRA는 최종 표준입니다. APRA 형식은 여기에 설명해드리겠습니다.

연결 시험
최근 BIND 버전에서는 최상의 IPv6 기능을 갖추고 있습니다. 이 장을 살펴보려면 BIND 설정 및 활용에 대한 최소한의 지식을 갖추고 있어야합니다. 루트를 전환한 상황에서 bind를 실행하지 않는다고 가정하겠습니다. 만약 그렇게 실행중이라면, 다음 장의 대부분의 내용에서 나타나듯 각 경로에 앞 부분을 추가하십시오.

우선 에 있는 순방향, 역방향 DNS 존 파일에 항목을 추가해야합니다.

이제 zone 파일을 만들고 모든 호스트 정보를 추가해야합니다:

DJBDNS 설정
IPv6 이름 서비스를 가능케하는 DJBDNS의 서드파티 패치가 현재 http://www.fefe.de/dns/에 있습니다. DJBDNS는 USE 변수에 ipv6 값을 설정했을 경우 이 패치를 끌어와서 함께 설치할 수 있습니다.

djbdns를 설치하고 나면 을 실행하고 어떤 IP 주소를 바인딩할지 어디에 tinydns를 설치할지 등에 대한 몇가지 질문에 답하여 설치할 수 있습니다.

에 를 설치했다면, 를 편집할 수 있습니다. 이 파일에는 tinydns가 IPv6 기능을 대신 수행하는 DNS 서비스를 다룰 때 필요한 모든 데이터가 들어있습니다.

이 앞에 붙어있는 줄은 AAAA와 PTR 레코드가 붙어있어야합니다. 이 앞에 붙어있는 줄에는 AAAA 레코드만 만들어져있습니다. 파일을 직접 편집할 때, 와   스크립트를 활용하여 새 항목을 추가할 수 있습니다. 파일 편집이 끝나면 간단하게 에서 명령을 실행하십시오. 이 명령을 실행하면 DNS 요청시 tinydns에서 정보를 가져올 파일을 만듭니다.

라우팅 설정
IPv6를 통해 클라이언트 머신이 외부 망에 연결할 라우터로 사용하려 한다면 설정을 더 진행해야합니다. IPv6 패킷 전달을 활성화해야합니다. 아래와 같은 방식으로 진행할 수 있습니다.

유사 파일에 1 값을 설정하든지:



또는  명령을 사용하십시오:

부팅할 때 포워딩을 활성화하려면, 를 편집하여 다음 줄을 추가해야합니다.

이제부터 브로커에 구축한 터널을 통해 이 머신에서 트래픽을 전달해야 합니다.

IPv6 주소를 클라이언트에 할당할 때, IPv6 명세에 따르면, 무상태 기반과 상태 기반 두가지 방식의 IP 할당을 허용합니다. 무상태 기반 할당은 라우터 알림 과정을 거치며 클라이언트에서 IP를 얻고 인터페으스를 띄우는 방식만으로 기본 라우터 정보를 가져올 수 있습니다. IP 할당 기록을 하지 않고, 할당할 IP를 제공하므로 "무상태 기반"이라고 합니다. 상태 기반 할당은 DHCPv6에서 처리합니다. "상태 기반"이라고 하는 이유는 IP를 요청한 클라이언트의 상태를 서버에서 유지하며 해당 정보를 받기 때문입니다.

무상태 기반 설정
Stateless configuration is easily accomplished using the Router Advertisement Daemon, or :

를 이머지한 다음, 어떤 IP 블록에서 IP를 할당할지에 대한 정보가 들어있는 설정 파일을 만들어야합니다. 자체 터널 브로커에서 할당한 프리픽스를 넣은 파일 예제를 보여드리도록 하겠습니다.

더 많은 내용은  에 있습니다. 이제 를 시작할 수 있고, 부팅할 때 시작하도록 할 수 있습니다.

상태 기반 설정
상태 기반으로 설정하려면 꾸러미를 설치하고 설정해야합니다.

이제 파일을 편집하여 dibbler 클라이언트를 설정해야합니다.

이제 dibbler 클라이언트를 시작할 수 있고 부팅할 때 시작하도록 설정할 수 있습니다.

radvd 사용하기
이 라우터 안에 있는 클라이언트는 IPv6로 다른 네트워크에도 연결할 수 있어야합니다. radvd를 사용한다면 인터페이스를 띄우는 방법만큼 호스트 설정이 쉽습니다(아마도 거의 net.ethX 초기화 스크립트로 끝냈을겁니다).

IPv6 방화벽에서 ICMPv6 패킷을 허용하지 않도록 해야 합니다:

다른 자료
IPv6에 적용할 만한 훌륭한 온라인 참고자료가 있습니다.

There are many excellent resources online pertaining to IPv6.


 * www.ipv6.org - General IPv6 information
 * www.linux-ipv6.org/ - USAGI project
 * www.deepspace6.net - Linux/IPv6 site
 * www.kame.net - *BSD implementation

IRC에서 프리노드의  대화방에 들어가보실 수 있습니다. 또한 irc.ipv6.freenode.net 서버를 이용하시면 IPv6로 프리노드 서버에 접속하실 수 있습니다.