·ÖÏí

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡3: iptablesÏê½â

pig2 ·¢±íÓÚ 2014-10-23 16:10:22 [ÏÔʾȫ²¿Â¥²ã] »ØÌû½±Àø ÔĶÁģʽ ¹Ø±ÕÓÒÀ¸ 3 76320
±¾Ìû×îºóÓÉ pig2 ÓÚ 2014-10-25 12:04 ±à¼­

µ¼¶Á
iptablesË׳ƷÀ»ðǽ£¬»òÐíÎÒÃÇÒѾ­²»ÔÚÄ°Éú£¬µ«ÊÇ×÷Ϊopenstack»ù´¡£¬ÕâÀﻹÊǶÔÆä×öһЩ²¹³ä£¬Á˽â¸ü¶àµÄϸ½Ú
1.ʲôÊÇÆß²ã·À»ðǽ£¿
2.ʲôÊÇÈý²ã·À»ðǽ£¿
3.iptablesµÄÔ­ÀíÊÇʲô£¿






Ò»£ºÇ°ÑÔ

        ·À»ðǽ£¬Æäʵ˵°×Á˽²£¬¾ÍÊÇÓÃÓÚʵÏÖLinuxÏ·ÃÎÊ¿ØÖƵŦÄܵģ¬Ëü·ÖΪӲ¼þµÄ»òÕßÈí¼þµÄ·À»ðǽÁ½ÖÖ¡£ÎÞÂÛÊÇÔÚÄĸöÍøÂçÖУ¬·À»ðǽ¹¤×÷µÄµØ·½Ò»¶¨ÊÇÔÚÍøÂçµÄ±ßÔµ¡£¶øÎÒÃǵÄÈÎÎñ¾ÍÊÇÐèҪȥ¶¨Òåµ½µ×·À»ðǽÈçºÎ¹¤×÷£¬Õâ¾ÍÊÇ·À»ðǽµÄ²ßÂÔ£¬¹æÔò£¬ÒÔ´ïµ½ÈÃËü¶Ô³öÈëÍøÂçµÄIP¡¢Êý¾Ý½øÐмì²â¡£

        Ä¿Ç°ÊÐÃæÉϱȽϳ£¼ûµÄÓÐ3¡¢4²ãµÄ·À»ðǽ£¬½ÐÍøÂç²ãµÄ·À»ðǽ£¬»¹ÓÐ7²ãµÄ·À»ðǽ£¬ÆäʵÊÇ´úÀí²ãµÄÍø¹Ø¡£

        ¶ÔÓÚTCP/IPµÄÆß²ãÄ£ÐÍÀ´½²£¬ÎÒÃÇÖªµÀµÚÈý²ãÊÇÍøÂç²ã£¬Èý²ãµÄ·À»ðǽ»áÔÚÕâ²ã¶ÔÔ´µØÖ·ºÍÄ¿±êµØÖ·½øÐмì²â¡£µ«ÊǶÔÓÚÆß²ãµÄ·À»ðǽ£¬²»¹ÜÄãÔ´¶Ë¿Ú»òÕßÄ¿±ê¶Ë¿Ú£¬Ô´µØÖ·»òÕßÄ¿±êµØÖ·ÊÇʲô£¬¶¼½«¶ÔÄãËùÓеĶ«Î÷½øÐмì²é¡£ËùÒÔ£¬¶ÔÓÚÉè¼ÆÔ­ÀíÀ´½²£¬Æß²ã·À»ðǽ¸ü¼Ó°²È«£¬µ«ÊÇÕâÈ´´øÀ´ÁËЧÂʸüµÍ¡£ËùÒÔÊÐÃæÉÏͨ³£µÄ·À»ðǽ·½°¸£¬¶¼ÊÇÁ½Õß½áºÏµÄ¡£¶øÓÖÓÉÓÚÎÒÃǶ¼ÐèÒª´Ó·À»ðǽËù¿ØÖƵÄÕâ¸ö¿ÚÀ´·ÃÎÊ£¬ËùÒÔ·À»ðǽµÄ¹¤×÷ЧÂʾͳÉÁËÓû§Äܹ»·ÃÎÊÊý¾Ý¶àÉÙµÄÒ»¸ö×îÖØÒªµÄ¿ØÖÆ£¬ÅäÖõIJ»ºÃÉõÖÁÓпÉÄܳÉΪÁ÷Á¿µÄÆ¿¾±¡£

¶þ£ºiptables µÄÀúÊ·ÒÔ¼°¹¤×÷Ô­Àí

