============================================= ÀÛ¼ºÀÚ : aMper ±âŸ : 2002. 5 . 27 xbit@orgio.net http://drgod.codesum.org OpenBSD-Crew! BSD license Àû¿ë ±¸¼º : NAT ¼³Á¤¹ý.. (ºÎÁ¦ : ¿Ü°èÀεéÀÌ¿© ³ª ´Ù½Ã ºÎȰ ÇÏ¿´µµ´Ù..) ¼öÁ¤ & ÷ºÎ : l1nefeed Date : 2002. 6 . 18 l1nefeed@codesum.org http://l1nefeed.codesum.org OpenBSD-Crew! BSD license Àû¿ë ÷ºÎ³»¿ë : NATȯ°æ ¹Ø¿¡¼­ DHCP ¼³Á¤. ============================================== aMper´Ô²²¼­ º¸³»Áֽй®¼­¸¦ ÀÌÁ¦¾ß ¿Ã¸®°Ô µÇ¾ú½À´Ï´Ù. ½ÃÇè±â°£ÀÌ°í ±×·¡¼­.. ½Ã°£ÀÌ ¾ø¾ú½À´Ï´Ù.. ³Ê±×·¯ÀÌ ¾çÇØ¸¦... ^^;; ## NAT ¼³Á¤ ## ³ªÀÇ ½Ã½ºÅÛ »óȲ ÄÄÇ»ÅÍ µÎ´ë ÇÑ´ë´Â OpenBSD , ´Ù¸¥ ÇÑ´ë´Â WINDOWS98 ÀÌ´Ù. À̵δëÀÇ ÄÄÇ»Å͸¦ OpenBSD ¸¦ ÀÌ¿ëÇÏ¿© NAT ¼³Á¤À» ÇØº¸°Ú´Ù. ifconfig -a ¸¦ ÀÌ¿ëÇÏ¿© ÀÚ½ÅÀÇ ·£Ä«µå¸¦ È®ÀÎÇÏÀÚ # ifconfig -a rl0: flags=8843 mtu 1500 media: Ethernet autoselect (none) status: active inet6 fe80::202:2aff:fed6:a967%rl0 prefixlen 64 scopeid 0x1 inet 211.239.204.14 netmask 0xffffff00 broadcast 211.239.204.255 rl1: flags=8843 mtu 1500 media: Ethernet autoselect (100baseTX full-duplex) status: active inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::2a0:b0ff:fe00:10bc%rl1 prefixlen 64 scopeid 0x2 À̰á°ú ·Î º¸¸é rl0,rl1 ·Î ·£Ä«µåµÎ°³°¡ ÀâÇôÀִ°ÍÀ» º¼¼öÀÖÀ»°ÍÀÌ´Ù.. ³ªÀÇ °æ¿ì ¸®¾óÅØ8139 ·£Ä«µå¸¦ µÎ°³ ¼³Ä¡Çϰí NAT ¼³Á¤À» ½ÃÀÛÇÏ¿´´Ù.. ÀÚ½ÅÀÇ ·£Ä«µå¿¡ ¸Â°Ô ¹Ù²Ù¾î ¼³Á¤Ç϶ó. 1. /etc/pf.conf ¼³Á¤ vi /etc/pf.conf (ÆíÁý) pass in all pass out all ÀÌ·¸°Ô Çϸé ÀÌÁ¦ µé¾î¿À´Â ÆÐŶ°ú ³ª°¡´Â ÆÐŶÀüºÎ¸¦ Åë°ú ½ÃÄÑÁØ´Ù. 2. /etc/hostname.rl1 À» ¸¸µé°í ¼³Á¤ÇÏÀÚ echo "inet 192.168.0.1 255.255.255.0 192.168.0.255" > hostname.rl1 rl1ÀÇ ·£Ä«µå ¼³Á¤ÀÌ ³¡³µ´Ù.. Âü°í : rl0 ÀÇ °æ¿ì ÀÌ¹Ì ¼³Á¤µÅ¾îÀÖÀ»°ÍÀÌ´Ù. cat hostname.rl0 À» ÇØº¸´Ï ´ÙÀ½°ú °°Àº ºÎºÐÀÌ ³ª¿Â´Ù (´Ü À̼³Á¤Àº dhcp ¸¦ ÀÌ¿ëÇÑ ÀÎÅÍ³Ý ISP ¼­ºñ½º¸¦ ¹Þ´Â »ç¶÷¿¡ ÇÑÇÔ) dhcp NONE NONE NONE 3. /etc/rc.conf ¼³Á¤ rc.conf ¿¡¼­ ã¾Æº¸¸é pf=NO # Packet filter / NAT À̺κÐÀ» pf=YES # Packet filter / NAT ÀÌ·¸°Ô ¼öÁ¤Ç϶ó.. 4. /etc/nat.conf ¼³Á¤ nat.conf ¿¡ ´ÙÀ½ À» »ðÀÔ Ç϶ó nat on rl0 from 192.168.0.1/24 to any -> rl0 ÀÌÁ¦ ÀÌ ¸Ó½ÅÀ» dhcp ¼­¹ö·Î ¸¸µé¾î º¸°Ú´Ù. dhcpd ¼³Á¤¿ª½Ã openbsd´Â ¸Å¿ì ±ò²ûÇÏ´Ù. ´ÙÀ½ µÎ°¡Áö ÆÄÀÏÀÇ ¼öÁ¤ÀÌ ÇÊ¿äÇÏ´Ù. /etc/dhcpd.conf /etc/dhcpd.interfaces ## dhcpd ¼³Á¤ ## 1. dhcpd.conf ¼öÁ¤ ÀÏ´Ü vi·Î dhcpd.conf¸¦ ¿­¾îº¸ÀÚ. vi /etc/dhcpd.conf ¾Æ·¡¿Í °°Àº µðÆúÆ® °ªÀ» º¼¼ö ÀÖ´Ù. # $OpenBSD: dhcpd.conf,v 1.1 1998/08/19 04:25:45 form Exp $ # # DHCP server options. # See dhcpd.conf(5) and dhcpd(8) for more information. # # Network: 192.168.1.0/255.255.255.0 # Domain name: my.domain # Name servers: 192.168.1.3 and 192.168.1.5 # Default router: 192.168.1.1 # Addresses: 192.168.1.32 - 192.168.1.127 # shared-network LOCAL-NET { option domain-name "my.domain"; option domain-name-servers 192.168.1.3, 192.168.1.5; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; range 192.168.1.32 192.168.1.127; } } ÀÚ ÀÌÁ¦ ÀÌ°É ¼öÁ¤ÇØ º¸ÀÚ. ¾Æ·¡´Â ÇÊÀÚ(l1nefeed)ÀÇ dhcpd.conf ³»¿ëÀÌ´Ù. ÁÖ¼®À» ÂüÁ¶ÇÏ¸é ½±°Ô ÀÌÇØ°¡ °¥°ÍÀÌ´Ù. # $OpenBSD: dhcpd.conf,v 1.1 1998/08/19 04:25:45 form Exp $ # # DHCP server options. # See dhcpd.conf(5) and dhcpd(8) for more information. # # Network: 192.168.1.0/255.255.255.0 # Domain name: my.domain # Name servers: 192.168.1.3 and 192.168.1.5 # Default router: 192.168.1.1 # Addresses: 192.168.1.32 - 192.168.1.127 # shared-network LOCAL-NET { option domain-name "codesum.org"; # ¼­¹öÀÇ µµ¸ÞÀÎ ³×ÀÓÀ» ³Ö¾îÁØ´Ù. ¾øÀ¸¸é localhost·Î ó¸®ÇÏ¸é µÇ°Ú´Ù. option domain-name-servers 218.146.247.14; # ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â name server¸¦ ³Ö¾îÁØ´Ù. subnet 192.168.100.0 netmask 255.255.255.0 { #external address°¡ ¾Æ´Ñ internal addressÀÇ Á¤º¸¸¦ ³Ö¾îÁØ´Ù. #¿Ö ±×·±Áö´Â ¸»¾ÈÇØµµ ¾Ë°ÍÀÌ´Ù... -_-;; option routers 192.168.100.150; #external interfaceÀÇ ip address. Áï NAT client°¡ »ç¿ëÇÒ gateway ÁÖ¼Ò¸¦ ³Ö¾îÁØ´Ù. range 192.168.100.2 192.168.100.254; #ÇÒ´çÇÒ ip addressÀÇ ¹üÀ§¸¦ Á¤ÇØÁØ´Ù. default-lease-time 10; #±âº» lease-timeÀ» Á¤ÇØÁØ´Ù. (¿É¼Ç) max-lease-time 100; #ÃÖ´ë lease-timeÀ» Á¤ÇØÁØ´Ù. (¿É¼Ç) } ÀÌÁ¨ dhcpd°¡ µ¹¾Æ°¥ interface¸¦ Á¤ÇØÁà¾ß ÇÑ´Ù. À̰ÍÀº /etc/dhcpd.interfaces¿¡¼­ Á¤ÇØÁÖ¸é µÈ´Ù. 2. dhcpd.interfaces ¼öÁ¤. °£´ÜÇÏ°Ô ÀÌ·¸°Ô ÇÑÁÙ ÃÄ ÁØ´Ù. echo "rl1" > /etc/dhcpd.interfaces ÀÌÁ¦ ¼³Á¤Àº ³¡³µ´Ù. ¸¶Áö¸·À¸·Î ºÎÆÃÇÒ¶§ ¸¶´Ù dhcpd¸¦ µ¹¸®±â À§ÇØ /etc/rc.conf¸¦ ¿­¾î Ç÷¡±×¸¦ Á¤ÇØÁÖÀÚ. dhcpd_flags=NO # for normal use: "-q" ¸¦ dhcpd_flags="-q" # for normal use: "-q" ·Î ¹Ù²ãÁÖÀÚ. -q ¿É¼ÇÀº ´«Ä¡ºü¸¥ »ç¶÷À̶ó¸é µ¥¸ó Ȱ¼ºÈ­½Ã ³ª¿À´Â ¸Þ¼¼Áö¸¦ ¾ø¾Ö´Â ¿É¼ÇÀ̶õ°É ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº dhcpd.conf(5), dhcpd(8) À» ÂüÁ¶ÇÏÀÚ. rebootÀ» ÇÑ´Ù.. ÀÌÁ¦ OpenBSD-NAT & DHCP ¼³Á¤ ºÎºÐÀº À̰ÍÀ¸·Î ³¡³µ´Ù Ŭ¶óÀ̾ðÆ®ÀÎ À©µµ¿ì¿¡¼­ÀÇ ¼³Á¤Àº ±×³É dhcp ¼³Á¤ Çϳª·Î ³¡³­´Ù. ¸¸¾à name server ÀÚµ¿À¸·Î ³»·Á¹Þ±â ¿É¼ÇÀ» ÄÒ´Ù¸é, dhcpd.conf¿¡ Á¤ÇØÁØ ³×ÀÓ¼­¹ö¸¦ ¹Þ¾Æ°£´Ù. ±²ÀåÈ÷ ½º¸¶Æ® ÇÏÁö ¾ÊÀº°¡... ¾Æ·¡´Â ÇÊÀÚ(l1nefeed)ÀÇ /var/log/daemon¿¡ ÀÖ´Â dhcpd ·Î±× Áß ÀϺÎÀÌ´Ù. Jun 18 12:00:05 f0rc3 dhcpd: DHCPREQUEST for 192.168.100.2 from 00:10:4b:7f:8a:a e via dc0 Jun 18 12:00:05 f0rc3 dhcpd: DHCPACK on 192.168.100.2 to 00:10:4b:7f:8a:ae via d c0 Jun 18 12:00:10 f0rc3 dhcpd: DHCPREQUEST for 192.168.100.2 from 00:10:4b:7f:8a:a e via dc0 Jun 18 12:00:10 f0rc3 dhcpd: DHCPACK on 192.168.100.2 to 00:10:4b:7f:8a:ae via d c0 Jun 18 12:00:15 f0rc3 dhcpd: DHCPREQUEST for 192.168.100.2 from 00:10:4b:7f:8a:a e via dc0 Jun 18 12:00:15 f0rc3 dhcpd: DHCPACK on 192.168.100.2 to 00:10:4b:7f:8a:ae via d c0 ..... 5ÃÊ °£°ÝÀ¸·Î request¿Í ack¸¦ ÁÖ°í ¹Þ´Â°ÍÀ» ´«À¸·Î º¼¼ö ÀÖ´Ù. ¸î°¡Áö Å×½ºÆ®¸¦ ÇØº» °á°ú¸¦ Àû°Ú´Ù. °³ÀÎ ³×Æ®¿÷¿¡¼± ÄÄÇ»ÅͰ¡ ¸¹¾ÆºÃÀÚ 10´ë ¹Ì¸¸À̰ÚÁö¸¸, ½ÇÁ¦ »ç¾÷Àå(ISP ¾÷ü) ¿¡¼± ½ÇÁ¦·Î ip°¡ ºÎÆÃÇÒ¶§ ¸¶´Ù ¹Ù²î´Â°ÍÀ» ´«À¸·Î ¸ñ°ÝÇÒ¼ö ÀÖ´Ù. ÇÊÀÚÀÇ È¨ ³×Æ®¿÷¿£ ¼­¹ö¸¦ Æ÷ÇÔÇÑ ÄÄÇ»ÅͰ¡ 3´ë ¹Û¿¡ ¾ø¾î¼­ dhcp-cache¿¡ ÀÖ´Â ÀÚ½ÅÀÇ ¾ÆÀÌÇÇ ¸¦ ´Ù¸¥ pc¿¡¼­ ¹Þ¾Æ¼­ ¾²°í ÀÖ¾î, dhcpd¿¡¼­ »õ·Î¿î ¾ÆÀÌÇǸ¦ ºÎ¿©ÇÏ´Â ±×·± ½ÇÁúÀûÀº ¸ð½ÀÀ» º¸±â´Â Èûµé´Ù. ±×·¡¼­ ¾à°£ÀÇ Æ®¸¯À¸·Î ±×·± »óȲÀ» ¸¸µé¾î ÁØ ´ÙÀ½, ¾Æ·¡¿Í °°Àº °á°ú¸¦ ¾òÀ»¼ö ÀÖ¾ú´Ù. Jun 18 11:31:04 f0rc3 dhcpd: DHCPREQUEST for 192.168.100.10 from 00:10:4b:7f:8a:ae via dc0 Jun 18 11:31:04 f0rc3 dhcpd: DHCPACK on 192.168.100.10 to 00:10:4b:7f:8a:ae via dc0 Jun 18 11:34:10 f0rc3 dhcpd: DHCPDISCOVER from 00:10:4b:7f:8a:ae via dc0 Jun 18 11:34:10 f0rc3 dhcpd: Abandoning IP address 192.168.100.10 for 10 seconds: pinged before offer Jun 18 11:34:14 f0rc3 dhcpd: DHCPDISCOVER from 00:10:4b:7f:8a:ae via dc0 Jun 18 11:34:15 f0rc3 dhcpd: DHCPOFFER on 192.168.100.5 to 00:10:4b:7f:8a:ae via dc0 Jun 18 11:34:22 f0rc3 dhcpd: DHCPDISCOVER from 00:10:4b:7f:8a:ae via dc0 Jun 18 11:34:23 f0rc3 dhcpd: DHCPOFFER on 192.168.100.2 to 00:10:4b:7f:8a:ae v address 192.168.100.5ia dc0 Jun 18 11:34:23 f0rc3 dhcpd: client 00:10:4b:7f:8a:ae has duplicate leases on LOCAL-NET Jun 18 11:34:23 f0rc3 dhcpd: Released lease for IP ¿ø·¡ A ÄÄÇ»ÅÍ´Â 192.168.100.10À» ¾²°í ÀÖ¾ú´Ù. ÇÏÁö¸¸ ÀÌ ÄÄÇ»ÅͰ¡ shutdown µÇ¾î ÀÖ´Â µ¿¾È B ÄÄÇ»ÅͰ¡ ÀÌ ÁÖ¼Ò¸¦ ÇÒ´ç¹Þ¾Æ ¾²°í ÀÖ´Ù°í °¡Á¤ÇØ º¸ÀÚ. ³ªÁß¿¡ A ÄÄÇ»ÅͰ¡ ºÎÆÃµÇ¾úÀ»¶§ dhcp-cache¸¦ Àû¿ëÇØ ´Ù½Ã 192.168.100.10À» ºÎ¿©ÇØ ÁÖ·Á ÇÏÁö¸¸ ÀÌ¹Ì ¾²°í ÀÖ´Â ÁÖ¼ÒÀÌ´Ù. ±×·¡¼­ dhcpd¿¡ ºÎ¿©µÈ ¾ÆÀÌÇÇÁß ¾²Áö ¾Ê°í ÀÖ´Â ÀÜ¿© ÁÖ¼Ò¸¦ °Ë»öÇÏ¿© ºÎ¿©ÇØ ÁØ´Ù. ±×¸®°í ³ª¼­ ±âÁ¸¿¡ ÀÖ´ø dhcp-cacheµéÀ» ¾÷µ¥ÀÌÆ® ÇÑ´Ù. ÀÌ»ó ÀÌ´Ù. Á¹ÇÊÀÇ ±ÛÀ» ³¡±îÁö ÀоîÁØ ¿©·¯ºÐµé²² Áø½ÉÀ¸·Î °¨»çµå¸°´Ù. ====================================================================================================================================================== OpenBSD- NAT & DHCPD ¼³Á¤ ¹®¼­¸¦ ±ÞÇÏ°Ô ¾²´À¶ó ÃæºÐÇÑ ¼³¸íÀÌ ¸øµÈ°Å °°½À´Ï´Ù. Ʋ¸°ºÎºÐÀ̳ª ÁöÀûÇØÁÖ½Ç ºÎºÐ, ±×¸®°í Á»´õ º¸ÃæÇØ¾ß ÇÏ´Â ³»¿ëÀÌ ÀÖÀ¸¸é http://openbsdkorea.org ÀÇ °Ô½ÃÆÇ¿¡ ±ÛÀ» ³²°Ü ÁֽʽÿÀ. openbsd Çѱ۹®¼­ÀÇ ¹ßÀü¿¡ µµ¿òÀÌ µÇ´Â Çǵå¹éÀº ¾ðÁ¦³ª ´ë ȯ¿µ! ÀÔ´Ï´Ù!!! :^)