[Armadillo:07928] Re: ftpd pasvのポート固定方法

Takenoshita Koyo email@hidden
2012年 3月 13日 (火) 16:54:32 JST


竹之下です。

AtmarkDistに含まれているftpdでは、bind()時に
ポート番号0を渡すようになっています。

atmark-dist/user/ftpd/ftpd.c::passive() 参照

bindにポート番号0が渡された場合、カーネルが空いている
ポートを割り当てるので、ftpd側ではどの番号を使用するかは
指定できません。

しかし、カーネル側で、アプリに割り当てる番号の範囲を設定
することはできます。それには、procファイルシステムの
ip_local_port_range というファイルを使います。

例えば、下記のコマンドを実行すると、ポート番号として
40000から41000の間の番号を使うようになります。

[armadillo ~]# echo "40000 41000" > /proc/sys/net/ipv4/ip_local_port_range

現在の設定を確認するには、catコマンドでip_local_port_rangeファイルを
読み出してください。
[armadillo ~]# cat /proc/sys/net/ipv4/ip_local_port_range 
32768   61000

なお、この設定を変更すると、bind()にポート番号0を渡している他のアプリも
影響を受けます。一応、ご留意ください。

(2012年03月05日 18:36), 佐藤 wrote:
> 佐藤と申します。
> 
> Armadillo-220でftpdを起動しています。
> 
> PASVモードのポートを固定にしたいのですが
> 可能でしょうか?
> 可能であれば設定方法を教えてください。
> 
> よろしくお願いします。
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 


-- 
Koyo Takenoshita




armadillo メーリングリストの案内