1.iptablesµÄ·¢Õ¹:

        iptablesµÄÇ°Éí½Ðipfirewall £¨ÄÚºË1.xʱ´ú£©,ÕâÊÇÒ»¸ö×÷Õß´ÓfreeBSDÉÏÒÆÖ²¹ýÀ´µÄ£¬Äܹ»¹¤×÷ÔÚÄں˵±Öеģ¬¶ÔÊý¾Ý°ü½øÐмì²âµÄÒ»¿î¼òÒ×·ÃÎÊ¿ØÖƹ¤¾ß¡£µ«ÊÇipfirewall¹¤×÷¹¦Äܼ«ÆäÓÐÏÞ(ËüÐèÒª½«ËùÓеĹæÔò¶¼·Å½øÄں˵±ÖУ¬ÕâÑù¹æÔò²ÅÄܹ»ÔËÐÐÆðÀ´£¬¶ø·Å½øÄںˣ¬Õâ¸ö×ö·¨Ò»°ãÊǼ«ÆäÀ§ÄѵÄ)¡£µ±Äں˷¢Õ¹µ½2.xϵÁеÄʱºò£¬Èí¼þ¸üÃûΪipchains£¬Ëü¿ÉÒÔ¶¨Òå¶àÌõ¹æÔò£¬½«ËûÃÇ´®ÆðÀ´£¬¹²Í¬·¢»Ó×÷Ó㬶øÏÖÔÚ£¬Ëü½Ð×öiptables£¬¿ÉÒÔ½«¹æÔò×é³ÉÒ»¸öÁÐ±í£¬ÊµÏÖ¾ø¶ÔÏêϸµÄ·ÃÎÊ¿ØÖƹ¦ÄÜ¡£

        ËûÃǶ¼Êǹ¤×÷ÔÚÓû§¿Õ¼äÖУ¬¶¨Òå¹æÔòµÄ¹¤¾ß£¬±¾Éí²¢²»ËãÊÇ·À»ðǽ¡£ËüÃǶ¨ÒåµÄ¹æÔò£¬¿ÉÒÔÈÃÔÚÄں˿ռ䵱ÖеÄnetfilterÀ´¶ÁÈ¡£¬²¢ÇÒʵÏÖÈ÷À»ðǽ¹¤×÷¡£¶ø·ÅÈëÄں˵ĵط½±ØÐëÒªÊÇÌض¨µÄλÖ㬱ØÐëÊÇtcp/ipµÄЭÒéÕ»¾­¹ýµÄµØ·½¡£¶øÕâ¸ötcp/ipЭÒéÕ»±ØÐë¾­¹ýµÄµØ·½£¬¿ÉÒÔʵÏÖ¶ÁÈ¡¹æÔòµÄµØ·½¾Í½Ð×ö netfilter.(ÍøÂç¹ýÂËÆ÷)

    ×÷ÕßÒ»¹²ÔÚÄں˿ռäÖÐÑ¡ÔñÁË5¸öλÖã¬
    1.Äں˿ռäÖУº´ÓÒ»¸öÍøÂç½Ó¿Ú½øÀ´£¬µ½ÁíÒ»¸öÍøÂç½Ó¿ÚÈ¥µÄ
    2.Êý¾Ý°ü´ÓÄÚºËÁ÷ÈëÓû§¿Õ¼äµÄ
    3.Êý¾Ý°ü´ÓÓû§¿Õ¼äÁ÷³öµÄ
    4.½øÈë/À뿪±¾»úµÄÍâÍø½Ó¿Ú
    5.½øÈë/À뿪±¾»úµÄÄÚÍø½Ó¿Ú

2.iptablesµÄ¹¤×÷»úÖÆ

        ´ÓÉÏÃæµÄ·¢Õ¹ÎÒÃÇÖªµÀÁË×÷ÕßÑ¡ÔñÁË5¸öλÖã¬À´×÷Ϊ¿ØÖƵĵط½£¬µ«ÊÇÄãÓÐûÓз¢ÏÖ£¬ÆäʵǰÈý¸öλÖÃÒѾ­»ù±¾ÉÏÄܽ«Â·¾¶³¹µ×·âËøÁË£¬µ«ÊÇΪʲôÒѾ­ÔÚ½ø³öµÄ¿ÚÉèÖÃÁ˹ؿ¨Ö®ºó»¹ÒªÔÚÄÚ²¿¿¨ÄØ£¿ ÓÉÓÚÊý¾Ý°üÉÐδ½øÐзÓɾö²ß£¬»¹²»ÖªµÀÊý¾ÝÒª×ßÏòÄÄÀËùÒÔÔÚ½ø³ö¿ÚÊÇû°ì·¨ÊµÏÖÊý¾Ý¹ýÂ˵ġ£ËùÒÔÒªÔÚÄں˿ռäÀïÉèÖÃת·¢µÄ¹Ø¿¨£¬½øÈëÓû§¿Õ¼äµÄ¹Ø¿¨£¬´ÓÓû§¿Õ¼ä³öÈ¥µÄ¹Ø¿¨¡£ÄÇô£¬¼ÈÈ»ËûÃÇûʲôÓã¬ÄÇÎÒÃÇΪʲô»¹Òª·ÅÖÃËûÃÇÄØ£¿ÒòΪÎÒÃÇÔÚ×öNATºÍDNATµÄʱºò£¬Ä¿±êµØַת»»±ØÐëÔÚ·ÓÉ֮ǰת»»¡£ËùÒÔÎÒÃDZØÐëÔÚÍâÍø¶øºóÄÚÍøµÄ½Ó¿Ú´¦½øÐÐÉèÖùؿ¨¡£        

         ÕâÎå¸öλÖÃÒ²±»³ÆΪÎå¸ö¹³×Óº¯Êý£¨hook functions£©,Ò²½ÐÎå¸ö¹æÔòÁ´¡£
                1.PREROUTING (·ÓÉÇ°)
                2.INPUT (Êý¾Ý°üÁ÷Èë¿Ú)
                3.FORWARD (ת·¢¹Ü¿¨)
                4.OUTPUT(Êý¾Ý°ü³ö¿Ú)
                5.POSTROUTING£¨Â·Óɺó£©
        ÕâÊÇNetFilter¹æ¶¨µÄÎå¸ö¹æÔòÁ´£¬ÈκÎÒ»¸öÊý¾Ý°ü£¬Ö»Òª¾­¹ý±¾»ú£¬±Ø½«¾­¹ýÕâÎå¸öÁ´ÖеÄÆäÖÐÒ»¸öÁ´¡£      

