Linux iptablesコマンドの詳細

4029 ワード

構文:
iptables (  ) (  )

iptablesコマンドオプション入力順序:
iptables -t          [   ]  -p      --sport      --dport      -j   

パラメータの説明:
テーブル名は次のとおりです.
  • raw:Webアドレスフィルタなどの高度な機能.
  • mangle:サービス品質を実現するためのパケット修正(QOS).
  • net:ゲートウェイルータ用アドレス変換.
  • filter:ファイアウォールルール用のパケットフィルタリング.

  • ルール・チェーン名は次のとおりです.
  • INPUTチェーン:入力パケットを処理する.
  • OUTPUTチェーン:出力パケットを処理する.
  • PORWARDチェーン:転送パケットを処理する.
  • PREROUTINGチェーン:宛先アドレス変換(DNAT)用.
  • POSTOUTINGチェーン:ソースアドレス変換(SNAT)用.

  • アクションは次のとおりです.
  • ACCEPT:パケットを受信します.
  • DROP:パケットを破棄します.
  • REDIRECT:リダイレクト、マッピング、透明エージェント.
  • SNAT:ソースアドレス変換.
  • DNAT:宛先アドレス変換.
  • MASQUERADE:ADSL用IP偽装(NAT).
  • LOG:ログ記録.​

  • 共通コマンド
     
    現在のiptablesルールを表示するには、次の手順に従います.
    iptables -L -n -v

    構成をクリア:
    iptables -F #           ;  iptables -F    ,   ,             
    iptables -X #             chain
    iptables -Z #                   ;

    ルールによる構成:
    #  ,   ,   ,      
    iptables -P INPUT DROP
    iptables -A OUTPUT -j ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    
    #  ping
    iptables -A INPUT -p icmp -j ACCEPT
    
    #  ssh
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    #  ftp
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    
    #  ftp      , ftp         
    iptables -A INPUT -p tcp --dport 20000:30000 -j ACCEPT
    
    #  felix, smtp    
    iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT -s 127.0.0.1
    iptables -A INPUT -p tcp -m tcp --dport 25 -j REJECT
    
    #  DNS
    iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
    iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
    
    #  http https
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
    #             
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    #            
    iptables -A INPUT -j REJECT #(  :  22         ,SSH       。)
    iptables -A FORWARD -j REJECT

    シールドip---Iパラメータの使用
    iptables -I INPUT -s 123.45.6.7 -j DROP       #    IP   
    iptables -I INPUT -s 123.0.0.0/8 -j DROP      #      123.0.0.1 123.255.255.254   
    iptables -I INPUT -s 124.45.0.0/16 -j DROP    # IP   123.45.0.1 123.45.255.254   
    iptables -I INPUT -s 123.45.6.0/24 -j DROP    # IP   123.45.6.1 123.45.6.254    

    追加されたiptablesルールの削除-Dパラメータの使用
    #     iptables -A INPUT -s 192.168.1.4 -j DROP      
    iptables -D INPUT -s 192.168.1.4 -j DROP
    #  
    #         ,          :      
    iptables -D INPUT 3 #        

    ルールの変更--Rパラメータの使用
    #     iptables -A INPUT -s 192.168.1.4 -j DROP      
    iptables -R INPUT -s 192.168.1.4 -j DROP
    #  
    #         ,          :      
    iptables -R INPUT 3 -j ACCEPT

    規則が永続的に有効になる:再起動を含む
    service iptables save #  
    service iptables restart #  iptables   

    バックアップとリストア
    #    
    iptables-save > /etc/iptables #(  :            )
    
    #    
    iptables-restore < /etc/iptables #(  :            ,           )

    再起動しないルールが有効でない解決について
    iptablesコマンドを使用して操作するルールは、現在のセッションにのみ有効であり、ルールはメモリに存在し、再起動するとルールが失われます.上記では、永続的に有効になる方法について説明しましたが、テストdebianでは成功しませんでした.ここでは、いくつかのソリューションについて追加します.
    この方法の原理は、再起動後に指定したフォルダの下のスクリプトをスキャンして実行し、スクリプト内でリストアを実行する前に保存したルールファイルを使用することです.
    step1
    #    
    iptables-save > /etc/iptables/iptables-script

    step2
    # /etc/network/if-pre-up.d       
    vim /etc/network/if-pre-up.d/auto_restore_iptables

    step3
    #      ,                 
    #!/bin/sh
    /sbin/iptables-restore < /etc/iptables/iptables-script
    #    

    step4
    #          
    sudo chmod +x /etc/network/if-pre-up.d/auto_restore_iptables

    これで、POSTの自動リストアルールの操作が完了しました
    では、追加、削除、変更などの操作は簡単です.
    #1.        
    #2.    
    iptables-save > /etc/iptables/iptables-script

     
    --End--
    本文の内容はネットから来て、もし同じならば、光栄に存じます