FreeBSD¿¡¼ÀÇ IPv6 ¶ó¿ìÅÍ ±¸¼º ¹æ¹ý
±è»ó¹ü, Çѱ¹Åë½Å Åë½Å¸Á¿¬±¸¼Ò
1. ¸Ó¸®¸»
ÀϹÝÀûÀ¸·Î ¶ó¿ìÅÍ´Â ÆÐŶ forwarding À§ÁÖÀÇ Àü¿ë ¶ó¿ìÅÍ(Dedicated Router)¿Í 2°³ ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º¸¦ Áö´Ñ ¹ü¿ë ÄÄÇ»Å͸¦ °³Á¶ÇÏ¿© ¸¸µç È£½ºÆ® ±â¹Ý ¶ó¿ìÅÍ(Host-based Router)·Î ºÐ·ùµÈ´Ù. IPv6 ¶ó¿ìÅ͵µ cicso ¶ó¿ìÅÍ¿Í °°Àº Àü¿ë ¶ó¿ìÅÍ¿Í PC³ª ¿öÅ©½ºÅ×À̼ÇÀ» °³Á¶ÇÏ¿© ¸¸µç È£½ºÆ® ±â¹Ý ¶ó¿ìÅͰ¡ ÀÖ´Ù.
IPv6 Àü¿ë ¶ó¿ìÅÍ´Â °¡°ÝÀÌ ¿ö³« ³ô±â ¶§¹®¿¡ ½ÇÇè¿ëÀ¸·Î »ç¿ëÇϱ⿡´Â ºÎ´ãÀÌ Å©´Ù. ±×·¯³ª È£½ºÆ® ±â¹Ý ¶ó¿ìÅÍ´Â Àú·ÅÇÑ PC³ª ¾ÈÁ¤ÀûÀÎ ¿öÅ©½ºÅ×À̼ÇÀ» Çʿ信 µû¶ó °³Á¶ÇÏ¿© »ç¿ëÇϰí Çʿ伺ÀÌ ¾ø¾îÁö¸é ´Ù½Ã ¹ü¿ë ÄÄÇ»ÅͷΠȰ¿ëÇÒ ¼ö ÀÖ´Ù.
È£½ºÆ® ±â¹Ý ¶ó¿ìÅ͸¦ Á¦ÀÛÇÏ·Á¸é 2°³ ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º Ä«µå¸¦ Áö´Ñ ÄÄÇ»ÅÍ Çϵå¿þ¾î, ¿î¿µÃ¼Á¦, IPv6 ½ºÅà ¼ÒÇÁÆ®¿þ¾î, ¶ó¿ìÆÃ ¼ÒÇÁÆ®¿þ¾î°¡ ÀÖ¾î¾ß ÇÑ´Ù. PCÀÇ °æ¿ì 2ÀåÀÇ LAN Ä«µå, PC¿ë ¿î¿µÃ¼Á¦, KAME, INRIA µîÀÇ IPv6 ½ºÅà ¼ÒÇÁÆ®¿þ¾î, gated, bgpd, zebra, mrtd µîÀÇ ¶ó¿ìÆÃ ¼ÒÇÁÆ®¿þ¾î°¡ ÇÊ¿äÇÏ´Ù. ¼±ÅÃÀº Á¦ÀÛÀÚÀÇ ÀÚÀ¯ÀÌÁö¸¸ º» TM¿¡¼´Â ¾ÈÁ¤¼ºÀ» ¿ì¼±À¸·Î ÇÏ¿© ÆæÆ¼¾ö±Þ PC, 2ÀåÀÇ ethernet Ä«µå, FreeBSD 3.2 ¿î¿µÃ¼Á¦, FreeBSD 3.2 ¿ë KAME IPv6 ½ºÅÃ, bgpd ¶ó¿ìÆÃ µ¥¸ó ÇÁ·Î¼¼½º¸¦ »ç¿ëÇÑ ±âº»ÀûÀÎ PC IPv6 ¶ó¿ìÅÍÀÇ Á¦ÀÛÀ» ¼³¸íÇÑ´Ù. ÀÌ ¶ó¿ìÅÍ´Â ¶ó¿ìÆÃ ±â´ÉÀ» ÁßÁö½Ã۸é IPv6 ´Ü¸»·Î »ç¿ëÀÌ °¡´ÉÇÏ´Ù.
Ãʺ¸ÀÚ°¡ ¼Õ½±°Ô IPv6 ¶ó¿ìÅ͸¦ ±¸¼ºÇϰíÀÚ ÇÒ ¶§ ÇÊ¿äÇÑ ±¸¼º ¿ä¼Ò´Â ´ÙÀ½°ú °°´Ù.
2. FreeBSD 3.2 ¼³Ä¡
ÆæÆ¼¾ö±Þ CPU¿¡ ÁÖ ¸Þ¸ð¸®°¡ 16MB ÀÌ»óÀ̰í ÇÏµå µð½ºÅ© ¿ë·®ÀÌ 4GB Á¤µµÀÎ PC¸¦ ÁغñÇÑ´Ù. PC¸¦ ¶ó¿ìÅÍ·Î »ç¿ëÇÏ·Á¸é 2ÀåÀÇ LAN Ä«µå°¡ ¼³Ä¡µÇ¾î ³×Æ®¿öÅ©¿Í ¿¬°áµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ¸ÕÀú ¶ó¿ìÅÍÀÇ À̸§°ú µµ¸ÞÀÎ, IPv4 ÁÖ¼Ò, °ÔÀÌÆ®¿þÀÌ, ³×ÀÓ ¼¹ö, ³×Æ®¿öÅ© ¸¶½ºÅ©¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ¶ÇÇÑ bgp4+ peeringÀ» À§ÇÑ AS ¹øÈ£, ¿¬°áµÉ »ó´ë Ãø AS ¹øÈ£, »ó´ëÃø ¶ó¿ìÅÍ IPv4 ÁÖ¼Ò, »ó´ëÃø ¶ó¿ìÅÍ IPv6 ÁÖ¼Ò¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù.
FreeBSB 3.2´Â 2ÀåÀÇ Ç÷ÎÇÇ µð½ºÅ©·Î ºÎÆÃ µð½ºÄÏÀ» ¸¸µé ¼ö ÀÖ´Ù. ´ÙÀ½ URL¿¡ µé¾î °¡¼ ºÎÆÃ µð½ºÄÏÀ» ¸¸µç´Ù.
FreeBSD Çѱ¹ »çÀÌÆ®: http://www.kr.freebsd.org/
Ç÷ÎÇÇ µð½ºÅ©¸¦ ÁغñµÈ PC¿¡ ³Ö°í ºÎÆÃÀ» ½ÃŲ´Ù. X developer °ü·Ã ºÎºÐÀ» ¼±ÅÃÇÏ¿© FreeBSD¸¦ ¼³Ä¡ÇÑ´Ù. ¶ó¿ìÅÍÀÇ À̸§°ú IP ÁÖ¼Ò, °ÔÀÌÆ®¿þÀÌ, ³×ÀÓ ¼¹ö, µµ¸ÞÀÎ À̸§µµ ³Ö¾î ÁØ´Ù. ÇÏµå µð½ºÅ©°¡ ÇÑ °³ÀÏ °æ¿ì auto partitionÀ¸·Î ¼³Á¤ÇÏ¸é µÇ°í, µÎ °³ÀÏ °æ¿ì Çϳª´Â auto partitionÀ» ÇÏ°í ´Ù¸¥ Çϳª´Â ÀûÀýÈ÷ create ¸í·ÉÀ» ÅëÇØ partitionÀ» ÇÑ´Ù. FTP passive ¹æ½ÄÀ» ¼±ÅÃÇÏ¿© ³×Æ®¿öÅ©¸¦ ÅëÇØ ¿î¿µÃ¼Á¦°¡ ¼³Ä¡µÇ´Â µ¿¾È ±â´Ù¸°´Ù.
FreeBSD 3.2°¡ ¼³Ä¡µÇ¸é ¸¶¿ì½º ŸÀÔ°ú Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù. X server ¸Þ´º¿¡ ´ëÇØ ºñµð¿À Ä«µå Á¾·ù¿Í ¸ð´ÏÅÍ ÇØ»óµµ, mode selectionÀ» Á¤È®È÷ ÁöÁ¤ÇØ¾ß X À©µµ¿ì »ç¿ë¿¡ ÀÖ¾î¼ ¹®Á¦°¡ ¾ø´Ù. Add User¸¦ »ç¿ëÇØ¼ Àӽà »ç¿ëÀÚ °èÁ¤À» ¸¸µç´Ù. ÀÌÁ¦ Ç÷ÎÇÇ µð½ºÅ©¸¦ Á¦°ÅÇϰí ÀçºÎÆÃÀ» ½ÃŰ´Â °ÍÀ¸·Î FreeBSD 3.2¼³Ä¡°¡ ¿Ï·áµÈ´Ù.
3. IPv6 ½ºÅà ¼³Ä¡
FreeBSD 3.2¿¡ ´ëÇØ /usr/local µð·ºÅ丮¿¡ ÀϺ» KAME IPv6 ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÑ´Ù. ÀÌ´Â ´ÙÀ½ »çÀÌÆ®¿¡¼ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù.
ftp://ftp.kame.net/pub/kame/snap
¿©±â¼ °¡Àå ÃÖ±ÙÀÇ FreeBSD 3.2¿ë KAME ¼ÒÇÁÆ®¿þ¾î¸¦ ´Ù¿î·Îµå ¹Þ´Â´Ù. °³¹ß ÁøÇà ÁßÀÎ ¼ÒÇÁÆ®¿þ¾î¸¦ ´Ù¿î·Îµå ¹Þ´Â ¿ä·ÉÀº ¿ì¼± release ÆÇÀÌ Àִ°¡ º¸°í ¾øÀ¸¸é stable »óÅÂÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ´Ù¿î·Îµå ¹Þ´Â´Ù. Stable ÆÇµµ ¾øÀ¸¸é snap ¼ÒÇÁÆ®¿þ¾î Áß¿¡¼ °¡Àå ÃÖ½ÅÀÇ °ÍÀ» ¹Þµµ·Ï ÇÑ´Ù.
¸ðµÎ ´Ù¿î·Îµå ¹Þ¾ÒÀ¸¸é ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö¸¦ Ç®¾î ³½´Ù. ÀÌ ¶§ ¸í·É¾î´Â ´ÙÀ½°ú °°´Ù.
gzip -c -d kame-1999xxxx-fbsd32-xxxxxx.tgz | tar -xvf -
ÀÌ ¶§ kit ¶ó´Â µð·ºÅ丮°¡ »ý±â°í ±× ¾È¿¡ INSTALL ÆÄÀÏÀÌ ÀÖ´Ù. ÀÌ INSTALL ÆÄÀÏÀ» ÁÖÀDZí°Ô º¸¸é¼ KAME ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ´Ù.
4. ȯ°æ ¼³Á¤
óÀ½ IPv6 ¶ó¿ìÅ͸¦ Á¦ÀÛÇÏ´Â »ç¶÷ÀÌ ¾Ö¸¦ ¸Ô´Â ºÎºÐÀÌ ÀÌ È¯°æ ¼³Á¤ ºÎºÐÀÌ´Ù. ±âº»ÀûÀÎ ³»¿ëÀ¸·Î Â÷±Ù Â÷±Ù ¼³¸íÇÏ¸é ´ÙÀ½°ú °°´Ù.
4.1 rc ÆÄÀÏ
/etc/rc ÆÄÀÏ ³¡ ºÎºÐ(exit 0 ¸í·É¾î ¾Õ¿¡)¿¡ ´ÙÀ½ ½ºÅ©¸³Æ®¸¦ Ãß°¡ÇÑ´Ù.
#-------------------v6 configuration---------------------#
[ -f /usr/local/v6/etc/rc.net6 ] && sh /usr/local/v6/etc/rc.net6
#----------------tunnelling information-----------------#
[ -f /etc/rc.ipv6 ] && sh /etc/rc.ipv6
#-----------------------v6 routing-------------------------#
/usr/local/v6/sbin/bgpd -c /usr/local/v6/etc/bgpd.conf
#----------------------route advertise--------------------#
/usr/local/v6/sbin/rtadvd <³»ºÎ ÀÎÅÍÆäÀ̽º À̸§>
4.2 rc.conf ÆÄÀÏ
/etc/defaults/rc.conf ÆÄÀÏ¿¡¼ ´ÙÀ½ »çÇ×À» ¼öÁ¤ÇÑ´Ù.
hostname="<È£½ºÆ® Àüü À̸§>" # Set this!
network_interfaces="ÀÎÅÍÆäÀ̽º1 ÀÎÅÍÆäÀ̽º2
lo0"
ifconfig_ÀÎÅÍÆäÀ̽º1="inet <IPv4 ÁÖ¼Ò> netmask <IPv4 ¸¶½ºÅ©>"
ifconfig_ÀÎÅÍÆäÀ̽º2="inet <IPv4 ÁÖ¼Ò> netmask <IPv4
¸¶½ºÅ©>"
defaultrouter="<IPv4 ÁÖ¼Ò>" #
Set to default gateway (or NO).
gateway_enable="YES" #
Set to YES if this host will be a gateway.
router_enable="NO" #
Set to YES to enable a routing daemon.
moused_enable="YES" # Run the mouse daemon.
4.3 rc.net6
/usr/local/v6/etc/rc.net6 ÆÄÀÏÀº rc.net6.sample ÆÄÀÏÀ» º¹»çÇÑ ÈÄ ´ÙÀ½ ºÎºÐÀ» ¼öÁ¤ÇÑ´Ù.
ip6router=YES
iface="ÀÎÅÍÆäÀ̽º1 ÀÎÅÍÆäÀ̽º2"
prefix_ÀÎÅׯäÀ̽º1="IPv6 prefix"
prefix_ÀÎÅÍÆäÀ̽º2="IPv6 prefix"
#iface="ed0" #comment 󸮰¡ ÇÊ¿ä
# route6d
# [ -x $route6d ] && $route6d $route6dflags
#comment 󸮰¡ ÇÊ¿ä
4.4 rc.ipv6 ÆÄÀÏ
/etc/rc.ipv6 ÆÄÀÏÀº Åͳθµ Á¤º¸¸¦ ´ã°í ÀÖ´Ù. ´ÙÀ½Àº ep0¿Í vx0 ÀÎÅÍÆäÀ̽º¸¦ Áö´Ñ ¶ó¿ìÅÍ¿¡ ´ëÇÑ ½ÇÁ¦ ¿¹¸¦ ³ªÅ¸³½´Ù. ¸ÕÀú gifconfig¸¦ Á¤ÇØÁÖ°í ifconfig¸¦ Á¤ÇØÁÖ¾î¾ß ÇÑ´Ù. ¸¶Áö¸·¿¡ default °æ·Î¸¦ Àâ¾ÆÁØ´Ù.
#----------------my system---------------#
/usr/local/v6/sbin/prefix ep0 3ffe:502:3:100:: prefixlen 64
/usr/local/v6/sbin/ifconfig ep0 inet6 3ffe:502:3:100::20:af38:e4ce prefixlen
64 alias
/usr/local/v6/sbin/prefix vx0 3ffe:502:3:101:: prefixlen
64
/usr/local/v6/sbin/ifconfig vx0 inet6 3ffe:502:3:101::a0:2496:1c67 prefixlen
64 alias
#-----------------to KAIST---------------#
/usr/local/v6/sbin/gifconfig gif0 203.255.255.84 192.249.24.26
/usr/local/v6/sbin/ifconfig gif0 inet6 3ffe:502:3:100::20:af38:e4ce 3ffe:502:3:2:290:27ff:
fe43:121f alias
#-----------------to ETRI----------------#
/usr/local/v6/sbin/gifconfig gif1 203.255.255.84 129.254.254.82
/usr/local/v6/sbin/ifconfig gif1 inet6 3ffe:502:3:100::20:af38:e4ce 3ffe:2e00::20:af86:f99
6 alias
#---------------default route------------#
/usr/local/v6/sbin/route add -inet6 default 3ffe:502:3:2:290:27ff:fe43:121f
4.5 bgpd.conf ÆÄÀÏ
/usr/local/v6/etc/bgpd.conf ÆÄÀÏ¿¡´Â ripng¿Í bgpd4+ °ü·Ã Á¤º¸¸¦ ³Ö¾î ÁØ´Ù. ´ÙÀ½ ¿ª½Ã ½ÇÁ¦ ¿¹¸¦ ³ªÅ¸³½´Ù.
autonomoussystem 9270;
routerid 203.255.255.84;
# RIPng
rip yes {
interface vx0
default originate;
interface gif0 noripin noripout;
interface gif1 noripin noripout;
};
# aggregation (RIPng)
aggregate 3ffe:502:3:100::/56 {
proto direct interface
gif0 {all;};
};
# BGP4+
bgp yes {
# KAIST
group type external peeras 7622
{
peer
3ffe:502:3:2:290:27ff:fe43:121f;
};
# ETRI
group type external peeras 3559
{
peer
3ffe:2e00::20:af86:f996;
};
};
# export list
export proto bgp as 7622 {
proto direct interface ep0 {all;};
};
export proto bgp as 3559 {
proto direct interface ep0 {all;};
};
5. ¶ó¿ìÆÃ °³½Ã
ȯ°æ ¼³Á¤ÀÌ ¸ðµÎ ³¡³ª¸é ´ÙÀ½ ¸í·ÉÀ¸·Î rebooting ½ÃŰ¸é ¶ó¿ìÅÍ·Î µ¿ÀÛÇÑ´Ù.
sync;sync;sync;shutdown -r now
À̶§ ¿¬°áÇÒ (bgp4+ peeringÀ» ½ÃµµÇÒ) »ó´ë Ãø¿¡°Ô ¿¬¶ôÀ» ÃëÇÏ¿© ¼·Î AS ¹øÈ£, ¶ó¿ìÅÍÀÇ IPv4 ÁÖ¼Ò, IPv6 ÁÖ¼Ò¸¦ ±³È¯ÇÏ¿© ȯ°æ ¼³Á¤ ÆÄÀÏ¿¡ ÀÔ·ÂÇϵµ·Ï ÇÑ´Ù.
Áö±Ý±îÁö´Â °¡Àå ±âº»ÀûÀÎ IPv6 ¶ó¿ìÅÍ Á¦ÀÛ ¹æ¹ýÀ» ¼³¸íÇÏ¿´°í À̿ܿ¡ QoS, bgp4+ ¶ó¿ìÆÃ, KAME ÄÚµå µî¿¡ ´ëÇØ Ãß°¡·Î ¾Ë·Á¸é ´ÙÀ½ URLÀ» Âü°íÇÏ¸é µÈ´Ù.
ÇÑÆí Çѱ¹Åë½Å Åë½Å¸Á¿¬±¸¼Ò ÀÎÅͳݱâ¼ú¿¬±¸½Ç¿¡ Àǹ®»çÇ׿¡ ´ëÇØ E-mailÀ» º¸³»´Â ¹æ¹ýµµ ÀÖ´Ù.