11.3. ´ÙÁß Æ÷Æ® ¼­ºñ½º¿Í LVS Ŭ·¯½ºÅ͸µ

´ÙÁß Æ÷Æ® LVS ¼­ºñ½º¸¦ »ý¼ºÇϱâ À§Çؼ­´Â ¾î¶² ±¸¼º À¯ÇüÀÇ LVS ¶ó¿ìÅÍÀÌµç º°µµÀÇ ¼³Á¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¹æÈ­º® ¸¶Å©¸¦ »ç¿ëÇÏ¿© HTTP (Æ÷Æ® 80)¿Í HTTPS (Æ÷Æ® 443) ó·³ À¯ÇüÀº ´Ù¸¥Áö¸¸ ¼­·Î °ü·ÃµÈ ÇÁ·ÎÅäÄÝÀ» ÇÔ²² ¹­°Å³ª ¶Ç´Â FTP¿Í °°Àº Æ®·ç ¸ÖƼ Æ÷Æ® ÇÁ·ÎÅäÄÝÀ» Ŭ·¯½ºÅÍÇϱâ À§ÇØ LVS°¡ »ç¿ëµÇ´Â °æ¿ì ¸ÖƼ Æ÷Æ® ¼­ºñ½º°¡ ÀÎÀ§ÀûÀ¸·Î »ý¼ºµË´Ï´Ù. ÀÌ µÎ°¡Áö °æ¿ì¿¡¼­ LVS ¶ó¿ìÅÍ´Â ¹æÈ­º® ¸¶Å©¸¦ »ç¿ëÇÏ¿© µ¿ÀÏÇÑ ¹æÈ­º® ¸¶Å©¸¦ °®°í ÀÖÁö¸¸ ´Ù¸¥ Æ÷Æ®·Î ÇâÇÏ´Â ÆÐŶÀ» µ¿ÀÏÇÏ°Ô Ã³¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¹æÈ­º® ¸¶Å©¿¡ Áö¼Ó¼ºÀ» Ãß°¡ÇÔÀ¸·Î¼­, Áö¼Ó¼º ÀÎÀÚ¿¡ ÀÇÇØ ÁöÁ¤µÈ ±â°£ ³»¿¡ Ŭ¶óÀÌ¾ðÆ® ±â°è¿¡¼­ µé¾î¿Â ¿¬°áÀº µ¿ÀÏÇÑ È£½ºÆ®·Î Àü¼ÛµÉ ¼ö ÀÖµµ·Ï ÇØÁÝ´Ï´Ù. °¡»ó ¼­¹ö¿¡ Áö¼Ó¼º ±â´ÉÀ» ºÎ°¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ º¸´Ù ¸¹Àº Á¤º¸¸¦ ¿øÇϽŴٸé, 12.6.1 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

ºÒÇàÇϰԵµ ½ÇÁ¦ ¼­¹ö »óÀÇ ÀÛ¾÷ ºÎÇϸ¦ Á¶Á¤Çϴµ¥ »ç¿ëµÇ´Â ¸ÞÄ¿´ÏÁò — IPVS — ´Â ÆÐŶ¿¡ ÇÒ´çµÈ ¹æÈ­º® ¸¶Å©´Â ÀÎ½Ä °¡´ÉÇÏÁö¸¸, ½º½º·Î ¹æÈ­º® ¸¶Å©¸¦ ÇÒ´çÇÏÁö´Â ¸øÇÕ´Ï´Ù. ¹æÈ­º® ¸¶Å©¸¦ ÇÒ´çÇÏ´Â ÀÛ¾÷Àº Piranha ¼³Á¤ µµ±¸¸¦ »ç¿ëÇÏÁö ¾Ê°í iptables¿Í °°Àº ³×Æ®¿öÅ© ÆÐŶ ÇÊÅÍ¿¡ ÀÇÇØ ¼öÇàµÇ¾î¾ß ÇÕ´Ï´Ù.

11.3.1. ¹æÈ­º® ¸¶Å© ÇÒ´ç

¼­¹ö °ü¸®ÀÚ´Â iptables¸¦ »ç¿ëÇÏ¿© ƯÁ¤ Æ÷Æ®·Î ÇâÇÏ´Â ÆÐŶ¿¡ ¹æÈ­º® ¸¶Å©¸¦ ÇÒ´çÇÏ¼Å¾ß ÇÕ´Ï´Ù.

ÀÌ ºÎºÐ¿¡¼­´Â HTTP¿Í HTTPS¸¦ ÇÔ²² ¹­´Â ¹æ¹ýÀ» ¿¹½Ã·Î º¸¿©ÁÝ´Ï´Ù. FTP ¶ÇÇÑ ÀÚÁÖ Å¬·¯½ºÅ͵Ǵ ¸ÖƼ Æ÷Æ® ÇÁ·ÎÅäÄÝ Áß ÇϳªÀÔ´Ï´Ù. ¸¸ÀÏ FTP ¼­¹ö¸¦ À§ÇØ LVS Ŭ·¯½ºÅͰ¡ »ç¿ëµÈ °æ¿ì, Ŭ·¯½ºÅ͸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Â °¡Àå ÃÖ¼±ÀÇ ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽŴٸé 11.4 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

