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

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

推薦する

Linux システムで MySQL の文字セットを UTF8 に変更する手順

目次1. データベース内の MySQL ステータスを確認します。 2. 設定ファイルを変更します。 ...

Windows 10 での MySQL 8.0.19 のインストールと設定のチュートリアル

来学期にMySQLを勉強します。事前に自宅で練習していませんでした。インストールに時間がかかるとは思...

CSS フレックスベースのテキストオーバーフロー問題の解決方法

重要でないflex-basisテキストオーバーフローに省略記号を追加するという小さな機能に多くの問題...

Nginxドメイン名転送のhttpsアクセスの実装

事前に一言:突然、複数のドメイン名のアクセスを https に転送するというタスクを受け取りました。...

MySQLのMERGEストレージエンジンの詳細な説明

MERGE ストレージ エンジンは、MyISAM テーブルのグループを論理ユニットとして扱い、同時に...

CSS の overflow: hidden の使い方 (オーバーフローの非表示とフロートのクリア)

オーバーフロー非表示指定された高さを超えるテキストや画像情報を非表示にすることを意味します。 <...

MySQL 8.0.20でNavicatをインストールして接続する方法と注意すべき点

注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...

MySQL ステートメントの実行順序と書き込み順序の例の分析

選択ステートメントの完全な構文は次のとおりです。 選択 DISTINCT <選択リスト>...

設計仕様に準拠した設計は良い設計でしょうか?

これまでの数年間、私はいわゆる「設計仕様」についてかなりの数の執筆やコンサルティングを行ってきました...

リアルタイムクロックを実装するネイティブJS

ネイティブ JS で実装したリアルタイム クロック エフェクトを共有します。エフェクトは以下のとおり...

HTMLの基本タグと構造の詳細な説明

1. HTMLの概要1.HTML: ハイパーテキスト マークアップ言語。これはプログラミング言語では...

CSS 水平プログレスバーと垂直プログレスバーの実装コード

時々、素敵なスクロールバー効果を見るのは楽しいものです。ここでは、CSSを使用してそれを実現する方法...

Unicode署名BOMによる事故原因の分析

ここでは、通常ヘッダーとフッターに対して行われるインクルード ファイルを使用している可能性があります...

Vue コンポーネント値転送中のデータ損失の分析と解決

序文前回の記事では、JavaScript の 2 つのデータ型、基本型と参照型、および参照型の浅いコ...

HTML テーブルレイアウト例の説明

HTML ドキュメント内の要素は次々に配置され、ブロックレベル要素の前後に改行が追加されるだけで、合...