SSH + Mini Proxy ÀºÀç ÀÓ
eunjea (at) kldp.org
2001³â 11¿ù 4ÀÏ 0.1 2001-11-04 eunjea ù¹ø° ¹®¼­
¼Ò°³ ÀÌ ¹®¼­´Â ssh Åͳθµ°ú ÀÛÀº proxy, socks ¼­¹ö¸¦ ¼³Á¤/»ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ°ÍÀº ³ªÃ³·³ ´À¸° ÀÎÅÍ³Ý Á¢¼ÓÀ» »ç¿ëÇϰųª, ÀÎÅÍ³Ý »ç¿ë ¿ä±ÝÀ» Æ®·¡ÇÈ(!) ´ÜÀ§·Î °è»êÇؼ­ ³»¾ßÇÏ´Â »ç¶÷µé¿¡°Ô´Â ²Ï À¯¿ëÇÑ ¹æ¹ýÀÌ´Ù. (ÃÖ¼ÒÇÑ ³ª¿¡°Ô´Â ±×·¸´Ù :-)) ³×Æ®¿öÅ© ±¸¼º ³»°¡ »ì°í ÀÖ´Â ±â¼÷»ç´Â 10.1.1.0 ³×Æ®¿÷À¸·Î ¹­¿© ÀÖÀ¸¸ç ÀÎÅͳÝÀ¸·ÎÀÇ ¸ðµç Æ®·¡ÇÈÀº 10.1.1.1 À» ÅëÇؼ­¸¸ °¡´ÉÇÏ´Ù. ¸ðµç Æ®·¡ÇÈÀº ýũµÇ¾î ¸Å´Þ ¸îMbyte´ç ¾ó¸¶¾¿ÀÇ µ·À» ¹Þ°í ÀÖ´Ù. ------------ ---------------- | 10.1.1.15 | local | 10.1.1.1 | | |----------| 212.xxx.xx.xxx |-------- internet | linux boxs | 10.1.1.0 | ISP gate | ------------ ---------------- proxy ¼³Á¤ ´ÙÇàÈ÷µµ ³ª¿¡°Ô´Â ssh Á¢¼ÓÀÌ °¡´ÉÇÑ ¼­¹öµéÀÌ ¸î´ë Àִµ¥ ÀÌ ¼­¹öµéÀº ¾ÆÁÖ ºü¸¥ ³×Æ®¿÷¿¡ ¹°·Á ÀÖ´Ù. (kidc¾È¿¡ ÀÖÀ½) ³ª´Â ÀÌ ¼­¹öÀÇ ÀÏ¹Ý °èÁ¤À¸·Î ÇÁ·Ï½Ã ¼­¹ö¸¦ ¼³Ä¡ÇÏ°í ÇÁ·Ï½Ã Æ÷Æ®¸¦ ssh¸¦ »ç¿ëÇØ ·ÎÄà Æ÷Æ®·Î Æ÷¿öµùÇÏ°í ÀÖ´Ù. À̶§ »ç¿ëµÇ´Â tcp Æ®·¡ÇÈÀº ssh¿¡ ÀÇÇØ ¾ÐÃàµÈ´Ù. ÇÁ·Ï½Ã ¼­¹ö ¿ªÇÒÀ» ÇÒ ÇÁ·Î±×·¥µéÀº ÀÏ¹Ý °èÁ¤À¸·Îµµ »ç¿ëÇÒ¼ö ÀÖ´Â ÀÛÀ¸¸ç, ¼­¹ö¿¡ ºÎÇϸ¦ ÁÖÁö¾ÊÀ¸¸ç, ½±°Ô ¼³Á¤°¡´ÉÇÑ °ÍµéÀ» ã¾Æº¸¾Ò´Ù. ´ÙÀ½ µÎ°¡Áö¸¦ Å×½ºÆ® Çغ¸¾Ò´Âµ¥ ¸ðµÎ Àß ÀÛµ¿Çß´Ù. nylon tinyproxy tinyproxy´Â À̸§ ±×´ë·Î ÀÛÀº http ÇÁ·Ï½Ã ¼­¹öÀÌ´Ù. ¼Ò½º¸¦ ¹Þ¾Æ ÄÄÆÄÀÏ ÇÑÈÄ¿¡ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ ÆÄÀÏÀ» ¸¸µç´Ù. # tinyproxy.conf Port 8080 Allow 127.0.0.1 Timeout 600 Logfile "/tmp/proxy.log" LogLevel Connect PidFile "/tmp/proxy.pid" MaxClients 50 MinSpareServers 5 MaxSpareServers 10 MaxRequestsPerChild 0 À§ ¼³Á¤ÆÄÀÏÀº ÇÁ·Ï½Ã ¼­¹ö°¡ 8080 Æ÷Æ®¸¦ »ç¿ëÇϸç, localhost¿¡¼­ÀÇ Á¢¼Ó¸¸À» Çã¿ëÇÏ´Â °ÍÀ¸·Î µÇ¾îÀÖ´Ù. ½ÇÇàÀº tinyproxy -c tinyproxy.conf ·Î ÇØÁØ´Ù. socks 4/5 ¸¦ Áö¿øÇÏ´Â nylonÀ» »ç¿ëÇÏ·Á¸é ´ÙÀ½°ú °°Àº ¼³Á¤ÆÄÀÏÀ» »ç¿ëÇÑ´Ù. # nylon.conf [General] No-Simultaneous-Conn=10 Log=1 Verbose=0 PIDfile=/tmp/nylon.pid [Server] Port=8080 Allow-IP=127.0.0.0/24 ¿ª½Ã ·ÎÄà ȣ½ºÆ®¿¡¼­ÀÇ Á¢¼Ó¸¸À» Çã¿ëÇϸç 8080 Æ÷Æ®¸¦ »ç¿ëÇϵµ·ÏÇÑ ¼³Á¤ ÆÄÀÏÀÌ´Ù. ½ÇÇàÀº nylon -c nylon.conf ·Î ÇÑ´Ù. SSH, ºê¶ó¿ìÁ® ¼³Á¤ ÇÁ·Ï½Ã ¼­¹ö°¡ Áغñ µÇ¾ú´Ù¸é SSH¸¦ »ç¿ëÇØ ÇØ´ç Æ÷Æ®¸¦ ·ÎÄà Æ÷Æ®·Î ´ÙÀ½°ú °°ÀÌ Æ÷¿öµùÇØÁØ´Ù. ¿¹¸¦ µé¾î ssh ¼­¹ö°¡ babo.com ÀÌ°í °èÁ¤ÀÌ babo¶ó¸é ssh -C babo@babo.com -L 8080:localhost:8080 -f sleep 10000 Æ÷¿öµù µÈ Æ÷Æ®¸¦ »ç¿ëÇϵµ·Ï ºê¶ó¿ìÀúÀÇ ÇÁ·Ï½Ã ¼³Á¤À» ÇØÁØ´Ù. ¸¸¾à tinyproxy¸¦ »ç¿ëÇÑ´Ù¸é, http proxy ¿¡ localhost:8080 À¸·Î nylonÀ» »ç¿ëÇÑ´Ù¸é SOCKS Host¸¦ localhost:8080 À¸·Î ¼³Á¤ÇÏ¸é µÈ´Ù. ÀÌÁ¦ ºê¶ó¿ìÀú´Â ssh°¡ ¸¸µé¾î ³õÀº ÅͳÎÀ» ÅëÇØ ssh ¼­¹öÀÇ ÇÁ·Ï½Ã ¼­¹ö¸¦ »ç¿ëÇÏ°Ô µÉ°ÍÀÌ´Ù. ÀÌ ÅͳξÈÀ» È帣´Â ¸ðµç µ¥ÀÌÅÍ´Â ¾ÐÃàµÇ¹Ç·Î Æ®·¡Çȵµ Àý¾àµÉ °ÍÀÌ´Ù. Á»´õ È¿À²ÀûÀÎ ssh Á¢¼ÓÀ» À§ÇØ ssh protocol 1À» »ç¿ëÇÒ °æ¿ì ~/.ssh/config ÆÄÀÏ¿¡ CompressionLevel ¸¦ ÁöÁ¤ÇØ ÁÙ¼ö ÀÖ´Ù. man ÆäÀÌÁö¿¡µµ ³ª¿Í ÀÖµíÀÌ ÀϹÝÀûÀ¸·Î 6 À¸·Î ¼³Á¤ÇØÁÖ´Â °ÍÀÌ ¼Óµµ³ª ¾ÐÃà È¿À²¸é¿¡¼­ ÁÁ¾Ò´Ù. ¸¸¾à ÀÚ½ÅÀÇ ¹Ú½º¿Ü¿¡ °°Àº ·ÎÄà ³ÝÆ®¿öÅ©»óÀÇ ´Ù¸¥ ¹Ú½º°¡ Æ÷¿öµùµÈ ÇÁ·Ï½Ã Æ÷Æ®¸¦ »ç¿ëÇÏ·Á¸é ~/.ssh/config ÆÄÀÏ¿¡ GatewayPorts yes ¸¦ Ãß°¡ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ ¿É¼ÇÀÌ ¾øÀ» °æ¿ì loopback¿¡ Æ÷Æ®°¡ ¹ÙÀεù µÇ±â ¶§¹®¿¡ ´Ù¸¥ÂÊ¿¡¼­ Á¢¼ÓÇÒ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ÀúÀÛ±Ç ÀúÀÛ±Ç Á¤º¸ Copyright (C) 2001 ÀÓÀºÀç ÀÌ ¹®¼­´Â GNU Free Documentation License ¹öÀü 1.1 ȤÀº ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü¿¡¼­ ¹ßÇàÇÑ ÀÌÈÄ ÆÇÀÇ ±ÔÁ¤¿¡ µû¸£¸ç ÀúÀ۱ǿ¡ ´ëÇÑ º» »çÇ×ÀÌ ¸í½ÃµÇ´Â ÇÑ ¾î¶°ÇÑ Á¤º¸ ¸Åü¿¡ ÀÇÇÑ º»¹®ÀÇ ÀüÀ糪 ¹ßÃéµµ ¹«»óÀ¸·Î Çã¿ëµË´Ï´Ù. Ã¥ÀÓÀÇ ÇÑ°è º» ÀúÀÚ´Â ¹®¼­ÀÇ ³»¿ëÀÌ ¾ß±âÇÒ ¼ö ÀÖ´Â ¾î¶°ÇÑ °á°ú¿¡ ´ëÇؼ­µµ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. °ü·Ã/Âü°í ¹®¼­ http://kltp.kldp.org/eunjea/ssh/ http://www.linuxdoc.org/HOWTO/mini/Compressed-TCP.html http://www.mandrakeuser.org/docs/secure/sssh.html http://www.onsight.com/faq/ssh/ssh-faq.html Âü°í»çÇ× SOCKS 4/5 ¸¸À» »ç¿ëÇصµ ¹«¹æÇÏ´Ù¸é(IE, Mozilla, FirefoxµîÀº SOCKS 4/5¸¦ Áö¿øÇÑ´Ù. Opera´Â ¾ÆÁ÷ Áö¿øÇÏÁö ¾Ê°íÀÖ´Ù) ±»ÀÌ nylon, tinyproxyµîÀ» »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ssh -D 8080 sshserver ¸¸À¸·Î ÈǸ¢ÇÏ°Ô SOCKS ÇÁ·Ï½Ã ±â´ÉÀ» ¼öÇàÇÑ´Ù - ±è¿øÀÏ