ÌØ±ðÊÇÔÚ¹¹½¨ÍøÂçÍø¹Ø·½Ã棬LinuxÖ÷»úÍø¹ØÒÔÆä׿ԽµÄÐÔÄܺͷḻµÄ¹¦ÄÜ£¬³ÉΪÖÚ¶àÆóÒµºÍ¸öÈËÓû§µÄÊ×Ñ¡
±¾ÎĽ«ÉîÈë̽ÌÖLinuxÖ÷»úÍø¹ØµÄ¸ÅÄî¡¢ÅäÖ÷½·¨¡¢ÓÅÊÆÒÔ¼°ÔÚʵ¼ÊÓ¦ÓÃÖеݸÀý£¬Ö¼ÔÚΪ¶ÁÕßÌṩһ¸öÈ«Ãæ¶øÉîÈëµÄÀí½â
Ò»¡¢LinuxÖ÷»úÍø¹Ø¸ÅÊö 1.1 ¶¨ÒåÓ빦ÄÜ LinuxÖ÷»úÍø¹Ø£¬¼ò¶øÑÔÖ®£¬ÊÇÖ¸ÔÚLinux²Ù×÷ϵͳÉÏÅäÖõÄÒ»ÖÖÍøÂçÉ豸£¬Ëü³äµ±×ÅÄÚ²¿ÍøÂçÓëÍâ²¿ÍøÂçÖ®¼äµÄÇÅÁº£¬¸ºÔðת·¢Êý¾Ý°ü£¬ÊµÏÖ²»Í¬ÍøÂç¶ÎÖ®¼äµÄͨÐÅ
Æä¹¦ÄܰüÀ¨µ«²»ÏÞÓÚ£ºÂ·ÓÉת·¢¡¢·À»ðǽ±£»¤¡¢DNS½âÎö¡¢NAT£¨ÍøÂçµØÖ·×ª»»£©ÒÔ¼°´ø¿í¹ÜÀíµÈ
ͨ¹ýºÏÀíÅäÖã¬LinuxÖ÷»úÍø¹ØÄܹ»ÓÐЧÌáÉýÍøÂçÐÔÄÜ£¬±£ÕÏÊý¾Ý°²È«£¬ÓÅ»¯×ÊÔ´·ÖÅä
1.2 ¹Ø¼ü¼¼Êõ - IPת·¢£ºÕâÊÇLinuxÍø¹Ø¹¤×÷µÄ»ù´¡£¬Í¨¹ýÆôÓÃIPת·¢¹¦ÄÜ£¬LinuxϵͳÄܹ»½ÓÊÕÀ´×ÔÒ»¸öÍøÂç½Ó¿ÚµÄÊý¾Ý°ü£¬²¢¸ù¾Ý·ÓÉ±í½«Æäת·¢µ½ÁíÒ»¸öÍøÂç½Ó¿Ú
- NAT£ºÍøÂçµØÖ·×ª»»ÔÊÐí˽ÓÐÍøÂçÄÚµÄÉ豸ͨ¹ý¹«¹²IPµØÖ··ÃÎÊÍâ²¿ÍøÂ磬ͬʱÒþ²ØÄÚ²¿ÍøÂç½á¹¹£¬ÔöÇ¿°²È«ÐÔ
- ·À»ðǽ£ºÀûÓÃiptables»òfirewalldµÈ¹¤¾ß£¬LinuxÍø¹Ø¿ÉÒÔʵʩ¾«Ï¸µÄ·ÃÎÊ¿ØÖƲßÂÔ£¬×èֹδ¾ÊÚȨµÄ·ÃÎÊ£¬±£»¤ÄÚÍø×ÊÔ´
- DHCP·þÎñ£º¶¯Ì¬Ö÷»úÅäÖÃÐÒé¿ÉÒÔ×Ô¶¯ÎªÍøÂçÖеĿͻ§¶Ë·ÖÅäIPµØÖ·£¬¼ò»¯ÍøÂç¹ÜÀí
- VPNÖ§³Ö£ºÍ¨¹ýÅäÖÃOpenVPNµÈ·þÎñ£¬LinuxÍø¹ØÄܹ»½¨Á¢°²È«µÄÔ¶³Ì·ÃÎÊͨµÀ£¬ÊµÏÖ¿çµØÓòµÄ°²È«Á¬½Ó
¶þ¡¢ÅäÖÃLinuxÖ÷»úÍø¹Ø 2.1 ×¼±¸¹¤×÷ ÅäÖÃLinuxÖ÷»úÍø¹ØÇ°£¬ÐèÈ·±£ÒÔϼ¸µã£º - Ó²¼þÒªÇó£º×ã¹»µÄCPU¡¢ÄÚ´æºÍ´ÅÅ̿ռ䣬ÒÔ¼°ÖÁÉÙÁ½¿éÍø¿¨£¨Ò»¿éÁ¬½ÓÄÚÍø£¬Ò»¿éÁ¬½ÓÍâÍø£©
- Èí¼þ»·¾³£º°²×°Linux²Ù×÷ϵͳ£¨ÈçUbuntu¡¢CentOSµÈ£©£¬²¢È·±£ËùÓÐÈí¼þ°üÒѸüÐÂÖÁ×îа汾
- ÍøÂç¹æ»®£ºÃ÷È·ÄÚÍâÍøµÄIPµØÖ··¶Î§£¬¹æ»®NAT¹æÔò£¬Éè¼Æ·À»ðǽ²ßÂÔ
2.2 ÅäÖò½Öè - ÆôÓÃIPת·¢£º±à¼`/etc/sysctl.conf`Îļþ£¬Ìí¼Ó`net.ipv4.ip_forward=1`£¬È»ºóÖ´ÐÐ`sysctl -p`ʹÆäÉúЧ
- ÅäÖÃNAT£ºÊ¹ÓÃiptablesÉèÖÃÔ´µØÖ·×ª»»£¨SNAT£©ºÍÄ¿µÄµØÖ·×ª»»£¨DNAT£©¹æÔò£¬ÀýÈ磬ÔÊÐíÄÚÍøÉ豸ͨ¹ýÍø¹Ø·ÃÎÊÍâ²¿ÍøÂ磬²¢½«Íⲿ·ÃÎÊÌØ¶¨¶Ë¿ÚµÄÇëÇóÖØ¶¨Ïòµ½ÄÚÍøÄ³Ì¨·þÎñÆ÷
- ÅäÖ÷À»ðǽ£º¸ù¾Ý°²È«ÐèÇó£¬ÉèÖÃiptables¹æÔò£¬ÏÞÖÆ²»±ØÒªµÄ¶Ë¿ÚºÍ·þÎñ£¬×èÖ¹¶ñÒâÁ÷Á¿
- ÉèÖÃDHCP·þÎñ£º°²×°²¢ÅäÖÃdhcpd·þÎñ£¬¶¨Òå×ÓÍø¡¢IPµØÖ·³Ø¡¢Ä¬ÈÏÍø¹ØµÈÐÅÏ¢£¬È·±£¿Í»§¶ËÄܹ»×Ô¶¯»ñÈ¡IPÅäÖÃ
- ÅäÖÃDNS½âÎö£º°²×°²¢ÅäÖÃbind»òdnsmasqµÈDNS·þÎñÆ÷£¬ÎªÄÚÍøÌṩÓòÃû½âÎö·þÎñ£¬¼ÓËÙÍøÂç·ÃÎÊËÙ¶È
2.3 ÑéÖ¤Óëµ÷ÊÔ Íê³ÉÅäÖúó£¬Ðè½øÐÐһϵÁеIJâÊÔÓëÑéÖ¤£¬°üÀ¨µ«²»ÏÞÓÚ£º - Á¬Í¨ÐÔ²âÊÔ£ºÊ¹ÓÃping¡¢tracerouteµÈ¹¤¾ß¼ì²éÄÚÍâÍøÖ®¼äµÄͨ