Linux でポートを開く方法

Linux でポートを開く方法

外部の PC またはサーバーに接続する必要がありますか? または、別の PC またはサーバーに接続する必要がありますか? Linux を実行している場合は、正しいポートが開いていることを確認する必要があります。

他のオペレーティング システムには通常、このためのグラフィカル ツールがありますが、Linux はそれほど単純ではありません。以下では、Linux でポートを開く方法について説明します。

ポートとは何ですか? なぜポートを開く必要があるのですか?

ポートは、ネットワーク上のエンドポイントです。特定の部屋や外の世界につながるドアのようなものですが、コンピュータ上にあると考えてください。インターネット上で行うことはすべて、特定のポートまたは一連のポートを使用します。

たとえば、独自の Minecraft サーバーを実行するとします。そのためには、ユーザーが接続するためのポートを開く必要があります。同じことが、独自の Web、メール、または FTP サーバーの実行にも当てはまります。

ポートは、ネットワークに接続されたすべてのデバイスで標準化されています。最初の 1,024 ポート (0 ~ 1023) は、ウェルノウン ポート番号と呼ばれます。これらは、HTTP および HTTP (それぞれポート 80 および 443) や SSH (ポート 22) など、最も一般的に使用されるサービス用に予約されています。

1024 を超えるポート番号はエフェメラル ポートと呼ばれ、通常はオンライン ゲームやプライベート Web サーバーなどに使用できます。1024 から 49151 までのポート番号は登録済みポートまたはユーザー ポートと呼ばれ、49152 から 65535 までのポート番号は動的ポートまたはプライベート ポートと呼ばれます。

Linux で開いているポートの一覧表示

Linux でポートを開こうとする前に、ポートがまだ使用されていないことを確認する必要があります。これは、ほとんどの Linux ディストリビューションに含まれているnetstatコマンドを使用して実行できます。ディストリビューションにnetstatがない場合は、代わりにssを使用できます。

netstat -lntu

Linux でポートを開く方法

これにより、すべてのリッスン ソケット ( -l ) とポート番号 ( -n ) が出力されます。これには、TCP ポート ( -t ) と UDP ( -u ) が含まれます。システムにnetstatがない場合は、同じパラメーターでssを使用してください。

ss -lntu

Linux でポートを開く方法

Linux でポートを開く方法

この例では、TCP 接続に対してポート 4000 を開くと仮定します。まず、ポートがまだ使用されていないことを確認する必要があります。これはnetstatまたはssを介して行います。

netstat -na | grep :4000 ss -na | grep :4000

出力が空白であると仮定すると、適切なポート規則をシステムのファイアウォールに追加できます。この方法は、ディストリビューションと、新しいufwファイアウォールまたはfirewalldを使用しているかどうかによって異なります。Ubuntu は ufwを優先しますが、CentOS は通常、代わりに firewalldを使用します。もちろん、古いiptablesファイアウォールを使用している Linux ディストリビューションがまだいくつかあります。

Ubuntu ユーザーおよびその他の ufw ファイアウォール ベースのシステム向け

古いiptablesファイアウォールを使用する代わりに、Ubuntu およびその他の一部のディストリビューションはufwを使用します。これらのシステムでは、次のコマンドでポートが開きます。

sudo ufw allow 4000

次のいくつかの手順をスキップして、新しく開いたポートをテストして、機能していることを確認します。

CentOS およびその他のファイアウォール ベースのシステムを使用して Linux でポートを開く方法

システムでfirewalldを使用している場合は、firewall-cmdコマンドを使用してルールを更新することをお勧めします。

sudo firewall-cmd --add-port=4000/tcp

これは永続的な変更ではありませんが、ポートをテストした後、再起動後にルールを保持する方法について説明します.

その他の Linux ディストリビューションの場合

Linux システムにufwまたはfirewalldがない場合は、 iptablesを使用する必要があります。インストールされていない場合は、選択したパッケージ マネージャーを使用して取得してください。インストールが完了すると、次のコマンドでポート 4000 が開きます。

sudo iptables -A INPUT -p tcp --dport 4000 -j ACCEPT sudo service iptables restart

システムがsystemctlを使用している場合は、2 番目のコマンドを次のように置き換えます。

sudo systemctl restart iptables

接続用に新しく開いたポートのテスト

次に、ポートをテストして、接続を受け入れることを確認する必要があります。これを行うには、netcat ( nc ) を使用してポートをリッスンし、次に telnet を試みます。

まず、ターミナル ウィンドウを開き、次のコマンドを発行します。

sudo ls | nc -l -p 4000

実行中 (リッスン中) のままにして、2 つ目のターミナル ウィンドウを開きます。そのウィンドウで、telnet を使用して接続をテストします。telnet がインストールされていない場合は、パッケージ マネージャーを使用してインストールしてください。

telnet [hostname/IP address] [port number]

[ホスト名/IP アドレス]をシステムの IP アドレスに、[ポート番号]を開いているポート番号に置き換えます。

telnet localhost 4000

以下のような出力が表示され、ncとの接続が開いていることが示されます。

Linux でポートを開く方法

nmapを使用して、ポートが開いていることを示すこともできます。繰り返しますが、コマンドがまだインストールされていない場合は、パッケージ マネージャーを使用して取得します。

nmap localhost -p 4000

Linux でポートを開く方法

