電気ウナギ的○○

About Home

WSL 上の vsftpd にホストPCから FTP 接続できない

shinoda (2026年8月31日 23:00)
WSL 上の ALmaLinux で vsftpd を起動し、SELinux や Firewall によるアクセス制限がないことを確認しホストPC(WSL を実行している Windows 本体)から FTP 接続してみたのだがうまくいかない。

まず、接続先の IP を ipconfig で確認。

C:\Users\朕>ipconfig

Windows IP 構成
<略>
イーサネット アダプター vEthernet (WSL (Hyper-V firewall)):

   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::96fb:c228:9f11:d148%44
   IPv4 アドレス . . . . . . . . . . . .: 172.28.192.1
   サブネット マスク . . . . . . . . . .: 255.255.240.0
   デフォルト ゲートウェイ . . . . . . .:

よし、172.28.192.1 だな・・・と思って、そこにアクセス。

C:\Users\朕>ftp
ftp> open 172.28.192.1
> ftp: connect :接続が拒否されました

ありゃ?接続拒否されてんじゃん。

WSL 内部からは FTP サーバへアクセス可能。

[root@PC ~]# ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 3.0.5)
Name (localhost:root): admin
331 Please specify the password.
Password:adminpassword<実際は表示されない>
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit

なので、vsftpd は正しく動いている。

で、Gemini に聞いてみると、「IP アドレスが違うんじゃね?」ってことだったので調べてみる。

[root@PC ~]# ip a
<略>
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
group default qlen 1000
    link/ether 00:15:5d:45:c0:d2 brd ff:ff:ff:ff:ff:ff
    inet 172.28.196.77/20 brd 172.28.207.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe45:c0d2/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever

あり?IP って 172.28.196.77 なの?ホストPCの ipconfig で調べた 172.28.192.1 だと思ってた。これは WSL2 と Windows の環境をつなぐ仮想ネットワークの GW なのね。

というわけで

C:\Users\朕>ftp 172.28.196.77
172.28.196.77 に接続しました。
220 (vsFTPd 3.0.5)
200 Always in UTF8 mode.
ユーザー (172.28.196.77:(none)): admin
331 Please specify the password.
パスワード:adminpassword<実際は表示されない>

230 Login successful.

おお、ログインできた。WSL2 が起動している状態だと、localhost も自動的に WSL 上の 127.0.0.1 に向けてくれるそうだ。なので、

C:\Users\朕>ftp localhost
PC に接続しました。 ←表示はホストPCに接続したと出る
220 (vsFTPd 3.0.5)  ←実際は WSL にフォワードされている
<略>

というわけで接続できる・・・が、Windows から接続する場合、他にもいろいろ問題が。

実は、WSL を起動する度に WSL 側の IP アドレスは変更される。今回は 172.28.196.77 が割り当てられたが、WSL を一旦シャットダウンしてしまうと(Windows 再起動とかで)違う IP アドレスが割り振られてしまう(172.28.207.110 とかかもしれない)。

そのため、バッチファイルなどにこの IP アドレスを固定値で書いていると、次に実行したときにはうまく FTP ができないという状況になる。安全なのは、127.0.0.1 や localhost を接続先にしておくことだね。

で、最凶の問題が、Windows についてくる FTP クライアントは「PASVモードの機能がない」糞ソフトなので、接続まではできるけど、GET も PUT もできましぇん(笑)

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/7301

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE