|
1. 현재 Tunnel 설정 확인 |
|
본격 적인 6to4 터널 설정에 앞서, 현재 시스템에 설정되어 있는 Tunnel의 정보를 확인해 보겠습니다. |
|
ip명령과route명령을 이용하여 Tunnel 설정을 확인할 수 있습니다. |
|
가. ip 명령을 이용한 Tunnel 설정 확인 |
|
사용법 |
|
# /sbin/ip -6 tunnel show [<device>] |
|
사용예 |
|
# /sbin/ip -6 tunnel show |
|
실행결과[그림3]를 보시면, IPv6와 관련된 터널(sit0)이 하나도 없음을 알 수 있습니다. |
|
|
[그림3] |
|
나. route 명령을 이용한 Tunnel 설정 확인 |
|
사용법 |
|
# /sbin/route -A inet6 |
|
2. 6to4 터널의 설정 |
|
가. 6to4 Prefix의 계산 |
|
6to4 터널링은 하나의 IPv6 주소를 생성하는 것이 아니고, /64에 해당되는 Prefix를 생성하는 것이기 때문에 6to4 Prefix가 존재하게 됩니다. |
|
따라서, 6to4 터널을 이용하면 내부적으로 별도의 IPv6 네트워크를 생성할 수 있습니다. |
|
6to4 터널을 설정하게 앞서, 시스템의 IPv4 주소를 이용하여 6to4 네트워크에 사용할 6to4 Prefix를 계산해야 합니다. |
|
자신의 IPv4 주소가 20.30.40.50일 때, 이를 16진수로 변경하면 0A.14.1E.28이 됩니다. |
|
6to4 Prefix는 16진수로 변경한 IPv4 주소를 2002 뒤에 4자리씩 나열한 값이 됩니다. |
|
위 예에서는 2002:0A14:1E28이 6to4 Prefix가 됩니다. |
|
IPv4 주소 | 16진수로 변경한 IPv4 주소 | 6to4 Prefix | 20.30.40.50 | 0A.14.1E.28 | 2002:0A14:1E28 | 203.254.38.37 | CB.FE.26.25 | 2002:CBFE:2625 | 147.46.80.20 | 93.2E.50.14 | 2002:932E:5014 |
|
|
나. Local 6to4 게이트웨이 주소 |
|
6to4 Prefix가 계산이 되면, 6to4로 구현된 내부 IPv6 네트워크의 Local 6to4 게이트웨이 주소를 만들어야 합니다. |
|
일반적으로 Local 6to4 게이트웨이 주소는 6to4 Prefix에 ::1을 더한 형태로 생성합니다. |
|
따라서 6to4 Prefix가 2002:CBFE:2625인 경우 Local 6to4 게이트웨이 주소는 2002:CBFE:2625::1이 되며, 6to4로 구현된 내부 IPv6 네트워크의 데이터는 이 Local 6to4 게이트웨이를 통해 외부로 나가게 됩니다. |
|
다. ip 명령을 이용한 6to4 인터페이스의 설정 |
|
일반적으로 터널을 설정하기 위해서는 별도의 논리적(가상) 인터페이스를 만들고, 주소할당 및 라우팅 처리를 하는 과정을 처치게 됩니다. |
|
6to4 터널역시 tun6to4 라는 가상 인터페이스를 생성하게 됩니다. |
|
1) 6to4 터널 인터페이스 생성 |
|
# /sbin/ip -6 tunnel add tun6to4 mode sit ttl <ttldefault> remote any local <local IPv4 address> |
|
6to4 터널 인터페이스 생성 예 |
|
# /sbin/ip -6 tunnel add tun6to4 mode sit ttl 64 remote any local 203.254.38.37 |
|
이제 생성된 tun6to4 인터페이스를 활성화 시켜야 합니다. |
|
2) tun6to4 인터페이스의 활성화 |
|
ifconfig 명령으로 시스템의 네트워크 인터페이스를 확인해 보면 tun6to4가 생성된 것으로 확인할 수 있습니다.[그림4] |
|
|
[그림4] |
|
그런데, 아직 6to4 IPv6 주소가 tun6to4 인터페이스에 추가되지 않았습니다. |
|
3) 이미 계산한 Local 6to4 게이트웨이 주소를 tun6to4 인터페이스에 추가 |
|
tun6to4 인터페이스에 로컬 6to4 주소 추가 ( 프리픽스 길이가 /16인 것에 유의!) |
|
# /sbin/ip -6 addr add <local 6to4 address>/16 dev tun6to4 |
|
사용예 |
|
# /sbin/ip -6 addr add 2002:CBFE:2625::1/16 dev tun6to4 |
|
이제, tun6to4 인터페이스에 6to4 IPv6 주소가 입력된 것을 확인할 수 있습니다.[그림5] |
|
|
[그림5] |
|
3. 6to4 라우팅 설정 |
|
내부적으로 6to4 터널링 인터페이스가 활성화되고, 주소까지 추가되었더라도 외부와 통신을 위한 라우팅 설정을 하지 않으면 Global IPv6 네트워크와 연결이 되지 않습니다. |
|
6to4 라우팅 설정은 ip 명령을 이용합니다. |
|
# /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1 |
|
위 명령에서 192.88.99.1은 IPv4 Anycast 주소로서, 자신이 속한 네트워크에서 가장 가까운 6to4 릴레이(라우터)를 찾아서 통신을 하게 됩니다. |
|
만약, Anycast 주소를 이용하지 않고, 별도로 자신이 원하는 6to4 릴레이(라우터)를 설정하려면 192.88.99.1 대신 해당 6to4 릴레이(라우터)의 IPv4 주소를 입력하면 됩니다. |
|
# /sbin/ip -6 route add 2000::/3 via ::203.254.38.130 dev tun6to4 metric 1 |
|
** 참고로 192.88.99.1을 입력하면 해외의 6to4 릴레이(라우터)를 이용하게 되는 경우가 있습니다. |
|
** 가능하면 한국전산원의 6to4 릴레이(라우터, 203.254.38.130) 이용을 권장합니다. |
|
참고 : route 명령을 이용한 6to4 설정은Linux IPv6 HowTo 문서를 참고하세요. |
|
4. 6to4 터널의 테스트 |
|
기존 IPv6 테스트때와 마찬가지로 ping6 명령을 이용하여 테스트합니다.[그림6] |
|
예) ping6 2001:2b8::1 |
|
|
[그림6] |
|
5. 6to4 터널의 삭제 |
|
6to4 터널의 삭제는 6to4 터널의 생성과 마찬가지로 ip 명령을 이용합니다. |
|
1) 6to4 터널과 관계된 라우팅 설정의 제거 |
|
# /sbin/ip -6 route flush dev tun6to4 |
|
** 인터페이스민 삭제되고 라우팅 설정이 남아있게 되면 향후 네트워크의 오동작 또는 혼란이 발생할 수 있습니다. |
|
2) 인터페이스의 비활성화 |
|
# /sbin/ip link set dev tun6to4 down |
3) 6to4 인터페이스의 삭제 |
|
# /sbin/ip tunnel del tun6to4 |
|
최종적으로 ifconfig 명령을 이용하여 tun6to4 인터페이스의 유무를 확인합니다. |
|
이상으로 6to4 주소의 계산, 터널의 설정, 삭제에 대해 알아보았습니다. |