¹æÈ­º® ¸¶Å©¸¦ »ç¿ë½Ã ±â¾ïÇÏ¼Å¾ß ÇÒ ±âº»ÀûÀÎ »çÇ×Àº Piranha ¼³Á¤ µµ±¸¿¡¼­ ¹æÈ­º® ¸¶Å©¸¦ »ç¿ëÇÏ´Â ¸ðµç ÇÁ·ÎÅäÄÝ¿¡´Â ³×Æ®¿öÅ© ÆÐŶ¿¡ ¸¶Å©¸¦ ÇÒ´çÇÒ µ¿µîÇÑ iptables ±ÔÄ¢ÀÌ Á¸ÀçÇØ¾ß ÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù.

³×Æ®¿öÅ© ÆÐŶ ÇÊÅÍ ±ÔÄ¢À» »ý¼ºÇϽñâ Àü¿¡ ÀÌ¹Ì Á¸ÀçÇÏ´Â ±ÔÄ¢ÀÌ ¾ø´ÂÁö È®ÀÎÇØ ÁֽʽÿÀ. È®ÀÎ ÀÛ¾÷À» À§Çؼ­´Â ¸ÕÀú ½© ÇÁ·ÒÇÁÆ®¸¦ ¿©½Ã°í ·çÆ®·Î ·Î±×ÀÎ ÇϽŠÈÄ ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù:

/sbin/service iptables status

¸¸ÀÏ iptables°¡ ½ÇÇà ÁßÀÌÁö ¾Ê´Ù¸é, ÇÁ·ÒÇÁÆ®°¡ Áï½Ã »ç¶óÁú °ÍÀÔ´Ï´Ù.

¸¸ÀÏ iptables°¡ Ȱ¼ºÈ­µÇ¾î ÀÖ´Ù¸é, ±ÔÄ¢ ¼¼Æ®¸¦ º¸¿©ÁÝ´Ï´Ù. ¸¸ÀÏ ÀÌ·¯ÇÑ ±ÔÄ¢ÀÌ ³ªÅ¸³­´Ù¸é, ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇϽñ⠹ٶø´Ï´Ù:

/sbin/service iptables stop

Áß¿äÇÑ ±ÔÄ¢À̶ó¸é /etc/sysconfig/iptables ÆÄÀÏÀÇ ³»¿ëÀ» »ìÆìº¸½Å ÈÄ ÀúÀåÇÒ °¡Ä¡°¡ ÀÖ´Ù¶ó°í ÆÇ´ÜµÈ´Ù¸é À§ÀÇ ¸í·ÉÀ» ÀÔ·ÂÇϽñâ Àü¿¡ ¾ÈÀüÇÑ °÷ÀÌ ÀÌ ±ÔÄ¢À» º¹»çÇØ µÎ½Ê½Ã¿À.

´ÙÀ½Àº Æ÷Æ® 80°ú Æ÷Æ® 443 »óÀÇ À¯µ¿ IP ÁÖ¼ÒÀÎ n.n.n.nÀ¸·Î ÇâÇÏ´Â µé¾î¿À´Â ¿äû Æ®·¡ÇÈ¿¡ µ¿ÀÏÇÑ ¹æÈ­º® ¸¶Å© 80À» ÇÒ´çÇÏ´Â ±ÔÄ¢ÀÔ´Ï´Ù. °ø°ø ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¿¡ VIP¸¦ ÇÒ´çÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ Áö½Ã »çÇ×Àº 12.6.1 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. ¶ÇÇÑ ·çÆ®·Î ·Î±×ÀÎÇϽŠÈÄ Ã³À½À¸·Î ±ÔÄ¢À» ÀÔ·ÂÇϽñâ Àü¿¡ iptables¿¡ ´ëÇÑ ¸ðµâÀ» ·ÎµùÇÏ´Â °Íµµ ÀØÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù.

/sbin/modprobe ip_tables
/sbin/iptables -t mangle -A PREROUTING -p tcp \
	    -d n.n.n.n/32 --dport 80 -j MARK --set-mark 80
/sbin/iptables -t mangle-A PREROUTING -p tcp \
               -d n.n.n.n/32 --dport 443 -j MARK --set-mark 80

À§ÀÇ iptables ¸í·É¿¡¼­, n.n.n.n ºÎºÐÀº ¿©·¯ºÐÀÇ HTTP¿Í HTTPS °¡»ó ¼­¹ö¿¡ »ç¿ëµÇ´Â À¯µ¿ IP ÁÖ¼Ò·Î ´ëüÇϽñ⠹ٶø´Ï´Ù. À§ ¸í·ÉÀº ÀûÀýÇÑ Æ÷Æ® »óÀÇ VIP·Î ÇâÇÏ´Â ¸ðµç Æ®·¡ÇÈ¿¡ ¹æÈ­º® ¸¶Å© 80À» ÇÒ´çÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. IPVS´Â ÀÌ·¸°Ô ¹æÈ­º® ¸¶Å© 80ÀÌ ÇÒ´çµÈ Æ®·¡ÇÈÀ» ÀνÄÇÏ°í ´Ù½Ã ¼³Á¤µÈ ±ÔÄ¢¿¡ µû¶ó Àü¼ÛÇÕ´Ï´Ù.

°æ°í°æ°í
 

À§ÀÇ ¸í·ÉÀº Áï½Ã È¿·ÂÀ» ¹ß»ýÇÏÁö¸¸, ½Ã½ºÅÛÀÌ ÀçºÎÆÃ ÈÄ¿¡´Â È¿·ÂÀ» »ó½ÇÇÕ´Ï´Ù. ½Ã½ºÅÛ ÀçºÎÆÃ ÈÄ¿¡µµ ³×Æ®¿öÅ© ÆÐŶ ÇÊÅÍ ¼³Á¤ÀÌ Áö¼ÓµÇµµ·Ï ÇϽ÷Á¸é, 11.5 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.