3.·À»ðǽµÄ²ßÂÔ

        ·À»ðǽ²ßÂÔÒ»°ã·ÖΪÁ½ÖÖ£¬Ò»ÖֽС°Í¨¡±²ßÂÔ£¬Ò»ÖֽС°¶Â¡±²ßÂÔ£¬Í¨²ßÂÔ£¬Ä¬ÈÏÃÅÊǹØ×ŵģ¬±ØÐëÒª¶¨ÒåË­Äܽø¡£¶Â²ßÂÔÔòÊÇ£¬´óÃÅÊǶ´¿ªµÄ£¬µ«ÊÇÄã±ØÐëÓÐÉí·ÝÈÏÖ¤£¬·ñÔò²»Äܽø¡£ËùÒÔÎÒÃÇÒª¶¨Ò壬ÈýøÀ´µÄ½øÀ´£¬ÈóöÈ¥µÄ³öÈ¥£¬ËùÒÔͨ£¬ÊÇҪȫͨ£¬¶ø¶Â£¬ÔòÊÇҪѡÔñ¡£µ±ÎÒÃǶ¨ÒåµÄ²ßÂÔµÄʱºò£¬Òª·Ö±ð¶¨Òå¶àÌõ¹¦ÄÜ£¬ÆäÖУº¶¨ÒåÊý¾Ý°üÖÐÔÊÐí»òÕß²»ÔÊÐíµÄ²ßÂÔ£¬filter¹ýÂ˵ŦÄÜ£¬¶ø¶¨ÒåµØַת»»µÄ¹¦ÄܵÄÔòÊÇnatÑ¡ÏΪÁËÈÃÕâЩ¹¦Äܽ»Ì湤×÷£¬ÎÒÃÇÖƶ¨³öÁË¡°±í¡±Õâ¸ö¶¨Ò壬À´¶¨Òå¡¢Çø·Ö¸÷ÖÖ²»Í¬µÄ¹¤×÷¹¦Äܺʹ¦Àí·½Ê½¡£

        ÎÒÃÇÏÖÔÚÓõıȽ϶à¸ö¹¦ÄÜÓÐ3¸ö£º
                1.filter ¶¨ÒåÔÊÐí»òÕß²»ÔÊÐíµÄ
                2.nat ¶¨ÒåµØַת»»µÄ
                3.mangle¹¦ÄÜ:Ð޸ı¨ÎÄÔ­Êý¾Ý

        ÎÒÃÇÐ޸ı¨ÎÄÔ­Êý¾Ý¾ÍÊÇÀ´ÐÞ¸ÄTTLµÄ¡£Äܹ»ÊµÏÖ½«Êý¾Ý°üµÄÔªÊý¾Ý²ð¿ª£¬ÔÚÀïÃæ×ö±ê¼Ç/ÐÞ¸ÄÄÚÈݵġ£¶ø·À»ðǽ±ê¼Ç£¬Æäʵ¾ÍÊÇ¿¿mangleÀ´ÊµÏֵġ£

СÀ©Õ¹:
        ¶ÔÓÚfilterÀ´½²Ò»°ãÖ»ÄÜ×öÔÚ3¸öÁ´ÉÏ£ºINPUT £¬FORWARD £¬OUTPUT
        ¶ÔÓÚnatÀ´½²Ò»°ãÒ²Ö»ÄÜ×öÔÚ3¸öÁ´ÉÏ£ºPREROUTING £¬OUTPUT £¬POSTROUTING
        ¶ømangleÔòÊÇ5¸öÁ´¶¼¿ÉÒÔ×ö£ºPREROUTING£¬INPUT£¬FORWARD£¬OUTPUT£¬POSTROUTING

        iptables/netfilter£¨Õâ¿îÈí¼þ£©Êǹ¤×÷ÔÚÓû§¿Õ¼äµÄ£¬Ëü¿ÉÒÔÈùæÔò½øÐÐÉúЧµÄ£¬±¾Éí²»ÊÇÒ»ÖÖ·þÎñ£¬¶øÇÒ¹æÔòÊÇÁ¢¼´ÉúЧµÄ¡£¶øÎÒÃÇiptablesÏÖÔÚ±»×ö³ÉÁËÒ»¸ö·þÎñ£¬¿ÉÒÔ½øÐÐÆô¶¯£¬Í£Ö¹µÄ¡£Æô¶¯£¬Ôò½«¹æÔòÖ±½ÓÉúЧ£¬Í£Ö¹£¬Ôò½«¹æÔò³·Ïú¡£
        iptables»¹Ö§³Ö×Ô¼º¶¨ÒåÁ´¡£µ«ÊÇ×Ô¼º¶¨ÒåµÄÁ´£¬±ØÐëÊǸúijÖÖÌض¨µÄÁ´¹ØÁªÆðÀ´µÄ¡£ÔÚÒ»¸ö¹Ø¿¨É趨£¬Ö¸¶¨µ±ÓÐÊý¾ÝµÄʱºòרÃÅÈ¥ÕÒij¸öÌض¨µÄÁ´À´´¦Àí£¬µ±ÄǸöÁ´´¦ÀíÍêÖ®ºó£¬ÔÙ·µ»Ø¡£½Ó×ÅÔÚÌض¨µÄÁ´ÖмÌÐø¼ì²é¡£

