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

CentOS / RHEL :FTP ポート 20/21 を許可するように iptable ルールを構成する方法

iptables ユーティリティは、Linux カーネルのネットワーク パケット フィルタリング コードを制御します。 iptables 機能は、Linux カーネルで IP パケット フィルター規則のテーブルを設定、維持、および検査するために使用されます。複数の異なるテーブルを定義できます。各テーブルには、多数の組み込みのチェーンが含まれています また、ユーザー定義のチェーンが含まれる場合もあります。

FTP サーバーでは、デフォルトで iptables ルールは FTP 接続用にポート 20/21 を許可するように設定されていません。 ftp 接続を開こうとすると、次のエラーが発生します:

# ftp 192.168.10.10
ftp: connect: No route to host
ftp>

iptables で FTP ポート 20/21 を許可する

ftp サーバーにログインし、以下の手順に従ってください。

1. ファイル /etc/sysconfig/iptables-config を編集します 「ip_conntrack_ftp」を追加します 「」モジュールをセクション「IPTABLES_MODULES=」に 」。エントリは次のようになります:

IPTABLES_MODULES="ip_conntrack_ftp"

2. ファイル /etc/sysconfig/iptables を編集し、ポート 20/21 に iptables ルールが追加されていることを確認します

# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT                        ## rule related to FTP command (port 21)
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT                        ## rule related to FTP data (port 20)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
注: iptables ルールの順序は重要です。

3. iptables サービスを再起動します

# service iptables restart

4. 以下のコマンドを実行して、ftp モジュールがロードされているかどうかを確認します。

# lsmod | grep -i ftp

出力例:

# lsmod | grep -i ftp
nf_conntrack_ftp       12913  0
nf_conntrack           79357  3 nf_conntrack_ftp,nf_conntrack_ipv4,xt_state

5. 以下のコマンドを実行して、ftp ポート 20 およびポート 21 に関連する iptables ルールが有効になっているかどうかを確認します。

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

6. クライアントから ftp サーバーに正常に ftp できるかどうかを確認してください。


Linux
  1. CentOS/RHEL で TLS および非 TLS を受け入れるようにリモート Rsyslog を構成する方法

  2. CentOS / RHEL 6 :kdump の設定方法

  3. CentOS / RHEL 7 :kdump の設定方法

  1. CentOS / RHEL 5 :kdump の設定方法

  2. CentOS / RHEL 6 :iptables ルールを保存する方法

  3. CentOS / RHEL :DHCP サーバーの構成方法

  1. CentOS / RHEL :iptable ルールを追加する方法

  2. CentOS / RHEL :デフォルト ポート 20 および 21 以外のポートを使用するように vsftpd を構成する方法

  3. CentOS / RHEL 4 :FTP サーバー (vsftpd) をインストールして構成する方法