GNU/Linux >> Znalost Linux >  >> Linux

CentOS / RHEL :Jak nakonfigurovat pravidla iptable pro povolení portů FTP 20/21

iptables obslužný program řídí kód filtrování síťových paketů v jádře Linuxu. Funkce iptables se používá k nastavení, údržbě a kontrole tabulek pravidel filtrování paketů IP v jádře Linuxu. Lze definovat několik různých tabulek. Každá tabulka obsahuje několik vestavěných řetězců a může také obsahovat uživatelem definované řetězce.

Na FTP serveru nejsou standardně pravidla iptables nastavena tak, aby umožňovala port 20/21 pro připojení FTP. Při pokusu o otevření připojení ftp dojde k následující chybě:

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

Povolení portů FTP 20/21 v iptables

Přihlaste se k ftp serveru a postupujte podle níže uvedených kroků.

1. Upravte soubor /etc/sysconfig/iptables-config a přidejte „ip_conntrack_ftp „“ do sekce „IPTABLES_MODULES= “. Vstup by měl vypadat takto:

IPTABLES_MODULES="ip_conntrack_ftp"

2. Upravte soubor /etc/sysconfig/iptables a ujistěte se, že jsou přidána pravidla iptables pro port 20/21

# 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
Poznámka: Pořadí pravidel iptables je důležité.

3. Restartujte službu iptables

# service iptables restart

4. Spusťte níže uvedený příkaz a zkontrolujte, zda jsou načteny ftp moduly nebo ne.

# lsmod | grep -i ftp

Příklad výstupu:

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

5. Spusťte níže uvedený příkaz a zkontrolujte, zda jsou povolena pravidla iptables související s porty ftp 20 a 21.

# 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. Ověřte, zda můžete úspěšně ftp z klienta na ftp server.


Linux
  1. CentOS / RHEL 7:Jak nainstalovat a nakonfigurovat ftp server (vsftpd)

  2. CentOS / RHEL 6 :Jak nakonfigurovat kdump

  3. CentOS / RHEL 7 :Jak nakonfigurovat kdump

  1. CentOS / RHEL 5:Jak nakonfigurovat kdump

  2. CentOS / RHEL 6:Jak uložit pravidla iptables

  3. CentOS / RHEL :Jak nakonfigurovat server DHCP

  1. CentOS / RHEL :Jak nakonfigurovat vsftpd pro použití jiných portů než výchozích portů 20 a 21

  2. CentOS / RHEL 4:Jak nainstalovat a nakonfigurovat FTP server (vsftpd)

  3. CentOS / RHEL 5 :Jak nainstalovat a nakonfigurovat server vsftpd