×¢Ò⣺¹æÔòµÄ´ÎÐò·Ç³£¹Ø¼ü£¬Ë­µÄ¹æÔòÔ½Ñϸñ£¬Ó¦¸Ã·ÅµÄÔ½¿¿Ç°£¬¶ø¼ì²é¹æÔòµÄʱºò£¬ÊÇ°´ÕÕ´ÓÉÏÍùϵķ½Ê½½øÐмì²éµÄ¡£
ÉÏÃæÄÚÈÝÁ˽⼴¿É£¬ÓÐÐËȤÁ˽â¸ü¶à£¬¿ÉÒԲο¼ÏÂÃ棺





Èý£®¹æÔòµÄд·¨:

         iptables¶¨Òå¹æÔòµÄ·½Ê½±È½Ï¸´ÔÓ:
         ¸ñʽ£ºiptables [-t table] COMMAND chain CRETIRIA -j ACTION
                 -t table £º3¸öfilter nat mangle
                 COMMAND£º¶¨ÒåÈçºÎ¶Ô¹æÔò½øÐйÜÀí
                 chain£ºÖ¸¶¨Äã½ÓÏÂÀ´µÄ¹æÔòµ½µ×ÊÇÔÚÄĸöÁ´ÉϲÙ×÷µÄ£¬µ±¶¨Òå²ßÂÔµÄʱºò£¬ÊÇ¿ÉÒÔÊ¡ÂÔµÄ
                 CRETIRIA:Ö¸¶¨Æ¥Åä±ê×¼
                 -j ACTION :Ö¸¶¨ÈçºÎ½øÐд¦Àí

         ±ÈÈ磺²»ÔÊÐí172.16.0.0/24µÄ½øÐзÃÎÊ¡£
         iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP
         µ±È»ÄãÈç¹ûÏë¾Ü¾øµÄ¸ü³¹µ×£º
         iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT

         iptables -L -n -v        #²é¿´¶¨Òå¹æÔòµÄÏêϸÐÅÏ¢

ËÄ£ºÏê½âCOMMAND:

1.Á´¹ÜÀíÃüÁÕⶼÊÇÁ¢¼´ÉúЧµÄ£©
        -P :ÉèÖÃĬÈϲßÂԵģ¨É趨ĬÈÏÃÅÊǹØ×ŵĻ¹ÊÇ¿ª×ŵģ©
                ĬÈϲßÂÔÒ»°ãÖ»ÓÐÁ½ÖÖ
                iptables -P INPUT (DROP|ACCEPT)  Ä¬ÈÏÊǹصÄ/ĬÈÏÊÇ¿ªµÄ
                ±ÈÈ磺
                iptables -P INPUT DROP Õâ¾Í°ÑĬÈϹæÔò¸ø¾Ü¾øÁË¡£²¢ÇÒûÓж¨ÒåÄĸö¶¯×÷£¬ËùÒÔ¹ØÓÚÍâ½çÁ¬½ÓµÄËùÓйæÔò°üÀ¨XshellÁ¬½ÓÖ®ÀàµÄ£¬Ô¶³ÌÁ¬½Ó¶¼±»¾Ü¾øÁË¡£
        -F: FLASH£¬Çå¿Õ¹æÔòÁ´µÄ(×¢Òâÿ¸öÁ´µÄ¹ÜÀíȨÏÞ)
            iptables -t nat -F PREROUTING
            iptables -t nat -F Çå¿Õnat±íµÄËùÓÐÁ´
        -N:NEW Ö§³ÖÓû§Ð½¨Ò»¸öÁ´
            iptables -N inbound_tcp_web ±íʾ¸½ÔÚtcp±íÉÏÓÃÓÚ¼ì²éwebµÄ¡£
        -X: ÓÃÓÚɾ³ýÓû§×Ô¶¨ÒåµÄ¿ÕÁ´
            Ê¹Ó÷½·¨¸ú-NÏàͬ£¬µ«ÊÇÔÚɾ³ý֮ǰ±ØÐëÒª½«ÀïÃæµÄÁ´¸øÇå¿Õ°ºÁË
        -E£ºÓÃÀ´Rename chainÖ÷ÒªÊÇÓÃÀ´¸øÓû§×Ô¶¨ÒåµÄÁ´ÖØÃüÃû
            -E oldname newname
         -Z£ºÇå¿ÕÁ´£¬¼°Á´ÖÐĬÈϹæÔòµÄ¼ÆÊýÆ÷µÄ£¨ÓÐÁ½¸ö¼ÆÊýÆ÷£¬±»Æ¥Åäµ½¶àÉÙ¸öÊý¾Ý°ü£¬¶àÉÙ¸ö×Ö½Ú£©
            iptables -Z :Çå¿Õ

2.¹æÔò¹ÜÀíÃüÁî
         -A£º×·¼Ó£¬ÔÚµ±Ç°Á´µÄ×îºóÐÂÔöÒ»¸ö¹æÔò
         -I num : ²åÈ룬°Ñµ±Ç°¹æÔò²åÈëΪµÚ¼¸Ìõ¡£
            -I 3 :²åÈëΪµÚÈýÌõ
         -R num£ºReplaysÌæ»»/Ð޸ĵڼ¸Ìõ¹æÔò
            ¸ñʽ£ºiptables -R 3 ¡­¡­¡­¡­
         -D num£ºÉ¾³ý£¬Ã÷È·Ö¸¶¨É¾³ýµÚ¼¸Ìõ¹æÔò

