KMと申します。vine2.5を使用しています。 ADSL | ppp0 vine2.5(foo.mydomain.co.jp) としています。/etc/xinetd.d/proftpを service ftp { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.proftpd log_on_success += DURATION USERID log_on_failure += USERID nice = 10 } /etc/proftpd.confを #ServerType standalone ServerType inetd DefaultServer on Port 21 is the standard FTP port. として/etc/hosts.allowは in.proftpd: ALL にして外部ホストからもこのFTPサーバにアクセスできました。それでポート番号を 変更してみました。 /etc/servicesを ftp-data 20/tcp ftp-data 20/udp ftp 21/tcp ftp 21/udp ↓ ftp-data 1029/tcp ftp-data 1029/udp ftp 1030/tcp ftp 1030/udp と書き換えて /etc/proftpd.confを #ServerType standalone ServerType inetd DefaultServer on # Port 21 is the standard FTP port. Port 1030 #Port 21 PassivePorts 1029 1029 iptablesを /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT /sbin/iptables -A INPUT -p tcp -s 0/0 --dport 1030 -i ppp0 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp ! --syn --sport 1030 -d 0/0 -o ppp0 -j ACCEPT /sbin/iptables -A INPUT -p tcp ! --syn -s 0/0 --dport 1029 -i ppp0 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --sport 1029 -d 0/0 -o ppp0 -j ACCEPT としました。 /etc/shut.msgを削除して外部ホストにリモートログインして $ ssh gaibu.host.co.jp % ftp foo.mydomain.co.jp 1030 200 PORT command successful FTPログインできましたがやはり、lsコマンドで止まってしまいます。 ローカル上でだと $ ftp localhost 1030 とするとログインでき、lsコマンドも使えました。 どうしてlsコマンドが使用できないのでしょうか? スタンドアロンでproftpdを起動してデバッグモードにしてみました。 # proftpd -n -d9 そして外部ホストからアクセスしてみるとログインしてlsコマンドを使用すると % ftp foo.mydomain.co.jp 1030 Connected to foo.mydomain.co.jp. 220 ProFTPD 1.2.5rc1 Server (ProFTPD Basic Configuration) [foo.mydomain.co.jp] Name (foo.mydomain.co.jp:hoehoe): user01 331 Password required for user01. Password: 230 User user01 logged in. ftp> ls 200 PORT command successful. 425 Can't build data connection: Connection timed out となりました。この際のエラー出力は下記のようになりました。 # proftpd -n -d9 : (中略) : foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - USER user01: Login successful. foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching POST_CMD command 'PASS (hidden)' to mod_readme foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching POST_CMD command 'PASS (hidden)' to mod_ratio foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching POST_CMD command 'PASS (hidden)' to mod_linuxprivs foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - Linuxprivs: capabilities '= cap_net_bind_service+ep'. foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching POST_CMD command 'PASS (hidden)' to mod_log foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching POST_CMD command 'PASS (hidden)' to mod_ls foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching LOG_CMD command 'PASS (hidden)' to mod_log foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching LOG_CMD command 'PASS (hidden)' to mod_ratio foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching PRE_CMD command 'PWD' to mod_core foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching CMD command 'PWD' to mod_core foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - in dir_check_full(): path = '/home/user01', fullpath = '/home/user01'. foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching LOG_CMD command 'PWD' to mod_log foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching PRE_CMD command 'PORT xxx,xxx,xxx,xxx,152,159' to mod_core foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching CMD command 'PORT xxx,xxx,xxx,xxx,152,159' to mod_core foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching LOG_CMD command 'PORT xxx,xxx,xxx,xxx,152,159' to mod_log foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching PRE_CMD command 'NLST' to mod_core foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching PRE_CMD command 'NLST' to mod_ratio foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching CMD command 'NLST' to mod_ls foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - in dir_check_full(): path = '/home/user01/rpm', fullpath = '/home/user01/rpm'. foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching LOG_CMD_ERR command 'NLST' to mod_log foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - dispatching LOG_CMD_ERR command 'NLST' to mod_ls foo.mydomain.co.jp (gaibu.host.co.jp[xxx.xxx.xxx.xxx]) - FTP no transfer timeout, disconnected.