IPv6 router guide/ko

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

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

Testing IPv6 support
After enabling the recommended options, recompile the kernel and reboot into the new IPv6-enabled kernel.

If is not yet installed, it is seriously recommended to do so. iproute2 is a network configuration suite that contains, the famous replacement for , , and others...

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

Before going any further, make sure to add ipv6 to the list of USE variables in, so that future emerges of packages will include IPv6 support.

Basic configuration
Most ISPs still do not offer any native IPv6 connections. To get around this limitation, there are several "tunnel brokers" around the globe that offer free IPv6 tunnels. This will allow to tunnel all the IPv6 connections through an IPv4 connection.

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

Hurricane Electric
Hurricane Electric (HE for short) offers free IPv6 tunnels and allocates a /64 block of addresses for each customer. It also allows configuration of reverse DNS. Getting a tunnel from HE is as easy as going to https://www.tunnelbroker.net/ and filling out a one page form.

After a tunnel is approved and a /64 block is allocated, start to configure the system. HE provides sample configurations based on and the  utilities. The following two examples assume that the following configuration is used:

Using the package and the  command, do the following.

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

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

터널 장치를 띄우십시오:

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

Route all global unicast IPv6 addresses through our 'he6' tunnel device:

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

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

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

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

Now when choosing to connect with authentication, configure  by editing. Only the userid and passwd fields need to be changed to match those assigned from Freenet6 and change the gateway server. Below is a sample config file.

Testing the connection
Now that the tunnel is configured, test the connection. The easiest way to do this is to use the  utility and try to ping an IPv6 host.

Further work is currently in progress to add better IPv6 support to the network init scripts. To know the status of this and/or help out, please email.

꾸러미 재 이머지
Unless  was already set in  previously, it is probably necessary to re-emerge a bunch of packages to compile in IPv6 support for them. To get a list of all the installed packages which are affected by USE flag changes, use Portage's   option:

When many USE flags have been changed, the list could be quite long. It's suggested to keep the system up-to-date, so it won't hurt if all affected packages are rebuilt.

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

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

연결 시험
Recent versions of BIND include excellent IPv6 support. This section will assume at least minimal knowledge about the configuration and use of BIND. We will assume that bind is not running in a chroot. If this assumption is wrong, simply append the chroot prefix to most of the paths in the following section.

First add entries for both forward and reverse DNS zone files in.

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

DJBDNS 설정
There are currently some third-party patches to DJBDNS available at http://www.fefe.de/dns/ that allow it to do IPv6 name serving. DJBDNS can be installed with these patches by emerging it with  in the USE variable.

After djbdns is installed, it can be setup by running and answering a few questions about which IP addresses to bind to, where to install tinydns, etc.

Assuming we've installed into, we can now edit. This file will contain all the data needed to get tinydns handling DNS for the IPv6 delegation.

Lines prefixed with a  will have both an AAAA and a PTR record created. Those prefixed with a  will only have an AAAA record created. Besides manually editing the file, it is possible to use the scripts  and  to add new entries. After changes are made to the file, simply run   from. This will create, which tinydns will use as its source of information for DNS requests.

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


 * Either we set the value 1 in the forwarding pseudo-file:




 * Or we use the command:



To enable forwarding at boot, edit and add the following line.

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

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

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

After having emerged, we need to create that contains information about what IP block to assign IPs from. Here is a sample file using the prefix we've been assigned from our tunnel broker.

Further information is available in. We can now start and set it to start at boot.

Stateful configuration
To have a stateful configuration, install and configure.

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

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

radvd 사용하기
Clients behind this router should now be able to connect to the rest of the net via IPv6. If using radvd, configuring hosts should be as easy as bringing the interface up. (This is probably already done by the net.ethX init scripts).

Should this not work ensure that the IPv6 firewall is allowing ICMPv6 packets through:

External resources
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

On IRC, try the channel on Freenode. Connect to the Freenode servers using an IPv6 enabled client by connecting to irc.ipv6.freenode.net.