3.²é¿´¹ÜÀíÃüÁî ¡°-L¡±
         ¸½¼Ó×ÓÃüÁî
         -n£ºÒÔÊý×ֵķ½Ê½ÏÔʾip£¬Ëü»á½«ipÖ±½ÓÏÔʾ³öÀ´£¬Èç¹û²»¼Ó-n£¬Ôò»á½«ip·´Ïò½âÎö³ÉÖ÷»úÃû¡£
         -v£ºÏÔʾÏêϸÐÅÏ¢
         -vv
         -vvv :Ô½¶àÔ½Ïêϸ
         -x£ºÔÚ¼ÆÊýÆ÷ÉÏÏÔʾ¾«È·Öµ£¬²»×öµ¥Î»»»Ëã
         --line-numbers : ÏÔʾ¹æÔòµÄÐкÅ
         -t nat£ºÏÔʾËùÓеĹؿ¨µÄÐÅÏ¢

Î壺Ïê½âÆ¥Åä±ê×¼

1.ͨÓÃÆ¥Å䣺ԴµØÖ·Ä¿±êµØÖ·µÄÆ¥Åä
         -s£ºÖ¸¶¨×÷ΪԴµØÖ·Æ¥Å䣬ÕâÀï²»ÄÜÖ¸¶¨Ö÷»úÃû³Æ£¬±ØÐëÊÇIP
                IP | IP/MASK | 0.0.0.0/0.0.0.0
                ¶øÇÒµØÖ·¿ÉÒÔÈ¡·´£¬¼ÓÒ»¸ö¡°!¡±±íʾ³ýÁËÄĸöIPÖ®Íâ
         -d£º±íʾƥÅäÄ¿±êµØÖ·
         -p£ºÓÃÓÚÆ¥ÅäЭÒéµÄ£¨ÕâÀïµÄЭÒéͨ³£ÓÐ3ÖÖ£¬TCP/UDP/ICMP£©
         -i eth0£º´ÓÕâ¿éÍø¿¨Á÷ÈëµÄÊý¾Ý
                Á÷ÈëÒ»°ãÓÃÔÚINPUTºÍPREROUTINGÉÏ
         -o eth0£º´ÓÕâ¿éÍø¿¨Á÷³öµÄÊý¾Ý
                Á÷³öÒ»°ãÔÚOUTPUTºÍPOSTROUTINGÉÏ

2.À©Õ¹Æ¥Åä
2.1Òþº¬À©Õ¹£º¶ÔЭÒéµÄÀ©Õ¹
    -p tcp :TCPЭÒéµÄÀ©Õ¹¡£Ò»°ãÓÐÈýÖÖÀ©Õ¹
        --dport XX-XX£ºÖ¸¶¨Ä¿±ê¶Ë¿Ú,²»ÄÜÖ¸¶¨¶à¸ö·ÇÁ¬Ðø¶Ë¿Ú,Ö»ÄÜÖ¸¶¨µ¥¸ö¶Ë¿Ú£¬±ÈÈç
        --dport 21  »òÕß --dport 21-23 (´Ëʱ±íʾ21,22,23)
        --sport£ºÖ¸¶¨Ô´¶Ë¿Ú
        --tcp-fiags£ºTCPµÄ±ê־루SYN,ACK£¬FIN,PSH£¬RST,URG£©
            ¶ÔÓÚËü£¬Ò»°ãÒª¸úÁ½¸ö²ÎÊý£º
                1.¼ì²éµÄ±ê־λ
                2.±ØÐëΪ1µÄ±ê־λ
                --tcpflags syn,ack,fin,rst syn   =    --syn
                ±íʾ¼ì²éÕâ4¸ö룬Õâ4¸öλÖÐsyn±ØÐëΪ1£¬ÆäËûµÄ±ØÐëΪ0¡£ËùÒÔÕâ¸öÒâ˼¾ÍÊÇÓÃÓÚ¼ì²âÈý´ÎÎÕÊֵĵÚÒ»´Î°üµÄ¡£¶ÔÓÚÕâÖÖרÃÅÆ¥ÅäµÚÒ»°üµÄSYNΪ1µÄ°ü£¬»¹ÓÐÒ»ÖÖ¼òд·½Ê½£¬½Ð×ö--syn
    -p udp£ºUDPЭÒéµÄÀ©Õ¹
        --dport
        --sport
    -p icmp£ºicmpÊý¾Ý±¨ÎĵÄÀ©Õ¹
        --icmp-type£º
                echo-request(ÇëÇó»ØÏÔ)£¬Ò»°ãÓÃ8 À´±íʾ
                ËùÒÔ --icmp-type 8 Æ¥ÅäÇëÇó»ØÏÔÊý¾Ý°ü
                echo-reply £¨ÏìÓ¦µÄÊý¾Ý°ü£©Ò»°ãÓÃ0À´±íʾ

2.2ÏÔʽÀ©Õ¹£¨-m£©
     À©Õ¹¸÷ÖÖÄ£¿é
      -m multiport£º±íʾÆôÓöà¶Ë¿ÚÀ©Õ¹
      Ö®ºóÎÒÃǾͿÉÒÔÆôÓñÈÈç --dports 21,23,80


