CentOS8.0 で FTP サーバーをインストールして設定する方法

CentOS8.0 で FTP サーバーをインストールして設定する方法

CentOS8.0-1905 のリリース後、FTP サーバーを CentOS の新しいバージョンに移行しようとしました。しかし、テスト中に、ファイアウォールで FTP サービスを開いた後も、接続できませんでした。lftp または ftp ツールを使用してテストすると、「ホストへのルートがありません」というエラーが表示されます。ただし、ファイアウォールをオフにすると、FTP サービスに正常にアクセスできるようになります。

関連情報を検索したところ、firewalld ソフトウェアにバグがあることがわかりました。ただし、http をインストールしようとしたところ、テスト後に成功したため、ファイアウォールに問題はないことがわかりました。

関連情報の検索を続け、Chrome、Firefox、Filezilla などのほとんどのクライアント ツールは、デフォルトでパッシブ モード (PASV モード) を使用して FTP サービスにアクセスしていることがわかりました。したがって、問題は、FTP がパッシブ モードで動作しているときにポートが拒否されることにあると推測します。

vsftpd 設定ファイルに PASV 関連の設定を追加し、ファイアウォールで指定されたポートを開くと、正常にアクセスできるようになります。

実装手順は次のとおりです。

1. インストール

yum -y vsftpdをインストールします

2. 設定を調整する

vim /etc/vsftpd/vsftpd.conf 
##匿名アクセスやその他の機能を有効にするなど、必要に応じて構成を調整します##パッシブ モードを有効にします##################
#pasv_enable=YES ##有効にする #pasv_min_port=10000 ##最低のpasvポートを開きます。1024より大きいポートを使用することをお勧めします。 #pasv_max_port=11000 ##最高のpasvポートを開きます#######################

3. ファイアウォールの設定を調整する

## FTP サーバーを有効にする ファイアウォール コマンド --add-service=ftp --permanent
###### FTP アクセスを追加する ファイアウォール コマンド --add-port=10000-11000/tcp --permanent
######上記のコマンドはTCPポート10000-11000を開きます######必要に応じて、対応するUDPポートを追加できますfirewall-cmd --reload
##ファイアウォールをリロードする

4. アクセスするにはFTPサービスを再起動します

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • CentOS7 サーバー環境で vsftpd をインストールして設定する方法
  • CentOS 7 で FTP サーバーを構築するための proftpd のインストールと設定に関する詳細なチュートリアル
  • Centos6.9 で vsftpd をインストールして複数のユーザーを設定する方法
  • CentOS7のインストールとFTPを構築するためのvsftpの設定の詳細な説明
  • CentOS での vsftp の詳細なインストールと設定
  • CentOs6.5 での vsftp のインストールと設定に関する簡単なチュートリアル
  • CentOS 8 システム FTP サーバーのインストールとパッシブ モードの設定の詳細なチュートリアル

<<:  React+Amapは緯度と経度をリアルタイムで取得し、住所を特定します

>>:  開発者がデータベースロックを詳細に理解する必要がある理由

推薦する

Nginx シグナル制御

Nginx の紹介Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...

Alpine イメージに Ansible サービスを追加する方法

apk add ansible を使用して、alpine イメージに ansible サービスを追加...

docker ポートを追加して dockerfile を取得する方法

DockerイメージからDockerfileを取得する docker 履歴 --format {{....

あなたを救うために、私のテーブルは何を使えばいいでしょうか (Haiyu Blog)

テーブルはかつて、Web ページの開発、つまりレイアウトにおいて非常に重要な役割を果たしていました。...

jQueryはHTML要素の非表示と表示を実装します

商品を検索するときに、すべてのブランドまたは一部のブランドを表示するTaobaoの機能を真似してみま...

Vuex のモジュール化と名前空間の例のデモ

1. 目的:コードの保守が容易になり、さまざまなデータの分類が明確になります。 2. store/i...

Vueルーティングルーターの詳細な説明

目次ルーティングプラグインをモジュール方式で使用するルートの使用宣言型ナビゲーションプログラムによる...

dig/nslookup コマンドを使用して DNS 解決手順を表示する方法

dig - DNS ルックアップ ユーティリティドメイン名のアクセス障害が発生した場合、ドメイン名の...

さまざまなReact状態マネージャーの解釈と使用方法

まず、状態マネージャーとは何か、そしてそれが何をするのかを知る必要があります。複数のページで同じプロ...

4 つの主要な SQL ランキング関数 ROW_NUMBER、RANK、DENSE_RANK、NTILE の使用方法の紹介

1. ROW_NUMBER()定義: ROW_NUMBER() 関数は、select によってクエリ...

HTML のオートコンプリートを無効にして履歴を表示しないようにする

入力ボックスには、コンテンツを入力するときに常に入力履歴が表示されます。これを無効にする現在の方法は...

MySQLからデータをインポートする際の不正なフォーマット、インポートの遅延、データ損失などの問題を迅速に解決します。

遅い問題を完全に解決したい場合は、MySQL を MySQL 8.0 にアップグレードすることをお勧...

HTML フォームタグチュートリアル (5): テキストフィールドタグ

<br />このタグは、さらにテキストを入力できる複数行のテキスト フィールドを作成する...

CSS3 でクールなスライス画像カルーセル効果を実現

今日は、CSS を使用してクールな画像カルーセル コンポーネントを作成する方法を学びます。その原理は...

MySQL 5.7.18 のインストール中に MySQL サービスの起動に失敗する問題の解決策

MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...