GNU/Linux >> Linux の 問題 >  >> Linux

CentOS7でiptablesを使用する

RedHat®EnterpriseLinux®(RHEL)7およびCentOS®7以降、iptablesの管理にfirewalldを使用できるようになりました。そのため、firewall-cmdを使用する必要があります。 コマンドを実行するか、firewalldを無効にしてiptablesを有効にします。この記事では、従来のiptablesセットアップの使用方法を説明します。

firewalldサービスを停止してマスクします

次のコマンドを実行して、使用したくないfirewalldサービスを停止してマスクします。

$ systemctl stop firewalld
$ systemctl mask firewalld

iptablesをインストールして構成する

次の手順を使用して、iptablesをインストールおよび構成します。

  1. iptables-servicesをインストールします 次のコマンドを実行して、パッケージ(まだインストールされていない場合):

    $ yum install iptables-services
    
  2. 次のコマンドを実行して、起動時にサービスを開始できるようにします。

    $ systemctl enable iptables
    $ systemctl enable ip6tables
    
  3. 次に、iptablesルールを追加します。これは、次のいずれかの方法で実行できます。

    • コマンドラインインターフェイス(CLI)から、iptables -I INPUT ...のようなコマンドを実行します。

    • /etc/sysconfig/iptablesを作成または編集する 次の基本的な例のように見えるファイルで、ポート22と80は開いたままになります。

      $ cat /etc/sysconfig/iptables
      *filter
      :INPUT ACCEPT [0:0]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [214:43782]
      -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      -A INPUT -i lo -j ACCEPT
      -A INPUT -j REJECT --reject-with icmp-port-unreachable
      COMMIT
      
      $cat /etc/sysconfig/ip6tables
      
      *filter
      :INPUT ACCEPT [0:0]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [214:43782]
      -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
      -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      -A INPUT -i lo -j ACCEPT
      -A INPUT -j REJECT --reject-with icmp6-adm-prohibited
      COMMIT
      
  4. オプション )ルールを/etc/sysconfig/ip{,6}tablesに保存する場合 ファイルの場合は、次のコマンドも実行する必要があります。

    $ systemctl restart iptables
    $ systemctl restart ip6tables
    
  5. 次に、次のコマンドを実行して、iptablesサービスがアクティブになっていることを確認します。

    $ systemctl status iptables
    $ systemctl status ip6tables
    
  6. 次のコマンドを実行して、iptablesルールを確認します。

    $ iptables -L
    $ ip6tables -L
    
  7. 次のコマンドを実行して、サーバーが開いたポート(上記の例では22と80)をリッスンしていることを確認します。

    $ netstat -plant
    
  8. systemdをクエリします 次のコマンドを実行してiptablesサービスに加えた変更のログのジャーナル:

    $ journalctl -f -u iptables.service
    $ journalctl -f -u ip6tables.service
    
  9. サーバーを再起動します。 iptablesルールを保存し、自動的に再読み込みする必要があります。


Linux
  1. Centos8でSaltを使用する方法

  2. Lsでアンカー^$を使用できますか?

  3. RackspaceでCloudFlareを使用する

  1. CentOS/RHEL 7 および 8 で firewalld の代わりに iptables を使用する方法

  2. CentOS / RHEL :iptables トラブルシューティング ガイド

  3. webRTC で IP カメラを使用する

  1. libvirtでVagrantを使用する方法

  2. Centos – Iptablesとの発信接続をブロックしますか?

  3. IPTables を使用した FTP の許可