두 개의 이더넷 카드를 사용하여 다른 PC에서 만든 NAT 네트워크를 통해 FTP 서버에 연결하려고 합니다. FTP 클라이언트를 통해 첫 번째 PC를 통해 두 번째 PC의 FTP 서버에 액세스하고 싶습니다. 하드웨어 구성은 다음과 같습니다.
FTP 서버는 표준 포트 21을 통해 액세스할 수 있으며 수동 연결에는 1024-1048 포트 범위를 사용하고 있습니다. NAT가 없는 로컬 네트워크에서는 FTP 서버가 완벽하게 작동합니다. iptables를 사용하여 NAT 규칙을 입력하면 포트 21에 연결할 수 있지만 파일 및 폴더 목록을 가져올 수 없습니다. 내가 사용하는 iptables 구성은 다음과 같습니다.
*filter
-A FORWARD -d 145.34.67.230/32 -i enp1s0 -o enp2s0 -p tcp -m tcp --dport 21 -j ACCEPT
-A FORWARD -d 145.34.67.230/32 -i enp1s0 -o enp2s0 -p tcp -m tcp --dport 1024:1048 -j ACCEPT
COMMIT
*nat
-A PREROUTING -i enp1s0 -p tcp -m tcp --dport 21 -j DNAT --to-destination 145.34.67.230:21
-A PREROUTING -i enp1s0 -p tcp -m tcp --dport 1024:1048 -j DNAT --to-destination 145.34.67.230:1024-1048
COMMIT
연결을 시도할 때 Wireshark를 사용하여 네트워크를 스캔한 결과 FTP 서버가 로컬 네트워크에 상대적인 주소와 포트를 보내는 것을 발견했습니다. 다음과 같습니다.
FTP 클라이언트가 NAT를 통해 올바르게 연결할 수 있도록 FTP 서버에서 들어오는 패킷을 수정하기 위해 무엇을 설정해야 하는지 알아내려고 노력 중입니다.
저는 일반 Ubuntu 22.04를 사용하고 있습니다.
당신의 도움에 감사드립니다