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 を生成するいくつかの方法

推薦する

HTML テーブル_Powernode Java アカデミー

HTMLで表を描くには、表タグを使用します。 trは行を意味しますtdは列を示すth はテーブ...

Nginx ロケーション ディレクティブ URI マッチング ルールの詳細な概要

1. はじめにロケーション命令は、http モジュールのコア構成です。事前に定義された URL マッ...

Vueはプルダウンを実装してさらに読み込む

Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...

MySQLとRedisでセカンダリキャッシュを実装する方法の詳細な説明

Redis の紹介Redis は完全にオープンソースで無料であり、BSD プロトコルに準拠しており、...

Ubuntu の Docker で mysql5.6 をインストールする方法

1. mysql5.6をインストールする docker 実行 mysql:5.6すべてのアイテムのダ...

マーキー要素は、スクロールするフォントや画像などの効果を実装します。

マーキー要素を使用すると、単純なフォント(画像など)のスライドやその他の効果を実現できます。コードを...

強くお勧めします! Vue 3.2 でシンタックスシュガーを設定する

目次前の1. セットアップ構文シュガーとは何か2. セットアップコンポーネントを使用して自動的に登録...

Vue が値を返してフォームを動的に生成し、データを送信する仕組みの詳細な説明

目次解決された主な問題1. バックエンドから返され、バックエンドに送信されるデータは、次の形式になり...

sqlite3 から mysql に移行するときに起こりうる問題のコレクション

簡単な説明適切な読者: モバイル開発sqlite3 データを mysql に移行する場合、多くの構文...

CSS でインラインブロック要素間のギャップを削除するいくつかの方法の詳細な説明

最近、モバイルページを制作する際には、レイアウトにインラインブロック要素がよく使われますが、インライ...

Nginx ドメイン名 SSL 証明書の構成 (Web サイトの http を https にアップグレード)

序文HTTP と HTTPS日常生活でよく使われる URL は、おおまかに次の 2 種類に分けられま...

nginx パニック問題の解決方法の詳細な説明

nginx パニック問題に関しては、まず nginx の起動プロセス中に、マスター プロセスが構成フ...

nginx で正規表現を使用してワイルドカードドメイン名を自動的に一致させる方法

Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...

Vue3スタイルのCSS変数注入の実装

目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...

MySQL の中国語ソートの詳細と例

MySQL の漢字ソートの詳細な説明デフォルトでは、MySQL は日付、時刻、および英語の文字列の並...