Windows 10でFTPサーバーを構成しています。Windowsファイアウォールをオフにすると、同じLAN上の他のマシンからFTPサーバーにアクセスできます。しかし、ファイアウォールをオンにすると、FTPにアクセスできません。これらは、自分の問題に固有であると感じるファイアウォールインバウンドルールです(私は完全なWindowsファイアウォールルールリストを切り取って共有しようと考えていましたが、非常に大きいです。微調整する必要がある他のルールを教えてください。切り取ります。ここで共有してください。)
正しく構成されていないものを教えてください。 (Windows 10の場合)
[〜#〜] ftp [〜#〜] の場合、TCPポート20
と21
の両方を確実に開く必要があります。さらに、マシンで実行されているサーバーサービスが パッシブモード を使用している場合は、FTPサーバーが使用するように構成されているTCPポート範囲も開く必要があります。
クイックポートの内訳
TCPポート
20
および21
(ie active and passive)で安全でないFTPを実行しているようです。 [〜#〜] ftps [〜#〜] TCPポート990
および989
で暗黙のSSLを使用。FTPプロトコルは、コントロール/コマンドにポート/チャネルを使用し、クライアントとサーバーのデータ交換部分に別のポート/チャネルを使用します。
- コマンドチャネル:TCPポート
21
- データチャネル(アクティブ):TCPポート
20
- データチャネル(パッシブ):
<FTP Server configured TCP port range>
- コマンドチャネル:TCPポート
990
- データチャネル(アクティブ):TCPポート
989
管理者として昇格したコマンドラインで以下を実行し、FTPサーバーサービスへの受信トラフィックが、Windows OS分類ネットワークの任意のIPアドレスとプロファイルスコープの該当するコマンドとデータポートで通信できるようにするWindowsファイアウォールルールを作成します。
サーバーに適したprogram="<C:\FTPServer\FTPServer.exe>"
値を指定するか、代わりにサービス名を指す代わりにservice=<ftpsvc>
を代わりに使用する必要があります。
netsh advfirewall firewall add rule name="FTP Inbound" dir=in action=allow program="%windir%\system32\svchost.exe" remoteip=any localip=any protocol=TCP localport=20,21,990,989 remoteport=20,21,990,989 profile=any
以下を実行して ファイアウォールがFTPトラフィックをブロックしないようにステートフルFTPフィルタリングを無効にする なので、そのトラフィックを許可するためにパッシブポート範囲全体を開く必要はありません。
netsh advfirewall set global StatefulFTP disable
ルールで scope が定義されていることを確認して、LANのIPアドレス範囲が許可されるか、許可されるようにします。 任意のIPアドレスから。最後に、サーバーのネットワークアダプターがファイアウォールルールで許可されているプロファイルで構成されていることを確認します。
ポート
注:必要に応じてパッシブポート範囲を追加します。
スコープ
プロフィール