FreeBSD¿¡¼­ Çϳª·Î ADSL »ç¿ëÇϱâ

ÃÖÁØÈ£ <cjh@kr.FreeBSD.org> Àú.
2001³â 10¿ù 23ÀÏ, Revision 1.3

0. µé¾î°¡±â Àü¿¡

Çϳª·Î ADSL(¿ÜÀåÇü)À» FreeBSD¿¡¼­ ÀÌ¿ëÇÏ¿© ÀÎÅÍ³Ý ¿¬°áÀ» ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¼³¸íÇϰڽÀ´Ï´Ù. FreeBSD´Â ÀÚüÀûÀ¸·Î ÁغñµÇ¾î ÀÖ´Â userland ppp(8)ÀÌ »ó´çÈ÷ °­·ÂÇÑ ±â´ÉÀ» Á¦°øÇÏ´Â °ü°è·Î À̰ÍÀ» »ç¿ëÇÏ¸é ¸ðµ©ÀÇ pppÁ¢¼ÓÀ̳ª Å͹̳Π¼­¹ö¸¦ ¸¸µå´Â °Íµµ Å©°Ô ¾î·ÆÁö ¾Ê½À´Ï´Ù¸¸(ppp ¸Å´º¾ó ÆäÀÌÁö ÂüÁ¶), ADSL Á¢¼Óµµ ¾à°£ÀÇ ³ë·Â¸¸ ÇÏ¸é ½±°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.

1. °¡Á¤

2. ¼³Á¤

ÀÏ´Ü ´ÙÀ½°ú °°Àº ±¸¼ºÀ» °¡Á¤ÇϰڽÀ´Ï´Ù. ¿©·¯ºÐÀÇ »ç¾ç¿¡ µû¶ó ³×Æ®¿öÅ© Ä«µå´Â ´Ù¸¦ ¼ö ÀÖÀ¸¹Ç·Î ¾Æ·¡ÀÇ ÀåÄ¡¸íÀº ¿©·¯ºÐÀÇ NIC ÀåÄ¡¸í¿¡ ¸Â°Ô ¾Ë¸Â°Ô ¹Ù²Ù¾î ¾²¼¼¿ä.

2.1. ±âº»ÀûÀÎ ¼³Á¤

ADSL¸ðµ©°ú ¿¬°á PC´Â °¡»ó LANÀÇ ±¸¼ºÀ» °®´Âµ¥,

ADSL ¸ðµ©: 10.0.0.138
ÀÚ½ÅÀÇ PC: 10.0.0.140

ÀÇ ±¸¼ºÀ» °¡Á®¾ß ÇÕ´Ï´Ù. µû¶ó¼­ ¿©·¯ºÐÀÇ ·£Ä«µå¸¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÏ¸é µË´Ï´Ù.

IP:         10.0.0.140
³Ý¸¶½ºÅ©:   255.0.0.0
±âº»¶ó¿ìÅÍ: ¾øÀ½

ifconfigÀÇ Ãâ·Â°á°ú´Â º¸Åë ´ÙÀ½°ú °°°Ô µË´Ï´Ù. ed0Àº ÀÚ½ÅÀÇ Ä«µå¸íÀÔ´Ï´Ù.

> ifconfig ed0
ed0: flags=8843 mtu 1500
        inet 10.0.0.140 netmask 0xff000000 broadcast 10.255.255.255
        inet6 fe80::2c0:26ff:feee:f904%ed0 prefixlen 64 scopeid 0x1 
        ether 00:c0:26:ee:f9:04

/stand/sysinstallÀ» ºÎ¸£°Å³ª /etc/rc.conf¸¦ Àû´çÈ÷ ÆíÁýÇØ¼­ ³×Æ®¿öÅ© ¼³Á¤À» Çϼ¼¿ä. /etc/rc.conf¿¡¼­ ÇÊ¿äÇÑ °ÍÀº ´ÙÀ½°ú °°½À´Ï´Ù.