Áù£ºÏê½â-j ACTION

         ³£ÓõÄACTION£º
         DROP£ºÇÄÇĶªÆú
                Ò»°ãÎÒÃǶàÓÃDROPÀ´Òþ²ØÎÒÃǵÄÉí·Ý£¬ÒÔ¼°Òþ²ØÎÒÃǵÄÁ´±í
         REJECT£ºÃ÷ʾ¾Ü¾ø
         ACCEPT£º½ÓÊÜ
                custom_chain£º×ªÏòÒ»¸ö×Ô¶¨ÒåµÄÁ´
         DNAT
         SNAT
         MASQUERADE£ºÔ´µØַαװ
         REDIRECT£ºÖض¨Ïò£ºÖ÷ÒªÓÃÓÚʵÏֶ˿ÚÖض¨Ïò
         MARK£º´ò·À»ðǽ±ê¼ÇµÄ
         RETURN£º·µ»Ø
                ÔÚ×Ô¶¨ÒåÁ´Ö´ÐÐÍê±ÏºóʹÓ÷µ»Ø£¬À´·µ»ØÔ­¹æÔòÁ´¡£

Á·Ï°Ìâ1£º
     Ö»ÒªÊÇÀ´×ÔÓÚ172.16.0.0/16Íø¶ÎµÄ¶¼ÔÊÐí·ÃÎÊÎÒ±¾»úµÄ172.16.100.1µÄSSHD·þÎñ
     ·ÖÎö£ºÊ×Ïȿ϶¨ÊÇÔÚÔÊÐí±íÖж¨ÒåµÄ¡£ÒòΪ²»ÐèÒª×öNATµØַת»»Ö®ÀàµÄ£¬È»ºó²é¿´ÎÒÃÇSSHD·þÎñ£¬ÔÚ22ºÅ¶Ë¿ÚÉÏ£¬´¦Àí»úÖÆÊǽÓÊÜ£¬¶ÔÓÚÕâ¸ö±í£¬ÐèÒªÓÐÒ»À´Ò»»ØÁ½¸ö¹æÔò£¬Èç¹ûÎÒÃÇÔÊÐíÒ²ºÃ£¬¾Ü¾øÒ²ºÃ£¬¶ÔÓÚ·ÃÎʱ¾»ú·þÎñ£¬ÎÒÃÇ×îºÃÊǶ¨ÒåÔÚINPUTÁ´ÉÏ£¬¶øOUTPUTÔÙÓèÒÔ¶¨Òå¾ÍºÃ¡£(»á»°µÄ³õʼ¶ËÏȶ¨Òå)£¬ËùÒÔ¼Ó¹æÔò¾ÍÊÇ£º
     ¶¨Òå½øÀ´µÄ£º iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -j ACCEPT
     ¶¨Òå³öÈ¥µÄ£º iptables -t filter -A OUTPUT -s 172.16.100.1 -d 172.16.0.0/16 -p tcp --dport 22 -j ACCEPT
     ½«Ä¬ÈϲßÂԸijÉDROP:
                                  iptables -P INPUT DROP
                                  iptables -P OUTPUT DROP
                                  iptables -P FORWARD DROP

Æߣº×´Ì¬¼ì²â£º

        ÊÇÒ»ÖÖÏÔʽÀ©Õ¹£¬ÓÃÓÚ¼ì²â»á»°Ö®¼äµÄÁ¬½Ó¹ØϵµÄ£¬ÓÐÁ˼ì²âÎÒÃÇ¿ÉÒÔʵÏֻỰ¼ä¹¦ÄܵÄÀ©Õ¹
        Ê²Ã´ÊÇ״̬¼ì²â£¿¶ÔÓÚÕû¸öTCPЭÒéÀ´½²£¬ËüÊÇÒ»¸öÓÐÁ¬½ÓµÄЭÒ飬Èý´ÎÎÕÊÖÖУ¬µÚÒ»´ÎÎÕÊÖ£¬ÎÒÃǾͽÐNEWÁ¬½Ó£¬¶ø´ÓµÚ¶þ´ÎÎÕÊÖÒÔºóµÄ£¬ack¶¼Îª1£¬ÕâÊÇÕý³£µÄÊý¾Ý´«Ê䣬ºÍtcpµÄµÚ¶þ´ÎµÚÈý´ÎÎÕÊÖ£¬½Ð×öÒѽ¨Á¢µÄÁ¬½Ó£¨ESTABLISHED£©,»¹ÓÐÒ»ÖÖ״̬£¬±È½Ï¹îÒìµÄ£¬±ÈÈ磺SYN=1 ACK=1 RST=1,¶ÔÓÚÕâÖÖÎÒÃÇÎÞ·¨Ê¶±ðµÄ£¬ÎÒÃǶ¼³Æ֮ΪINVALIDÎÞ·¨Ê¶±ðµÄ¡£»¹ÓеÚËÄÖÖ£¬FTPÕâÖÖ¹ÅÀϵÄÓµÓеÄÌØÕ÷£¬Ã¿¸ö¶Ë¿Ú¶¼ÊǶÀÁ¢µÄ£¬21ºÅºÍ20ºÅ¶Ë¿Ú¶¼ÊÇһȥһ»Ø£¬ËûÃÇÖ®¼äÊÇÓйØϵµÄ£¬ÕâÖÖ¹ØϵÎÒÃdzÆ֮ΪRELATED¡£
        ËùÒÔÎÒÃǵÄ״̬һ¹²ÓÐËÄÖÖ£º
        NEW
        ESTABLISHED
        RELATED
        INVALID

        ËùÒÔÎÒÃǶÔÓڸղŵÄÁ·Ï°Ì⣬¿ÉÒÔÔö¼Ó״̬¼ì²â¡£±ÈÈç½øÀ´µÄÖ»ÔÊÐí״̬ΪNEWºÍESTABLISHEDµÄ½øÀ´£¬³öÈ¥Ö»ÔÊÐíESTABLISHEDµÄ״̬³öÈ¥£¬Õâ¾Í¿ÉÒÔ½«±È½Ï³£¼ûµÄ·´µ¯Ê½Ä¾ÂíÓкܺõĿØÖÆ»úÖÆ¡£

