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は緯度と経度をリアルタイムで取得し、住所を特定します

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

推薦する

MySQLでトリガーを作成する方法

この記事の例では、参考のためにMySQLトリガーを作成するための具体的なコードを共有しています。具体...

Vueで親子コンポーネント通信を実装する方法

目次1. 親コンポーネントと子コンポーネントの関係2. 小道具3. $エミット4. $親V. 結論 ...

ReactのsetStateがマクロタスクなのかマイクロタスクなのかについて詳しく話しましょう

目次序文面接官は適切な質問をしていますか? § React は setState をどのように制御し...

Webデザインチュートリアル(5):Webビジュアルデザイン

<br />前回の記事:Webデザイン講座(4):素材と表現について Webデザイン上級...

Linux仮想マシンの静的IPアドレスを構成するための手順を完了します

序文多くの場合、仮想マシンを使用します。たとえば、一部のテストは検出されません。何かを壊すことを心配...

Selenium+testng を使用して Docker で Web 自動化を実現する方法

序文長い間さまざまな資料を読んで、ついに selenium+testng のパラメータ化の問題を解決...

ポップアップはすべて不正なものではありません。ウェブサイトのポップアップをデザインするためのヒント

ポップアップニュースは国内のインターネットサービスでは一般的であり、リアルタイムプッシュ方式はウェブ...

MySQLでカーソルを宣言する方法

MySQL でカーソルを宣言する方法: 1. 変数とカーソルを宣言する 結果をvarchar(300...

Linux の一般的なテキスト処理コマンドと vim テキストエディタ

今日は、いくつかの一般的なテキスト処理コマンドとvimテキストエディタを紹介します。 3日目 - 一...

JavaScript は、シンプルな虫眼鏡の最も完全なコード分析を実装します (ES5)

この記事では、参考までに、シンプルな虫眼鏡を実装するためのJavaScriptの具体的なコードを紹介...

テキストの展開と折りたたみの効果を実現するJavaScript

リスト形式のテキストの展開と折りたたみの実装は参考までに。具体的な内容は以下のとおりです。必要: 1...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

nginx サーバーでの 502 不正なゲートウェイ エラーの原因のトラブルシューティング

パブリックアカウントのファンデータを同期してバッチプッシュするときに、サーバーがエラー502を報告し...

テーブルはセルとimg画像を結合してtd HTML全体を埋めます

ソースコード(一部のクラスは削除されています):コードをコピーコードは次のとおりです。 <テー...

Docker ケース分析: MySQL データベース サービスの構築

目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...