Linux 占有ポートの強制解放と Linux ファイアウォールのポート開放方法の詳しい説明

Linux 占有ポートの強制解放と Linux ファイアウォールのポート開放方法の詳しい説明

nginx、mysql、tomcat などのサービスをインストールするときに、使用する必要があるポートが不可解に占有されているという問題が発生することがあります。この問題を解決する方法は次のとおりです。

ポートといえば、ファイアウォールについても触れなければなりません。この記事では、ファイアウォールの開発ポートを構成する方法についても簡単に紹介します。

Linuxでポートステータスを表示するさまざまな方法

すべてのポートのマッピング関係は /etc/services ファイルにあります。

Linux ポートの簡単な紹介。ポート番号の範囲は 0 から 65536 です。各番号付きポートの用途は次のとおりです。

0-1023: よく知られているポート、一般的なサービスにバインドされている (FTP、SSH)

1024-49151: 登録ポート。一部のサービスにバインドするために使用されます。

49152-65535: 動的またはプライベートポート。あらゆるネットワーク接続に使用可能

ポートは TCP と UDP の送信プロトコルに分かれています。

Linux のポートステータス表示コマンド

次のコマンドを使用してポートの状態を確認できます。コマンドをクリックすると、各コマンドの使用方法の詳細を調整できます。

nmapコマンド、ポートスキャンの使用

netstat開発ポートを検出します

lsofポート記述子をチェックします

# このマシンにバインドされているポートを表示する nmap 127.0.0.1

# ポート 3306 を確認する netstat -anlp | grep 3306

# インターフェース3306をチェック lsof -i:3306

Linuxで占有ポートを解放する方法

解決手順は次のとおりです。

ポートを占有しているプロセスを見つける

プロセスを強制終了する

次のコマンドを使用します。

# コマンドとして記述できる

netstat -anp|grep 8080|awk '{print $7}'|awk -F '/' '{print $1}'|xargs kill -s 9

各コマンドの意味は次のとおりです。

netstat -anpすべてのネットワーク使用状況とそれを使用しているプログラムを表示します。

grep 8080ポート 8080 のレコードと一致します (18080 が含まれる場合があります)

awk '{print $7}' 7列目のプロセスを次の形式で出力します: 18989/nginx

awk -F '/' '{print $1}'プロセス PID: 18989 をインターセプトします

xargs kill -s 9前のコマンドの出力をパラメータとして使用してプロセスを強制終了します。

占有ポートを解放するためのステップバイステップのソリューション

ポートが占有されているかどうかを確認する

たとえば、ポート8080が使用されているかどうかを確認する必要がある場合は、次のコマンドを使用できます。

netstat -an | grep 8080

ポートを占有しているプロセスを照会する

lsofコマンドを使用して表示できます

lsof -i:8080

netstatとgrepを使って表示することもできます

netstat -anp|grep 8080

コマンドの最後の行は、ポート 8080 を占有しているプロセスの PID と名前です。

ポートを占有しているプロセスを強制終了する

kill コマンドを使用して、前の手順で見つかったプロセスを直接終了できます。

kill -9 19664

Linuxファイアウォールがポートを解放

Linux ファイアウォールの起動とシャットダウン

以下で紹介するファイアウォールは iptable であり、firewalld には適用できません。

ファイアウォールをオンにします(再起動後も有効です): chkconfig iptables on
ファイアウォールをオフにします(再起動後も有効です): chkconfig iptables off
ファイアウォールを有効にする(即時有効、再起動後は無効): service iptables start
ファイアウォールを無効にします(即時有効、再起動後は無効):service iptables stop
ファイアウォールを再起動します: service iptables restart

Linuxでファイアウォールの状態を確認する

表示するには次のコマンドを使用できます。

/etc/init.d/iptables ステータス

# または単にiptablesステータス
iptables -L

# 設定ファイルを直接表示することもできます vim /etc/sysconfig/iptables 

Linuxファイアウォールでポートを開く

たとえば、ポート 8080 を開くには、次のコマンドを使用します。

iptables -A 入力 -p tcp --dport 8080 -j 受け入れ
# サービスも再起動する必要があります service iptables restart