¶ÔÓÚÁ·Ï°ÌâµÄÀ©Õ¹£º
        ½øÀ´µÄ¾Ü¾ø³öÈ¥µÄÔÊÐí£¬½øÀ´µÄÖ»ÔÊÐíESTABLISHED½øÀ´£¬³öÈ¥Ö»ÔÊÐíESTABLISHED³öÈ¥¡£Ä¬ÈϹæÔò¶¼Ê¹Óþܾø
                iptables -L -n --line-number  £º²é¿´Ö®Ç°µÄ¹æÔòλÓÚµÚ¼¸ÐÐ
    ¸ÄдINPUT
        iptables -R INPUT 2 -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
        iptables -R OUTPUT 1 -m state --state ESTABLISHED -j ACCEPT

    ´ËʱÈç¹ûÏëÔÙ·ÅÐÐÒ»¸ö80¶Ë¿ÚÈçºÎ·ÅÐÐÄØ£¿
        iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

        iptables -R INPUT 1 -d 172.16.100.1 -p udp --dport 53 -j ACCEPT

Á·Ï°Ìâ2£º
¼ÙÈçÎÒÃÇÔÊÐí×Ô¼ºping±ðÈË£¬µ«ÊDZðÈËping×Ô¼ºping²»Í¨ÈçºÎʵÏÖÄØ£¿
·ÖÎö£º¶ÔÓÚpingÕâ¸öЭÒ飬½øÀ´µÄΪ8£¨ping£©£¬³öÈ¥µÄΪ0(ÏìÓ¦).ÎÒÃÇΪÁ˴ﵽĿµÄ£¬ÐèÒª8³öÈ¥,ÔÊÐí0½øÀ´

ÔÚ³öÈ¥µÄ¶Ë¿ÚÉÏ£ºiptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
ÔÚ½øÀ´µÄ¶Ë¿ÚÉÏ£ºiptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

СÀ©Õ¹£º¶ÔÓÚ127.0.0.1±È½ÏÌØÊ⣬ÎÒÃÇÐèÒªÃ÷È·¶¨ÒåËü
                        iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
                        iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

°Ë£ºSNATºÍDNATµÄʵÏÖ

        ÓÉÓÚÎÒÃÇÏÖÔÚIPµØÖ·Ê®·Ö½ôÇΣ¬ÒѾ­·ÖÅäÍêÁË£¬Õâ¾Íµ¼ÖÂÎÒÃDZØÐëÒª½øÐеØַת»»£¬À´½ÚÔ¼ÎÒÃǽöÊ£µÄÒ»µãIP×ÊÔ´¡£ÄÇôͨ¹ýiptablesÈçºÎʵÏÖNATµÄµØַת»»ÄØ£¿

1.SNAT»ùÓÚÔ­µØÖ·µÄת»»
        »ùÓÚÔ­µØÖ·µÄת»»Ò»°ãÓÃÔÚÎÒÃǵÄÐí¶àÄÚÍøÓû§Í¨¹ýÒ»¸öÍâÍøµÄ¿ÚÉÏÍøµÄʱºò£¬ÕâʱÎÒÃǽ«ÎÒÃÇÄÚÍøµÄµØַת»»ÎªÒ»¸öÍâÍøµÄIP£¬ÎÒÃǾͿÉÒÔʵÏÖÁ¬½ÓÆäËûÍâÍøIPµÄ¹¦ÄÜ¡£
ËùÒÔÎÒÃÇÔÚiptablesÖоÍÒª¶¨Òåµ½µ×ÈçºÎת»»£º
¶¨ÒåµÄÑùʽ£º
        ±ÈÈçÎÒÃÇÏÖÔÚÒª½«ËùÓÐ192.168.10.0Íø¶ÎµÄIPÔÚ¾­¹ýµÄʱºòÈ«¶¼×ª»»³É172.16.100.1Õâ¸ö¼ÙÉè³öÀ´µÄÍâÍøµØÖ·£º
        iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1
        ÕâÑù£¬Ö»ÒªÊÇÀ´×Ô±¾µØÍøÂçµÄÊÔͼͨ¹ýÍø¿¨·ÃÎÊÍøÂçµÄ£¬¶¼»á±»Í³Í³×ª»»³É172.16.100.1Õâ¸öIP.
        ÄÇô£¬Èç¹û172.16.100.1²»Êǹ̶¨µÄÔõô°ì£¿
        ÎÒÃǶ¼ÖªµÀµ±ÎÒÃÇʹÓÃÁªÍ¨»òÕßµçÐÅÉÏÍøµÄʱºò£¬Ò»°ãËü¶¼»áÔÚÿ´ÎÄ㿪»úµÄʱºòËæ»úÉú³ÉÒ»¸öÍâÍøµÄIP£¬Òâ˼¾ÍÊÇÍâÍøµØÖ·ÊǶ¯Ì¬±ä»»µÄ¡£ÕâʱÎÒÃǾÍÒª½«ÍâÍøµØÖ·»»³É MASQUERADE(¶¯Ì¬Î±×°):Ëü¿ÉÒÔʵÏÖ×Ô¶¯Ñ°ÕÒµ½ÍâÍøµØÖ·£¬¶ø×Ô¶¯½«Æä¸ÄΪÕýÈ·µÄÍâÍøµØÖ·¡£ËùÒÔ£¬ÎÒÃǾÍÐèÒªÕâÑùÉèÖãº
         iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
         ÕâÀïҪעÒ⣺µØַαװ²¢²»ÊÊÓÃÓÚËùÓеĵط½¡£