ifconfig_ed0="inet 10.0.0.140  netmask 255.0.0.0"

ÀÌÁ¦ ADSL¸ðµ©À¸·Î pingÀ» ÇØ¼­ Àß µÇ¸é ÀÏ´Ü ¾È½ÉÀÔ´Ï´Ù.

$ ping 10.0.0.138
PING 10.0.0.138 (10.0.0.138): 56 data bytes
64 bytes from 10.0.0.138: icmp_seq=0 ttl=15 time=1.444 ms
64 bytes from 10.0.0.138: icmp_seq=1 ttl=15 time=1.431 ms
^C
--- 10.0.0.138 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.431/1.438/1.444/0.006 ms

±×¸®°í userland ppp¸¦ »ç¿ëÇϹǷΠÅͳθµ ÀåÄ¡ÀÎ tun0°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ´Â ±âº» Ä¿³Î¿¡µµ µé¾îÀÖÀ¸¹Ç·Î º°´Ù¸¥ ¼³Á¤Àº ÇÊ¿ä¾øÁö¸¸ Ȥ Ä¿³Î ÄÄÆÄÀϽÿ¡ ºü¶ß·È´Ù¸é ´ÙÀ½ ÁÙÀ» Ä¿³Î ¼³Á¤ ÆÄÀÏ¿¡ ³Ö¾î¼­ ´Ù½Ã Ä¿³ÎÀ» ÄÄÆÄÀÏÇϼ¼¿ä.

pseudo-device   tun     1       # Packet tunnel

tun0¿¡ ´ëÇØ ifconfig´Â ´ÙÀ½°ú °°¾Æ¾ß ÇÕ´Ï´Ù.

$ ifconfig tun0
tun0: flags=8010 mtu 1500
FreeBSD 4.X¿¡¼­´Â tun0ÀåÄ¡´Â ppp ´ë¸óÀÌ ½ÇÇàµÇÁö ¾ÊÀ¸¸é Ȱ¼ºÈ­µÇÁö ¾ÊÀ¸¹Ç·Î ifconfig tun0·Î º¼ ¼ö°¡ ¾ø½À´Ï´Ù. tunÀåÄ¡´Â FreeBSD 4.X Ä¿³Î¿¡¼­´Â ±âº» ÀåÄ¡¿¡ ¼ÓÇØ ÀÖÀ¸¹Ç·Î, ÀÚ½ÅÀÌ Ä¿³ÎÀ» ´Ù½Ã ÄÄÆÄÀÏÇÑ °æ¿ì¿¡¸¸ tun ÀåÄ¡°¡ Æ÷ÇԵǾú´ÂÁö È®ÀÎÇØ º¸±â ¹Ù¶ø´Ï´Ù.

ÀÌÁ¦ /etc/hosts¿¡ ±âº»ÀûÀΠȣ½ºÆ® À̸§À» ¸î°¡Áö ÁöÀ¾´Ï´Ù.

10.0.0.138            adsl
10.0.0.140            router

10.0.0.140ÀÇ À̸§Àº ¸¶À½´ë·Î Á¤ÇØ ÁÖ¼¼¿ä.

2.2. Çϳª·Î·Î Á¢¼Ó - PPTP

Çϳª·Î ADSLÀÇ PPTP ¿¬°á(MS VPN¼­¹ö¿¡¼­ Á¦°øÇÏ´Â)À» »ç¿ëÇϱâ À§Çؼ­´Â pptp-linux °¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ÆÐŰÁö´Â FreeBSD Æ÷Æ® ÄÝ·º¼Ç¿¡ Æ÷ÆÃµÇ¾î ÀÖÀ¸¹Ç·Î º°µµ·Î Æ÷ÆÃÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. net/pptpclient ¿¡¼­ ãÀ¸¸é µË´Ï´Ù.

