IPv6 PC 라우터및호스트설치및설정방법 IPv6 포럼코리아기술문서 2001-003 IPv6 PC 라우터및호스트설치및설정방법 (FreeBSD 4.2) IPv6 PC Router & Host Configuration (for FreeBSD 4.2) 정재훈 (J. H. Jeong ) ETRI 이승윤 (S. Y. Lee) ETRI 김용진 (Y.J. Kim) ETRI 목차 1. FreeBSD 운영체제설치 2. 네트워크구조 3. 네트워크인터페이스의 IPv6 주소지정 4. 터널인터페이스설정 5. IPv6 라우팅테이블의디폴트게이트웨이엔트리설정 6. PC 라우터의작동및검사 7. IPv6 호스트설치및설정 APPENDIX: rc.conf (PC-Router 네트워크설정파일예 ) 1
IPv6 포럼코리아기술문서 2001-003 IPv6 PC 라우터및호스트설치및설정방법 (FreeBSD 4.2) IPv6 Host & PC Router Configuration (for FreeBSD 4.2) 정재훈 (J. H. Jeong ) 이승윤 (S. Y. Lee) 김용진 (Y.J. Kim) ETRI ETRI ETRI 본문서는 FreeBSD 4.2 운영체제를이용하여, IPv6 Network 구축을위한 IPv6 PC 라우터와호스트의설치와설정방법을설명하고, 터널링 (Tunneling) 을통한다른 IPv6 Network 과의연동방법을기술한다. 1. FreeBSD 운영체제설치 A. http://www.kr.freebsd.org/handbook/install.shtml 에설명된인스톨가이드를참고해서 FreeBSD를설치한다. B. PC 라우터를구성하므로두개이상의 NIC(Network Interface Card) 를해당 PC 에설치한다. ( 참고로본고에서는 NIC로써두개의 3Com 3c905B-TX Fast EtherLink XL을사용하였다.) C. 따라서, FreeBSD를설치하는컴퓨터의 NIC는 2개이고모두 3Com 3c905B-TX Fast EtherLink XL이라고전제한다. 가 ) 첫번째네트워크디바이스명칭 : xl0 나 ) 두번째네트워트디바이스명칭 : xl1 2
IPv6 PC 라우터및호스트설치및설정방법 2. 네트워크구조 Net 1 : IPv4/IPv6 H 1 H 2 Router 1 Tunnel Interface 의 IPv4 주소 : 129.254.254.86 Tunnel Interface 의 IPv6 주소 : 3ffe:2e00:e:fff5::1 IPv4 Internet IPv6/IPv4 Tunneling Router 2 Xl0 의 IPv4 주소 : 129.254.165.59 Tunnel Interface(gif0) 의 IPv6 주소 : 3ffe:2e00:e:fff5::2 PC-Router Xl1 의 IPv6 주소 : 3ffe:2e01:1:3 + Interface ID (Auto-Configuration address) H 3 H 4 Net 2: Native IPv6 (3ffe:2e01:1:3::/64) 그림 1. Tunneling Network 구조 그림1과같이 PC-Router와 Router 1을터널링 (Tunneling) 하고자한다. PC-Router는 IPv6 Prefix 3ffe:2e01:1:3::/64를할당받아서 Router 1과 IPv6 over IPv4 Tunneling을한다. Router 1의 TEP(Tunneling End Point) IPv4 주소는 129.254.254.86이고, PC- Router의 TEP IPv4 주소는 129.254.165.59 이다. Router 1의 TEP IPv6 주소는 3ffe:2e00:e:fff5:1이고, PC-Router의 TEP IPv6 주소는 3ffe:2e00:e:fff5:2이다. 3. 네트워크인터페이스의 IPv6 주소지정 A. 가정가 ) 할당받은 IPv6 Prefix는 3ffe:2e01:1:3::/64이다. 나 ) PC-Router의 xl0 IPv4 주소는 Router 1과터널링되는 IPv4 주소이다. 다 ) Prefix 3ffe:2e01:1:3::/64의 Subnet은 PC-Router의 xl1과직접연결되어있다. 3
IPv6 포럼코리아기술문서 2001-003 라 ) xl1의주소는 Autoconfiguration에의해 IPv6 주소를부여받지만, Prefix 3ffe:2e01:1:3:: 와임의의값 (1) 을결합시켜유일한 IPv6주소 (3ffe:2e01:1:3::1) 를배정함 (PC-Router가관장하는 Link-local Network의 Host가 default-gateway로 PC- Router를지정할때필요함 ) 마 ) PC-Router의 gif0는 Router 1과터널링할때이용되는 Tunnel interface이다. B. Kernel Network Information Table에 IPv6 기능에필요한정보제공 : /etc/rc.conf ( 네트워크설정파일 ) 에다음의엔트리들을포함시켜야한다. ipv6_enable="yes" # Set to YES to set up for IPv6. ipv6_network_interfaces="xl0 xl1 lo0" # List of network interfaces (or "auto"). ipv6_prefix_xl1="3ffe:2e01:1:3" # Prefix for router advertisement ipv6_ifconfig_xl1="3ffe:2e01:1:3::1 prefixlen 64" # Alias entry ipv6_gateway_enable="yes" # Set to YES if this host will be a gateway. rtadvd_enable="yes" # Set to YES to enable an IPv6 router advertisement daemon. If set to YES, this router becomes a possible candidate IPv6 default router for local subnets. gif_interfaces="gif0" # List of GIF tunnels (or "NO"). ipv6_firewall_enable="no" # Set to YES to enable IPv6 firewall functionality 4
IPv6 PC 라우터및호스트설치및설정방법 4. 터널인터페이스설정 A. Router 1의 IPv4 주소가 129.254.254.86이라고가정 B. PC-Router의 Tunnel interface인 gif0의물리적 Interface xl0의 IPv4 주소가 129.254.165.59라고가정 C. gif0 interface에 Tunnel 정보를입력함 : /etc/rc 에다음엔트리를추가한다. # Setup of Tunnel /usr/sbin/gifconfig gif0 129.254.165.59 129.254.254.86 /sbin/ifconfig gif0 inet6 3ffe:2e00:e:fff5::2 3ffe:2e00:e:fff5::1 prefixlen 64 5. IPv6 라우팅테이블의디폴트게이트웨이엔트리설정 A. Router 1의 TEP IPv6 주소를 IPv6 default-gateway 주소로설정가 ) Router 1의 TEP IPv6 주소 : 3ffe:2e00:e:fff5::1이다. 나 ) PC-Router의 gif0가 Router 1의 TEP 3ffe:2e00:e:fff5::1와연결되게됨 B. PC-Router의상대방 TEP IPv6 주소를 default-gateway로설정 : /etc/rc 에다음엔트리를추가한다. # Setup of IPv6 default-gateway /sbin/route add -inet6 default 3ffe:2e00:e:fff5::1 6. PC 라우터의작동및검사 A. PC-Router를재부팅한다. B. 네트워크인터페이스 xl0, xl1 그리고 gif0가제대로설정되었는지확인가 ) 그림 2와같이 ifconfig 명령 (> ifconfig -a) 으로확인함나 ) xl1에 IPv6 주소 3ffe:2e01:1:3::1/64 가설정되어있는지확인다 ) gif0의 TEP IPv6 주소 (3ffe:2e00:e:fff5::2) 가 Router 1의 TEP IPv6 주소 (3ffe:2e00:e:fff5::1) 와제대로연관되어있는지확인 C. 라우팅테이블에서 IPv6 default-gateway가 Router 1의 IPv6 주소로되어있는지확인가 ) 그림 3과같이 netstat 명령 (>netstat rn) 으로확인함나 ) IPv6 라이팅테이블의 default 엔트리의 Gateway가 Router 1의 TEP의 IPv6 주소 (3ffe:2e00:e:fff5::1) 인지확인함 5
IPv6 포럼코리아기술문서 2001-003 그림 2. Network Interface xl0, xl1 그리고 gif0 의설정확인 그림 3. IPv6 default gateway 의설정확인 6
IPv6 PC 라우터및호스트설치및설정방법 다 ) IPv6 라우팅테이블의 default 엔트리의네트워크인터페이스 (Netif) 가 gif0 인지확인함 D. 위의검사에이상이없을때 IPv6 Networking 기능을확인가 ) PC-Router 자신의 IPv6주소로 ping6를실행함나 ) Router 1의 TEP IPv6 주소로 ping6를실행함다 ) 그림 4와같이 ping6의응답이제대로돌아오면 IPv6 Networking 기능이제대로동작하고있음을확인할수있음. 라 ) IPv6 DNS 서비스를받을수있는경우에는그림 5와같이 ping6에 IPv6 주소대신에도메인이름 (www.6bone.net) 을입력해도된다. 그림 4. IPv6 Networking 기능확인 7
IPv6 포럼코리아기술문서 2001-003 그림 5. IPv6 DNS 를이용한 IPv6 주소의 Resolution 7. IPv6 호스트설치및설정 IPv6 호스트를설치하는순서는다음과같다. FreeBSD를설치하고, PC-Router를설정할때와같이 /etc/rc.conf와 /etc/rc에 IPv6 Networking에필요한구성정보를추가한다. IPv6 호스트가위치할 Network의 IPv6 Prefix와임의의값을가지고 IPv6 주소를정할수있으나, PC 라우터가 Router Advertisement를통해 Prefix 정보를공지하므로, Host는 Auto-configuration을통해유일한주소를할당받을수있다. A. 설치할호스트는그림 1에서 Net2의 H3이다. B. H3의 Network Interface는 xl0라고가정한다. C. 그림 1에서 PC-Router가 Prefix 3ffe:2e01:1:3::/64를 Advertise하므로 H3는 EUI- 64 방식으로유일한 IPv6 주소를배정받을수있다. 가 ) 3ffe:2e01:1:3:: + Interface ID -> H3의 IPv6 주소 D. Prefix에임의의값을결합하여 IPv6 주소를배정받을수있다. 가 ) 3ffe:2e01:1:3:: + 임의의값 -> H3의 IPv6 주소나 ) 예 : 3ffe:2e01:1:3::2 /64 E. 커널네트워크정보테이블에 IPv6 기능에필요한정보제공 : /etc/rc.conf 에다음의엔트리들을포함시켜야한다. 8
IPv6 PC 라우터및호스트설치및설정방법 ipv6_enable="yes" # Set to YES to set up for IPv6. ipv6_network_interfaces="xl0 lo0" # List of network interfaces (or "auto"). ipv6_ifconfig_xl0="3ffe:2e01:1:3::2 prefixlen 64" #Alias entry ipv6_gateway_enable="no" # Set to YES if this host will be a gateway. F. IPv6 라우팅테이블의디폴트게이트웨이엔트리설정가 ) PC 라우터의 xl1의 IPv6 주소 (3ffe:2e01:1:3::1) 를 IPv6 디폴트게이트웨이주소로설정 : /etc/rc 에다음엔트리를추가한다. # Setup of IPv6 default-gateway /sbin/route add -inet6 default 3ffe:2e01:1:3::1 G. IPv6 Networking 기능확인가 ) ifconfig와 netstat로 IPv6 구성이제대로되어있는지확인 : PC 라우터와같은방법으로수행한다. 나 ) ping6로자신의 IPv6 주소로 ping을함 ping6 3ffe:2e01:1:3::2 다 ) gateway인 PC 라우터와연결되어있는지확인 ping6 3ffe:2e01:1:3::1 9
IPv6 포럼코리아기술문서 2001-003 APPENDIX : rc.conf (PC-Router 네트워크설정파일예 ) # This file now contains just the overrides from /etc/defaults/rc.conf # please make all changes to this file. # Enable network daemons for user convenience. # -- sysinstall generated deltas -- # ### IPv4 options ### network_interfaces="xl0 xl1 lo0" ifconfig_xl0="inet 129.254.165.59 netmask 255.255.255.0" ifconfig_xl1="inet 129.254.179.17 netmask 255.255.255.240" hostname="router.etri.re.kr" linux_enable="yes" sendmail_enable="no" moused_enable="yes" saver="star" defaultrouter="129.254.165.1" inetd_enable="yes" gateway_enable="yes" ### IPv6 options ### ipv6_enable="yes" # Set to YES to set up for IPv6. ipv6_network_interfaces="xl0 xl1 lo0" # List of network interfaces (or "auto"). ipv6_prefix_xl1="3ffe:2e01:1:3" # Prefix for router advertisement. ipv6_ifconfig_xl1="3ffe:2e01:1:3::1 prefixlen 64" #alias entry ipv6_gateway_enable="yes" # Set to YES if this host will be a gateway. rtadvd_enable="yes" # Set to YES to enable an IPv6 router # advertisement daemon. If set to YES, # this router becomes a possible candidate # IPv6 default router for local subnets. gif_interfaces="gif0" # List of GIF tunnels (or "NO"). ipv6_firewall_enable="no" # Set to YES to enable IPv6 firewall # functionality 10