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ベースのシステムでポートフォワーディングを設定し、受信トラフィックが適切なマシンやサービスに向けられることを確認できます。