´Ù¸¸ ¸®´ª½º¿¡¼­ Çϳª·Î Åë½Å »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ±Û¿¡¼­ ãÀ» ¼ö ÀÖµíÀÌ, winner/looser¶ó´Â Ŭ¶óÀÌ¾ðÆ®¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù°í ÇÕ´Ï´Ù¸¸ ÀúÀÇ °æ¿ì dhcpÀÎÁõÀÌ ¾ÈµÇ°í pptpÁ¢¼Ó¸¸ µÇ´Â »óȲÀ̹ǷΠ¼³¸íÇÏÁö ¾Ê°Ú½À´Ï´Ù. ÀÌ ±ÛÀº pptp Á¢¼Ó¸¸ ¼³¸íÇÕ´Ï´Ù.

2.2.1. Æ÷Æ® ÄÄÆÄÀÏÇϱâ/ÆÐŰÁö ¼³Ä¡Çϱâ

net/pptpclient´Â 3.3-RELEASEºÎÅÍ Àִµ¥, 3.4-RELEASE±îÁöÀÇ Æ÷Æ®/ÆÐŰÁö´Â ¸®´ª½º ÂÊ Á¢¼Ó¹æ¹ý¿¡µµ ³ª¿ÀµíÀÌ °£´ÜÇÑ ÆÐÄ¡¸¦ Çϳª ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. 2000/1/30 ÀÌÈÄ¿¡´Â ÀÌ ÆÐÄ¡°¡ pptp-client Æ÷Æ®¿¡ Àû¿ëµÇ¾úÀ¸¹Ç·Î ÀÌÈÄ ¸±¸®Áî »ç¿ëÀÚ´Â ±âº»À¸·Î Á¦°øµÇ´Â Æ÷Æ®/ÆÐŰÁö¸¦ ¼öÁ¤ ¾øÀÌ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. 2000/1/30ÀÌÈÄÀÇ ¸ðµç ¸±¸®Áî ¶Ç´Â -stable/-current »ç¿ëÀÚ´Â ±âº» ÆÐŰÁö¸¦ ¼³Ä¡ÇÏ½Ã°í ¾Æ·¡ ³»¿ëÀ» °Ç³Ê ¶Ù¼¼¿ä.

2000/1/30 ÀÌÀü (3.4-RELEASEÆ÷ÇÔ) »ç¿ëÀÚ

ÆÐÄ¡´Â ¾Æ·¡ÀÇ ´ÙÀ½°ú °°Àº ÆÄÀÏÀ» /usr/ports/net/pptpclient/patches/patch-ba ·Î ÀúÀåÇÕ´Ï´Ù. ¶Ç´Â ´ÙÀ½ Àå¼Ò¿¡¼­ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

ftp://ftp.kr.FreeBSD.org/pub/users/cjh/FreeBSD-ADSL/pptp-patch

--- pptp_ctrl.c~        Thu Feb 19 07:42:14 1998
+++ pptp_ctrl.c Sun Nov 14 11:12:03 1999
@@ -513,7 +513,7 @@
          close_reason = PPTP_STOP_PROTOCOL;
          goto pptp_conn_close;
        }