# 設定ファイルを直接編集することもできます vim /etc/sysconfig/iptables
# 次に、ファイルの末尾に 8080 から 8181 までのすべてのポートを開く行を追加します。iptables -A INPUT -p tcp --dport 8080:8181 -j ACCEPT

–Aパラメータはルールを追加するものとみなされます
–pはプロトコルを指定します。通常はTCPプロトコルを使用しますが、もちろんUDPもあります。
–dportはターゲット ポートです。データが外部からサーバーに入るときにターゲット ポートになります。
–sportデータはサーバーから送信されるため、データソースポートとして使用されます
–j ACCEPT (受信) または DROP (受信しない) を指定します。

上記はLinuxの占有ポートの強制解放とLinuxファイアウォールのポート開放方法についてです。Linuxポートに関するその他の記事については、以下の関連記事をクリックしてください。

以下もご興味があるかもしれません:
  • Linuxでファイルを削除してもスペースが解放されない問題の対処方法
  • Linux サーバーのメモリを手動で解放する (具体的な手順)
  • CCKiller: Linux 用の軽量 CC 攻撃防御ツール。数秒でターゲットをチェックし、自動的にブロックして解放します。
  • Linux メモリのクリーンアップ/解放コマンドの概要
  • Linuxのメモリ解放コマンドの詳しい説明
  • Linuxでキャッシュを手動で解放する方法の詳細な説明
  • Linuxファイル削除後にスペースが解放されない問題の詳しい説明

<<:  MySQL で行を列に変換したり、列を行に変換したりする詳細な例

>>:  JavaScript で一意の ID を生成するいくつかの方法

推薦する

MySql マスタースレーブレプリケーションメカニズムの包括的な分析

目次マスタースレーブレプリケーションメカニズム非同期レプリケーション準同期レプリケーションマスタース...

Vue でカスタムパスのエイリアスを設定する方法

Vue でカスタム パス エイリアスを設定する方法日常の開発では、モジュールやコンポーネントをインポ...

html+vue+element-ui のスムーズさを 1 分で体験

テクノロジーファンHTMLウェブページ、知っておくべきYouyou が開発した vue フロントエン...

MySQL 5.7.9 バージョンの sql_mode=only_full_group_by 問題を解決する

MySQL 5.7.9 バージョンの sql_mode=only_full_group_by の問題...

VUE ユニアプリライフサイクルに関する簡単な説明

目次1. アプリケーションライフサイクル2. ページのライフサイクルコンポーネントライフサイクル要約...

インターフェーステストプラットフォームを構築するためのDjango+Vue+Dockerの詳細な説明

1. 冒頭の2つの単語みなさんこんにちは。私の名前はLin Zonglinです。私はテストエンジニア...

Vuex でゲッターとアクションを使用するための追加手順

予備的注釈1.Vue2.xとVue3.xの違い: Vue 3.x にはヘルパー関数はありません。 V...

Linux リモートログイン実装チュートリアル分析

Linux は一般的にサーバーとして使用され、サーバーは一般的にコンピュータルーム内に置かれます。L...

Mysql 主キー UUID と自動増分主キーの違いと利点と欠点

導入私はしばらくの間、postgresql データベースを使用していました。クラウドに移行した後、自...

Node.jsがES6モジュールを処理する方法の詳細な説明

目次1. 2つのモジュールの違い2. Node.jsとの違い3. CommonJSモジュールの読み込...

Tomcat マルチポートドメイン名アクセスと gzip 圧縮方式を有効にする構成

1. デフォルトのポート8080に加えて、ドメイン名のアクセスとserver.xmlのオープンにポー...

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

JavaScript Three.js でテキストを作成する最初の経験

目次効果テキストの作成を開始するまずフォントローダーを作成するフォントライブラリを読み込むテキストジ...

Nginx 構成の実装 https

目次1: https証明書を準備する2: nginx sslモジュールを準備する3: SSL証明書を...

Tudou.comのホームページのデザイン方法

<br />私は数年間フロントエンドに取り組んできました。フロントエンドについて完全に理...