nmapは、接続をリッスンしている開いているポートのみを一覧表示することに注意してください。そのため、テストに netcat を使用してそのポートをリッスンします。そうしないと、ポートは開いているものとして登録されません。

開いたばかりのポートに接続できません。

上記のすべての手順を実行してもポートに接続できない場合は、入力を再確認してください。すべてを正しく入力したことが確実な場合は、トラフィックを許可するようにネットワーク ルーターを再構成する必要がある可能性があります。

ネットワーク ルーターごとに設定画面が異なるため、特定の機器のサポート ページまたはユーザーズ マニュアルを参照してください。ポート フォワーディングまたはポート マッピングの設定、およびルーターが使用する組み込みのファイアウォールを確認する必要があります。

Linux でポートを永続的に開く方法

開いているポートをテストして動作していることを確認したら、おそらく変更を永続的にしたいと思うでしょう。そうしないと、再起動後に変更が反映されない場合があります。あなたが Ubuntu ユーザーであるか、そうでなければufwファイアウォールを使用している場合、これについて心配する必要はありません。ufwルールは再起動にリセットされません。

firewalld ユーザー向け

firewalldを使用すると、再起動後もポート規則を簡単に維持できます。—permanentフラグを最初のコマンドに追加するだけで、起動時に Linux システムのファイアウォール ルールに含まれます。

sudo firewall-cmd --add-port=4000/tcp --permanent

まだ iptables を使用している場合

iptablesファイアウォールははるかに面倒です (おそらく、firewalld または ufw にアップグレードする十分な理由です)iptablesでポートを「永続的に」開くには、 iptables-persistentパッケージをインストールすると役立ちます。

Debian ベースのシステムにiptables-persistentを初めてインストールすると、現在のルールが/etc/iptables/rules.v4または/etc/iptables/rules.v6に保存されます。新しいルールを追加するには、次のコマンドを発行します。

sudo iptables-save > /etc/iptables/rules.v4

また

sudo iptables-save > /etc/iptables/rules.v6

RPM ベースの Linux ディストリビューションを実行している場合は、少し異なります。パッケージはiptables-servicesと呼ばれ、保存ファイルは/etc/sysconfig/iptablesおよび/etc/sysconfig/ip6tablesです。

RPM ベースのディストリビューションでは、IPv6 ポートに使用される別のコマンドもあります。ルールを保存するには、次の 2 つのコマンドのいずれかを使用します。

sudo iptables-save > /etc/sysconfig/iptables sudo ip6tables-save > /etc/sysconfig/iptables

ポートの使用状況を必ず監視してください

時間が経つにつれて、サーバーのニーズは変化する可能性があります。Linux マシンのユーザー アカウントを常に把握しておく必要があるのと同様に、開いているポートも定期的に監査する必要があります。不要になった開いているポートを閉じます。パスワードを定期的に変更することは、システムへの侵入やセキュリティの悪用を防ぐのに役立つ優れたセキュリティ プラクティスです。

Tags: #HOW-TO

ジンジャー 2.7.53.0

ジンジャー 2.7.53.0

Ginger は無料のスペル チェッカーと文法チェッカーです。

ブロック

ブロック

Blocks は、小学校 3 年生向けの探知能力と視覚能力を訓練するための知的なゲームであり、教師による IT 指導支援プログラムに組み込まれています。

マスウェイ

マスウェイ

Mathway は、デバイスに内蔵されている電卓よりも複雑なツールを必要とする数学の問題をすべて解決できる、非常に便利なアプリです。

アドビプレゼンター

アドビプレゼンター

Adobe Presenter は、Adobe Systems によってリリースされた e ラーニング ソフトウェアで、Microsoft Windows プラットフォーム上で Microsoft PowerPoint プラグインとして利用できます。

オオハシ 2.3.0

オオハシ 2.3.0

Toucan は教育テクノロジー プラットフォームです。日常的に使用される一般的な Web サイトを閲覧しながら、新しい言語を学習できます。

ENetViet 24.2

ENetViet 24.2

eNetViet は、保護者と子供が勉強している学校を結び付け、子供の現在の学習状況を明確に理解できるようにするアプリケーションです。

デュオリンゴ

デュオリンゴ

Duolingo - 無料で言語を学ぶ、または単に Duolingo は、さまざまな言語を学び、練習できる教育プログラムです。

ラピッドタイピング

ラピッドタイピング

RapidTyping は、タイピング速度を向上させ、スペル ミスを減らすのに役立つ、便利で使いやすいキーボード トレーニング ツールです。RapidTyping では、さまざまなレベルに合わせてレッスンが構成されており、タイピングの方法や既存のスキルを向上させる方法を学びます。

MathType 7.4.10.53

MathType 7.4.10.53

MathType は、開発者 Design Science (Dessci) が提供するインタラクティブな方程式ソフトウェアで、ワード プロセッシング、プレゼンテーション、e ラーニングなどの数学的記法を作成して注釈を付けることができます。このエディタは、TeX、LaTeX、および MathML ドキュメントの作成にも使用されます。

文法的に

文法的に

Grammarly の AI を活用したアプリは、人々のコミュニケーションをより効果的にするのに役立ちます。何百万ものユーザーが毎日 Grammarly を利用して、メッセージ、ドキュメント、ソーシャル メディアの投稿をより明確に、エラーなく、よりプロフェッショナルなものにしています。