2.DNATÄ¿±êµØַת»»
        ¶ÔÓÚÄ¿±êµØַת»»£¬Êý¾ÝÁ÷ÏòÊÇ´ÓÍâÏòÄڵģ¬ÍâÃæµÄÊÇ¿Í»§¶Ë£¬ÀïÃæµÄÊÇ·þÎñÆ÷¶Ëͨ¹ýÄ¿±êµØַת»»£¬ÎÒÃÇ¿ÉÒÔÈÃÍâÃæµÄipͨ¹ýÎÒÃǶÔÍâµÄÍâÍøipÀ´·ÃÎÊÎÒÃÇ·þÎñÆ÷²»Í¬µÄ·þÎñÆ÷£¬¶øÎÒÃǵķþÎñÈ´·ÅÔÚÄÚÍø·þÎñÆ÷µÄ²»Í¬µÄ·þÎñÆ÷ÉÏ¡£

    ÈçºÎ×öÄ¿±êµØַת»»ÄØ£¿£º
                iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --todestination 172.16.100.2
        Ä¿±êµØַת»»Òª×öÔÚµ½´ïÍø¿¨Ö®Ç°½øÐÐת»»,ËùÒÔÒª×öÔÚPREROUTINGÕâ¸öλÖÃÉÏ

¾Å£º¿ØÖƹæÔòµÄ´æ·ÅÒÔ¼°¿ªÆô

        ×¢Ò⣺ÄãËù¶¨ÒåµÄËùÓÐÄÚÈÝ£¬µ±ÄãÖØÆôµÄʱºò¶¼»áʧЧ£¬ÒªÏëÎÒÃÇÄܹ»ÉúЧ£¬ÐèҪʹÓÃÒ»¸öÃüÁËü±£´æÆðÀ´
        1.service iptables save ÃüÁî
                Ëü»á±£´æÔÚ/etc/sysconfig/iptablesÕâ¸öÎļþÖÐ
    2.iptables-save ÃüÁî
                iptables-save > /etc/sysconfig/iptables

    3.iptables-restore ÃüÁî
                        ¿ª»úµÄʱºò£¬Ëü»á×Ô¶¯¼ÓÔØ/etc/sysconfig/iptabels
                        Èç¹û¿ª»ú²»ÄܼÓÔØ»òÕßûÓмÓÔØ£¬¶øÄãÏëÈÃÒ»¸ö×Ô¼ºÐ´µÄÅäÖÃÎļþ£¨¼ÙÉèΪiptables.2£©ÊÖ¶¯ÉúЧµÄ»°£º
                        iptables-restore < /etc/sysconfig/iptables.2
                        ÔòÍê³ÉÁ˽«iptablesÖж¨ÒåµÄ¹æÔòÊÖ¶¯ÉúЧ


Ê®£º×ܽá
         IptablesÊÇÒ»¸ö·Ç³£ÖØÒªµÄ¹¤¾ß£¬ËüÊÇÿһ¸ö·À»ðǽÉϼ¸ºõ±Ø±¸µÄÉèÖã¬Ò²ÊÇÎÒÃÇÔÚ×ö´óÐÍÍøÂçµÄʱºò£¬ÎªÁ˺ܶàÔ­Òò¶ø±ØÐëÒªÉèÖõġ£Ñ§ºÃIptables,¿ÉÒÔÈÃÎÒÃǶÔÕû¸öÍøÂçµÄ½á¹¹ÓÐÒ»¸ö±È½ÏÉî¿ÌµÄÁ˽⣬ͬʱ£¬ÎÒÃÇ»¹Äܹ»½«Äں˿ռäÖÐÊý¾ÝµÄ×ßÏòÒÔ¼°linuxµÄ°²È«¸øÕÆÎյķdz£Í¸³¹¡£ÎÒÃÇÔÚѧϰµÄʱºò£¬¾¡Á¿ÄܽáºÏן÷ÖÖ¸÷ÑùµÄÏîÄ¿£¬ÊµÑéÀ´Íê³É£¬ÕâÑù¶ÔÄã¼ÓÉîiptablesµÄÅäÖã¬ÒÔ¼°¸÷ÖÖ¼¼ÇÉÓзdz£´óµÄ°ïÖú¡£

Ïà¹ØÌû×Ó£º

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡1:ʲôÊÇL2¡¢L3

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡2:½»»»»ú¡¢Â·ÓÉÆ÷¡¢DHCP

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡4:Dnsmasq¡¢ÍøÂç»ìÔÓģʽ


¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡5:ÍøÂçµþ¼ÓģʽVLAN¡¢VxLAN¡¢GRE


¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡6:ʲôÊÇTap/Tun¡¢ÍøÇÅ

¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡7:µ½µ×ʲôÊÇOpen vSwitch





ÒÑÓÐ(3)ÈËÆÀÂÛ

Ìøתµ½Ö¸¶¨Â¥²ã
ÃÔºýÔÆ ·¢±íÓÚ 2015-11-18 13:23:43
ÔÞ£¬ÕâһϵÁж¼ºÜºÃ
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | Á¢¼´×¢²á

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

ÍƼöÉÏÒ»Ìõ /2 ÏÂÒ»Ìõ