iptables의 FTP 다운로드 문제 - 포트 21 연결은 허용되지만 "네트워크에 액세스할 수 없습니다."

iptables의 FTP 다운로드 문제 - 포트 21 연결은 허용되지만 "네트워크에 액세스할 수 없습니다."

FTP 사이트에 연결하려고 하는데 다음 명령을 사용하고 있습니다 wget.

Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /gcrypt/gnutls ... done.
==> SIZE v3.2 ... done.
==> PASV ... couldn't connect to 217.69.76.55 port 40258: Network is unreachable

iptables를 비활성화하면 작동하므로 그것이 문제인 것 같습니다. 하지만 나는 모든 것을 올바르게 설정했다고 확신합니다.

# Accept related, established...
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# ftp/http(s) clients
-A OUTPUT -p tcp -m multiport --dports 21,80,443,8080 -j ACCEPT
-A OUTPUT -p udp --dport 21 -j ACCEPT

뭐가 문제 야?

답변1

Iptables가 제대로 작동하려면 "관련, 설정"에 대한 일부 커널 모듈을 로드해야 합니다. HTTP 클라이언트가 괜찮다면 분명히 그 중 일부가 이미 있는 것입니다.

 > lsmod | grep conntrack
 nf_conntrack_ipv4      20258  6 
 nf_defrag_ipv4         12702  1 nf_conntrack_ipv4
 xt_conntrack           12760  6 
 nf_conntrack           99996  2 xt_conntrack,nf_conntrack_ipv4

그러나 FTP용 드라이버는 nf_conntrack_ftp추가 기능이며 장치나 파일 시스템 드라이버와 달리 커널에 의해 자동으로 로드되지 않습니다.

 > modprobe nf_conntrack_ftp

해야 할 것. AFAIK에는 시작 시 모듈을 자동으로 로드하는 교차 배포판 방법이 없지만 Fedora에서는 다음을 추가할 수 있습니다.

IPTABLES_MODULES="nf_conntrack_ftp"

도착하다 /etc/sysconfig/iptables-config. 이 파일을 사용 systemd하지만 없는 다른 시스템에서는 을 참조하세요 man modules-load.d.

관련 정보