ウェブサイト検索

LinuxベースのシステムでIptablesを使用してポートフォワードを設定する方法


ポートフォワーディングを実現する一つの方法は、Linuxベースのシステムでiptablesコマンドラインツールを使用することです。iptablesは、ユーザーがネットワークトラフィックのルールやポリシーを設定できるユーティリティソフトウェアです。iptablesは、ルールやポリシーを整理するために、あらかじめ定義されたテーブルのセットを使用します。各テーブルは、受信または送信トラフィックに順次適用されるルールのリストである一連のチェーンを含んでいます。iptablesの各ルールには、ルールが適用されるために満たされるべき条件のセットと、条件が満たされた場合に取られるアクションが指定されています。この記事では、iptablesを使用してLinuxベースのシステムでポートフォワーディングを設定する方法について説明します。

iptablesによるポートフォワーディング

ステップ 1: ポート番号とプロトコルを見つける

iptablesを使用したポートフォワーディングの第一歩は、転送したいサービスのポート番号とプロトコルを決定することです。ポート番号は、ネットワーク上の特定のサービスまたはアプリケーションに割り当てられた数値識別子であり、プロトコルはデバイス間でデータを送信するためのルールを指定します。

これの例は、すべての受信トラフィックをポート80でTCP(Transmission Control Protocol)を使用して実行されているWebサーバーに転送することです。

ステップ2:ポートフォワーディングのためのチェーンを作成する

次のステップは、受信トラフィックを適切なマシンやサービスに転送するために使用されるチェーンを作成することです。そのためには、iptablesに新しいチェーンを追加する必要があります。

次のコマンドを実行して新しいチェーンを作成してください:

注意: 作成したいチェーンのために説明的な名前に <chain-name> を置き換えてください。

ステップ3: チェーンに新しいルールを追加する

新しく作成されたチェーンには、到着するトラフィックを適切なマシンまたはサービスに転送するルールを追加する必要があります。ルールには、サービスのポート番号とプロトコル、および到着するトラフィックを受け取るべきマシンのIPアドレスを指定する必要があります。

ターミナルで次のコマンドを実行してください:

注意: このコマンドは、ポート80で動作するウェブサーバーに対するすべての受信トラフィックを、IPアドレス192.168.0.100を持つマシンに転送します。

ステップ2で作成したチェーンの名前に<chain-name>を置き換える必要があります。

-pオプションはプロトコルを指定します(この場合はTCPです)。

–dport オプションは、宛先ポート(この場合はポート80)を指定します。

-jオプションは、ルールの条件が満たされた場合に実行されるアクションを指定します。

この–to-destinationオプションは、受信トラフィックを受け取るマシンまたはサービスのIPアドレスとポート番号を指定します。

ステップ4: フォワーディングのためのメインIptablesへのルールの追加

チェーンを作成し、そのチェーンにルールを追加するだけでなく、新しいチェーンに対して受信トラフィックを転送できるようにするために、メインのiptables INPUTチェーンにもルールを追加する必要があります。

次のコマンドを実行して、メインのiptablesにルールを追加してください:

注: <chain-name>をステップ2で作成したチェーンの名前に置き換えてください。

「-A」オプションは、新しいルールをINPUTチェーンの最後に追加することを指定します。「-p」オプションはプロトコルを指定します(この場合はTCPです)。

–dport オプションは、宛先ポート(この場合はポート80)を指定します。

-jオプションは、ルールの条件が満たされた場合に実行されるアクションを指定します。この場合、新しく作成したチェーンにトラフィックを転送することです。

ステップ5: 設定の保存

デバイスを次回起動する際にポートフォワーディングルールがリセットされないように、新しいポートフォワーディングルールの設定を保存する必要があります。

設定を保存するには、次のコマンドを実行します:

ステップ6: 新しい設定のテスト

ポートフォワーディングの設定が正しく機能しているか確認するために、テストすることが重要です。別のネットワーク上のマシンやインターネットからサービスに接続しようとすることで、設定をテストできます。

設定が正しく機能していれば、指定されたポート番号とプロトコルを使用してサービスに接続できるはずです。

結論

ポートフォワーディングは、着信トラフィックを特定のマシンまたはサービスに導くための便利な技術です。Linuxベースのシステムでiptablesを使用すると、着信トラフィックを適切なマシンまたはサービスに転送するためのポートフォワーディングルールを設定できます。

私たちは、iptablesを使用したポートフォワーディングの基本的な手順について話し合いました。手順には、チェーンの作成、チェーンへのルールの追加、メインのINPUTチェーンへのルールの追加、設定の保存、構成のテストが含まれます。これらの手順に従うことで、Linuxベースのシステムでポートフォワーディングを設定し、受信トラフィックが適切なマシンやサービスに向けられることを確認できます。