-       if (ntoh8(packet->result_code)!=1) { /* some problem with start */
+       if (ntoh8(packet->result_code)!=1 && ntoh8(packet->result_code)!=0) { /* some problem with start */
          /* if result_code == 5, we might fall back to different version */
          if (conn->callback!=NULL) conn->callback(conn, CONN_OPEN_FAIL);
          close_reason = PPTP_STOP_PROTOCOL;

ÄÄÆÄÀÏÇØ¼­ ¼³Ä¡ÇÏ·Á¸é ¹Ì¸® ports¹èÆ÷º»À» ¼³Ä¡ÇÏ¿©¾ß Çϰí, ¼³Ä¡ÇÏ´Â °ÍÀº ¸Å¿ì ½±½À´Ï´Ù.

$ cd /usr/ports/net/pptpclient
$ make install clean

ÆÐŰÁö·Î ¼³Ä¡ÇÏ½Ç ºÐÀº ´ÙÀ½ Àå¼Ò¿¡¼­ ¾òÀ¸¼¼¿ä.

ftp://ftp.kr.FreeBSD.org/pub/users/cjh/FreeBSD-ADSL/pptpclient-1.0.2.tgz

¼³Ä¡´Â pkg_add·Î ÇÕ´Ï´Ù.

$ pkg_add pptpclient-1.0.2.tgz

2.2.2. pptp + ppp ¼³Á¤

ÀÌ ¼³Á¤Àº /usr/local/share/examples/pptpclient/ÀÇ ¿¹Á¦¸¦ ÂüÁ¶ÇÏ¸é ½±°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ÀúÀÇ °æ¿ì /etc/ppp/ppp.confÆÄÀÏÀº ´ÙÀ½°ú °°½À´Ï´Ù.

#
# for ADSL connection
#
# Hanaro ADSL(external, ALCATEL) setup
#
hanaro:
        set authname ³»id@hanaro
        set authkey ¾ÏÈ£
        set timeout 0
        set ifaddr 0 0
        add default HISADDR                     # Add a (sticky) default route
        set log IPCP
        set cd off
        disable dns

authnameÀÇ ³»id@hanaro´Â À©µµ¿ì¿¡¼­ ¿¬°áÇÒ¶§ ÀÔ·ÂÇÏ´Â idÀ̰í, authkey´Â ÀÚ½ÅÀÇ ¿¬°á ¾ÏÈ£ÀÔ´Ï´Ù. À̰ÍÀº Çϳª·Î¿¡ ½ÅûÇÏ½Ç ¶§ ÁöÁ¤ÇÑ id¸¦ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù. ÀÌ ÆÄÀÏÀ» ¸¸µé ¶§ ÁÖÀÇÇÒ °ÍÀº ¹Ýµå½Ã ·¹À̺íÀº Çà ù±ÛÀÚºÎÅÍ ½ÃÀÛÇϰí, ÁÖ¼®À» Á¦¿ÜÇÑ ³ª¸ÓÁö ³»¿ëÀº ÇÑÄ­ ÀÌ»ó µé¿©¾²±â¸¦ ÇØ¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

2.2.3. ¿¬°á

¿¬°áÀº ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù. pptp¸í·ÉÀ» ½ÇÇàÇÏ¸é µË´Ï´Ù.

# pptp adsl hanaro &

pptpÀÇ Ã¹ Àμö´Â ¸ðµ©ÀÇ ÁÖ¼Ò, hanaro´Â ppp.confÀÇ ·¹À̺í¸íÀÔ´Ï´Ù. Á¢¼ÓÀÌ µÇ¾ú´ÂÁö È®ÀÎÇØ º¸±â À§ÇØ /var/log/messages ÆÄÀÏÀ» º¾´Ï´Ù.

# tail -f /var/log/messages
Oct 22 23:22:18 router pptp[228]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:548]: Client connection established.
Oct 22 23:22:19 router pptp[228]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:655]: Outgoing call established (call ID 0, peer's call ID 1).
À§¿Í °°ÀÌ Client connection established À̶ó´Â ¸»ÀÌ ³ª¿À¸é ÀÏ´Ü ¸ðµ©¿¡´Â Á¦´ë·Î ¿¬°áµÈ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ PPP ¿¬°áÀÌ µÇ°í ÀÖ´ÂÁö È®ÀÎÇØ º¾½Ã´Ù.
Oct 22 23:23:22 router ppp[315]: Phase: Using interface: tun0
Oct 22 23:23:22 router ppp[315]: Phase: deflink: Created in closed state
Oct 22 23:23:22 router ppp[315]: tun0: Command: hanaro: set authname id@hanaro
Oct 22 23:23:22 router ppp[315]: tun0: Command: hanaro: set authkey ********
Oct 22 23:23:22 router ppp[315]: tun0: Command: hanaro: set timeout 0
Oct 22 23:23:22 router ppp[315]: tun0: Command: hanaro: set ifaddr 0 0
Oct 22 23:23:22 router ppp[315]: tun0: Command: hanaro: add default HISADDR
Oct 22 23:23:22 router ppp[315]: tun0: Command: hanaro: set log IPCP
Oct 22 23:23:26 router ppp[315]: IPCP: FSM: Using "deflink" as a transport
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: State change Initial --> Closed
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: LayerStart.
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: SendConfigReq(1) state = Closed
Oct 22 23:23:26 router ppp[315]: IPCP:  IPADDR[6]  0.0.0.0
Oct 22 23:23:26 router ppp[315]: IPCP:  COMPPROTO[6]  16 VJ slots with slot compression
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: State change Closed --> Req-Sent
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: RecvConfigReq(50) state = Req-Sent
Oct 22 23:23:26 router ppp[315]: IPCP:  IPADDR[6]  211.207.8.1
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: SendConfigAck(50) state = Req-Sent
Oct 22 23:23:26 router ppp[315]: IPCP:  IPADDR[6]  211.207.8.1
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: State change Req-Sent --> Ack-Sent
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: RecvConfigRej(1) state = Ack-Sent
Oct 22 23:23:26 router ppp[315]: IPCP:  COMPPROTO[6]  16 VJ slots with slot compression
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: SendConfigReq(2) state = Ack-Sent
Oct 22 23:23:26 router ppp[315]: IPCP:  IPADDR[6]  0.0.0.0
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: RecvConfigNak(2) state = Ack-Sent
Oct 22 23:23:26 router ppp[315]: IPCP:  IPADDR[6]  211.207.9.77
Oct 22 23:23:26 router ppp[315]: IPCP:  IPADDR[6]  changing address: 0.0.0.0  --> 211.207.9.77
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: SendConfigReq(3) state = Ack-Sent
Oct 22 23:23:26 router ppp[315]: IPCP:  IPADDR[6]  211.207.9.77
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: RecvConfigAck(3) state = Ack-Sent
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: State change Ack-Sent --> Opened
Oct 22 23:23:26 router ppp[315]: IPCP: deflink: LayerUp.
Oct 22 23:23:26 router ppp[315]: IPCP: myaddr 211.207.9.77 hisaddr = 211.207.8.1
³¡ºÎºÐ¿¡¼­ º¼ ¼ö Àִ°Íó·³ myaddr 211.207.9.77 hisaddr = 211.207.8.1 °ú °°Àº ½ÄÀÇ IPÁÖ¼Ò°¡ ³ª¿À°Ô µÇ¸é Á¦´ë·Î ¿¬°áµÈ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ tun0 ÀåÄ¡µµ Á¦´ë·Î ¿¬°áµÇ¾ú´ÂÁö »ìÆìº¾´Ï´Ù.
# ifconfig tun0
tun0: flags=8051 mtu 1500
        inet6 fe80::2c0:26ff:feee:f904%tun0 prefixlen 64 scopeid 0x6 
        inet 211.207.9.77 --> 211.207.8.1 netmask 0xffffff00 
        Opened by PID 315
¿©±â¼­ inet µÚ¿¡ ³ª¿À´Â ÁÖ¼Ò°¡ À§ ppp.logÀÇ myaddr, --> µÚÀÇ ÁÖ¼Ò°¡ ppp.logÀÇ hisaddrÀÓÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±× ´ÙÀ½¿¡ È®ÀÎÇØ¾ß ÇÒ °ÍÀº hisaddr¿¡ ÇØ´çÇÏ´Â °ÍÀÌ ±âº» ¶ó¿ìÆ®·Î ¼³Á¤ÀÌ µÇ¾ú´ÂÁöÀÇ ¿©ºÎÀÔ´Ï´Ù. ÀÌ´Â netstat -rn ¸í·ÉÀ¸·Î È®ÀÎÇÕ´Ï´Ù.
# netstat -rn -f inet
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            211.207.8.1        UGSc       36    30291   tun0
10                 link#1             UC          1        0    ed0
10.0.0.138         0:80:9f:21:50:42   UHLW        2    56000    ed0    193
127.0.0.1          127.0.0.1          UH          2      380    lo0
211.207.8.1        211.207.9.77       UH         37        0   tun0
default·Î ½ÃÀ۵Ǵ ÇàÀÇ Gateway°¡ hisaddr·Î ÁöÁ¤µÇ¾î ÀÖÀ¸¸é Á¦´ë·Î µÈ °ÍÀÔ´Ï´Ù.

óÀ½¿¡ ppp.conf¸¦ ÁöÁ¤ÇÒ ¶§¿¡´Â DNS ¼­¹ö¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. /etc/resolv.conf¿¡ ´ÙÀ½°ú °°ÀÌ ½á ÁÝ´Ï´Ù. ´ÙÀ½Àº Çϳª·Î ³×ÀÓ ¼­¹öÀÔ´Ï´Ù.

nameserver 210.220.163.82
nameserver 210.94.6.67
DNS¼­¹ö¸¦ ÀÚµ¿ ¼³Á¤Çϵµ·Ï ÇÏ·Á¸é ppp.conf ³¡ºÎºÐÀÇ disable dns¸¦
	enable dns
·Î ¹Ù²Ù¾î ¾²¸é pptpÀÇ ¿¬°á °úÁ¤¿¡¼­ ÀÚµ¿ÀûÀ¸·Î DNS¼­¹ö ¸ñ·ÏÀ» ¹Þ¾Æ¿Í¼­ /etc/resolv.conf¸¦ ¹Ù²Ù¾î ½á ÁÝ´Ï´Ù.

Áö±Ý±îÁö ¿ÔÀ¸¸é ÀÌÁ¦ ÀÎÅÍ³Ý ¿¬°áÀÌ Àß µÈ °ÍÀÔ´Ï´Ù. °¡±î¿î ¼­¹ö¿¡ Á¢¼ÓÇÏ¿© È®ÀÎÇØ º¾´Ï´Ù.

# ping -c 2 www.kr.freebsd.org
PING daemon.kr.freebsd.org (211.176.62.31): 56 data bytes
64 bytes from 211.176.62.31: icmp_seq=0 ttl=59 time=10.312 ms
64 bytes from 211.176.62.31: icmp_seq=1 ttl=59 time=10.217 ms

--- daemon.kr.freebsd.org ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 10.217/10.264/10.312/0.048 ms

À̰ÍÀÌ Á¦´ë·Î ¾ÈµÇ´Â °ÍÀº ´ÙÀ½ ¸î°¡Áö °æ¿ìÀÔ´Ï´Ù.

  1. 2.1.Àý¿¡¼­ 10.0.0.138¿¡ ´ëÇØ pingÀÌ Á¦´ë·Î ¾ÈµÇ¾ú´Ù. ÀÌ °æ¿ì ·£ ¿¬°áÀ» ´Ù½ÃÇѹø È®ÀÎÇϼ¼¿ä. Á¾Á¾ ±âº» ¶ó¿ìÅ͸¦ ¼³Á¤Çؼ­ ±×·² ¼öµµ ÀÖ½À´Ï´Ù.

  2. pingÀº °¡´Âµ¥ IP¸¦ ÀâÁö ¸øÇÑ´Ù. ADSL¸ðµ© ÂÊÀÇ ¹®Á¦ÀÏ ¼ö ÀÖ½À´Ï´Ù. ADSL¸ðµ©À» ¸®ºÎÆÃÇØ º¸¼¼¿ä. ¸®ºÎÆÃÇϰí BOOTP¸Þ½ÃÁö ¼ö½ÅÀÌ ³¡³¯ ¶§±îÁö´Â Á¢¼ÓÇÒ ¼ö ¾øÀ¸¹Ç·Î Àá½Ã ±â´Ù·Á º¸½Ã±â ¹Ù¶ø´Ï´Ù.

  3. pptp°¡ ¸ÕÀú ¶°Àְųª ºñÁ¤»ó Á¾·áÇÒ °æ¿ì ´ÙÀ½ µÎ ÁÙÀ» ½ÇÇàÇϰí ÇØ º¸¼¼¿ä.
    $ killall pptp
    (¾à 5Ãʰ£ ´ë±â)
    $ rm -f /var/run/pptp/10.0.0.138
    

2.3. ÀÚµ¿ ½ÇÇà

ÀÏ´Ü ´ÙÀ½ ÆÄÀÏÀ» /usr/local/sbin/pptp-reconnect·Î ¸¸µé¾î µÓ´Ï´Ù. ÀÌ ÆÄÀÏÀº ¿ø·¡ OpenBSDÀÇ pptp ÆÐŰÁö¿¡ µé¾îÀÖ´Â °ÍÀ» FreeBSD¿ëÀ¸·Î ¾à°£ ¼öÁ¤ÇÑ °ÍÀÔ´Ï´Ù.
#!/bin/sh
# $OpenBSD: pptp_reconnect,v 1.2 2001/04/12 14:27:12 reinhard Exp $ 
#
# PPTP reconnect script
#
# sample crontab entry: 
# 0,30 * * * * /sbin/ping -c 2 MY_REMOTE_PEER_IP >/dev/null || /usr/local/sbin/pptp-reconnect
#
#
# INSTALL-INSTRUCTIONS: edit following IP and uncomment the line
MODEMIP=10.0.0.138
PPPPROFILE=hanaro
 
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin

if [ "$MODEMIP" = "" ]; then
        echo "You have to edit the pptp-reconnect script."
        exit
fi

echo "Killing pppd."
killall -9 ppp
/bin/sleep 3

echo "Killing pptp."
killall -9 pptp
/bin/sleep 3

if [ -S /var/run/pptp/$MODEMIP ]; then
        /bin/rm -f /var/run/pptp/$MODEMIP
fi

echo "Establishing connection."
echo "=========================================================" >> /var/log/ppp.log 
echo "Establishing connection at `date`." >> /var/log/ppp.log 
/usr/local/sbin/pptp $MODEMIP $PPPPROFILE >> /var/log/ppp.log 2>&1 &
/bin/sleep 7

echo "^G" && sleep 1 && echo "^G" && sleep 1 && echo "^G"
À§ ÆÄÀÏ¿¡¼­ óÀ½ ºÎºÐ¿¡ ³ª¿À´Â MODEMIP¿Í PPPPROFILEÀº Ȥ½Ã »ç¿ëÀÚÀÇ È¯°æÀÌ ¹Ù²î´Â °æ¿ì °íÃÄ Áֱ⠹ٶø´Ï´Ù. ÀÌ ±Û¿¡¼­´Â À§¿¡ ³ª¿Â´ë·Î °¡Á¤Çϰí ÀÖ½À´Ï´Ù.

À§ ÆÄÀÏÀÇ ¼³¸í¿¡µµ ÀÖ½À´Ï´Ù¸¸ crontab¿¡ À§ ÆÄÀÏÀ» ÁÖ±âÀûÀ¸·Î ºÎ¸¦ ¼ö ÀÖµµ·Ï ÁöÁ¤ÇØ ÁÝ´Ï´Ù. root·Î ·Î±×ÀÎÇÑ ÈÄ ´ÙÀ½ ¸í·ÉÀ¸·Î crontabÀ» ÆíÁýÇÕ´Ï´Ù.

# crontab -e
ÆíÁý±â°¡ ³ª¿À¸é ´ÙÀ½°ú °°ÀÌ ¸¸µé¾î ÁÝ´Ï´Ù. ÀÌ¹Ì ´Ù¸¥ ³»¿ëÀÌ ÀÖ¾ú´Ù¸é ÀûÀýÈ÷ ÆíÁýÇϱ⠹ٶø´Ï´Ù.
# ADSL connection
#
# test ip; www.hananet.net
MY_REMOTE_PEER_IP=210.220.163.7

*/5 * * * * /sbin/ping -c 2 $MY_REMOTE_PEER_IP >/dev/null || /usr/local/sbin/pptp-reconnect
MY_REMOTE_PEER_IP´Â ADSLÁ¢¼ÓÀÌ µÇ°í ÀÖ´ÂÁö Å×½ºÆ®¿ëÀ¸·Î ¾µ ¿ÜºÎ IPÀÔ´Ï´Ù. Áö±ÝÀº Çϳª·ÎÅë½ÅÀ̹ǷΠwww.hananet.net(210.220.163.7)¸¦ Å×½ºÆ®·Î »ï°í ÀÖ½À´Ï´Ù.

À§ ¼³Á¤Àº 5ºÐ¸¶´Ù 210.220.163.7¿¡ pingÀ» ÇØ º¸¾Æ¼­ ¿¬°áÀÌ ¾ÈµÇ¸é /usr/local/sbin/pptp-reconnect ½ºÅ©¸³Æ®¸¦ ´Ù½Ã ½ÇÇàÇÏ´Â °ÍÀÔ´Ï´Ù.

±×·³ ÀÌÁ¦ ºÎÆÃ½Ã ½ÇÇàÀ» À§ÇØ /etc/rc.local¿¡ ´ÙÀ½°ú °°ÀÌ ¾¹´Ï´Ù.

PPTPRECON=/usr/local/sbin/pptp-reconnect

# PPTP startup
$PPTPRECON &
sleep 7
ÀÌÁ¦ ºÎÆÃ½Ã¿¡ ÀÚµ¿ Á¢¼ÓÀÌ µÇ°í, Á¢¼ÓÀÌ µÇ¸é 1ÃÊ °£°ÝÀ¸·Î ºñÇÁÀ½ÀÌ ¼¼¹ø ¿ï¸®°Ô µÉ °ÍÀÔ´Ï´Ù. ½ÅÈ£ ¼Ò¸®°¡ µé¸®¸é ÀÎÅÍ³Ý ¿¬°áÀÌ µÈ °ÍÀÔ´Ï´Ù.

3. ±âŸ

3.1. ¸®´ª½º¿¡¼­ Çϳª·Î Åë½Å »ç¿ëÇϱ⿡ ´ëÇÑ ±Û

3.2. ³»ÀåÇü ADSL ¸ðµ©

³»ÀåÇüÀÇ °æ¿ì µå¶óÀ̹ö°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ´Ü ´ÙÀ½ ¸µÅ©¸¦ ÂüÁ¶Çϵµ·Ï Çϼ¼¿ä.

http://www.posi.net/freebsd/drivers/driver-info.phtml?ID=3

3.3. Çѱ¹Åë½Å ADSL

¸®´ª½º¿Í ¸¶Âù°¡Áö·Î FreeBSD¿¡¼­µµ ÃÖ±ÙÀÇ PPPoE(PPP over Ethernet)Áö¿øÀÇ Ãß°¡·Î 3.4-RELEASEÀÌÈÄ¿¡¼­´Â(-currentÆ÷ÇÔ) Çѱ¹Åë½Å ADSLÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. "FreeBSD¿¡¼­ Çѱ¹Åë½Å ADSL »ç¿ëÇϱâ"¸¦ Àо¼¼¿ä. Çϳª·Îº¸´Ù ´õ ½±½À´Ï´Ù!