スクール情報

頭文字D / 藤原文太風:ポートマッピング

藤原文太についてはこちら

頭文字D / 藤原文太風:ポートマッピング

ポートマッピング(Port Mapping)の概要

【拓海】
なー、親父。

【文太】
あんー?

【拓海】
前に言ってた「ポートマッピング」ってのだけどさぁ。NATも、ある程度理解が進んだから、自分でもいろいろ調べてみたんだけど、きちんとした理解には至ってなくて、聞いても大丈夫かな?

【文太】
あー。。。いいぜ。

ポートマッピングというのは、外部ネットワーク上の特定のポート番号を、内部ネットワーク上のIPアドレスとポート番号に転送することを言う。つまりは、外部のポート番号と内部のポート+IPアドレスのマッピングだ。

これは、主にルーターやファイアウォールで使用する。目的は、インターネットから自宅や企業内ネットワークにある特定のサービス(例: サーバー、アプリケーション)へのアクセスを可能にするためだ。

具体的には、自宅のネットワークにあるウェブサーバー(内部IP:192.168.1.10、ポート80)にインターネット経由でアクセスするために、ルーターでポート80を開放して、外部からのリクエストを192.168.1.10に転送するってことなんだよ。

内部ネットワーク

  • サーバーのIPアドレス:192.168.1.10
  • 使用ポート:80(ウェブサーバー)

外部ネットワーク(インターネット)

  • 公開するポート:80(外部からのHTTPアクセスを受けるため)

ポートマッピングを設定すると、外部からのHTTPリクエスト(ポート80)を、内部の192.168.1.10:80に転送するように設定される。

こいつは 静的ポートマッピング って呼ばれ方をする。特定のポート番号に対応するIPアドレスに対してトラフィックを転送するんだ。

ポートマッピングの設定方法は、使用するルーターやファイアウォールの機種によって異なるが、一般的な手順はあまり変わらない。家庭用のWi-Fiルーターだって、その設定が出来るようになっているんだ。

【拓海】
静的ポートマッピングってことは、動的なポートマッピングもあるのか?

【文太】
察しがいいじゃねえか。それはPATってやつだ。これは、複数の端末が同じグローバルIPを共有し、異なるポート番号で通信を行う技術だ。まぁ、詳しい話はおいおいだな。ひとまず、ポートマッピングについてだ。

ポートマッピングの設定手順(一般家庭用のルーター)

ルータにログイン

【文太】
拓海、コマンドプロンプトでipconfig 打って、デフォルト ゲートウェイを調べてみろ。多分、「192.168.0.1」とか「192.168.1.1」だ。そこにブラウザからアクセスしてみな。

【拓海】
「192.168.1.1」がデフォルト ゲートウェイだ。アドレスバーにルーターのIPアドレス「例: http://192.168.1.1」を入力してアクセスするぜ。

おー!見たこのないぞ、こんな画面

【文太】
初めて見ると、なんかわくわくするよな。感動するのも分かるぜ。俺もそうだった。こういうのって最初は新しい世界の扉を開けた感じがして面白いんだよな。小さな発見が勉強を継続させてくれるんだ。今の気持ち忘れんな、拓海。

じゃあ、さっそく設定に入るぞ。まずはログインだ。ルーターに初期設定のユーザー名とパスワードがあるはずだ。プロバイダから貸与された機器の場合は、説明書や付属資料に記載されているはずだから、それを見てログインしてみろ。

【拓海】
あ、これか。ログインしたよ。

ポートマッピング(ポートフォワーディング)の設定

設定をされる場合は、自己責任でお願いします。当サイトを参考にされた場合でも、生じた損害、問題に対して、一切、責任を負いません。

ポートマッピングポートフォワーディング は、基本的に同じ概念を指していることが多いですが、少し異なる意味で使われることもあります。この記事では同じものとして扱っています。

ポートフォワーディングは、インターネット(外部)から自宅や企業内ネットワーク(内部)に向かうトラフィックを特定の機器に転送する技術を表す言葉です。

ポートマッピングは、特にポート番号とIPアドレスの対応関係を設定する作業を指します。基本的にはポートフォワーディングと同じ意味で使われることが多いですが、「マッピング」という言葉が示す通り、特定のポート番号を特定の内部IPアドレスに関連付けるという意味合いが強調されます

【文太】
次はポートマッピング(ポートフォワーディング)のセクションを探すんだ。これは、ポートマッピング(ポートフォワーディング)の設定ができるセクションだ。

だいたい「Advanced(高度な設定)」「NAT設定」や「Firewall(ファイアウォール)」の近くにある。「Advanced」 → 「Port Forwarding」や「Virtual Server」みたいに追いかけて探してくれ。

出てきたら次のように設定する。

  1. 新しいルールを追加。
  2. サービス名: 任意で名前を付ける(例: “Web Server” や “Game Server”)。
  3. プロトコル: 通常は、TCPまたはUDP、または両方を選択する。サービスによってプロトコルが決まっているから、確認して設定するんだ。
  4. 外部ポート: インターネットからアクセスされるポート番号を指定する(例: 80番ポート、443番ポート)。
  5. 内部IPアドレス: ポートを転送したい機器の内部IPアドレスを指定する。例えば、サーバーやPCのIPアドレスだ(例: 192.168.1.100)。
  6. 内部ポート: 通常、外部ポートと同じ番号を設定するが、内部サービスで異なるポートを使用する場合は、異なる番号を指定できるぞ。

入力が完了したら設定を保存だ。だいたい「保存」か「適用」のボタンがあるから、それをクリックして保存する。ルーターによっては、再起動しないと設定が反映されないから注意してくれ。

【拓海】
結構、すんなり出来たけど、親父がいないとまだ難しいや。

【文太】
最初はそんなもんだ。それでいいんだよ。

確認とテスト

【文太】
それじゃ、設定の確認だ。ポートマッピング(ポートフォワーディング)が正常に設定されたかを確認するには、実際に外部からそのポートが開放されているかテストするんだ。外部からアクセスするか、次の方法を使って確認する。

  • オンラインツールを使用して、指定したポートが開放されているか確認(例: CanYouSeeMe.org)。
  • ルーターのログを確認して、ポート転送が正常に機能しているかどうかを確認。

Webサーバーのポートマッピングを例にして話をするぜぇ。

例えば、自宅にWebサーバーを立てた場合、設定は次の通りだ。

  • 外部ポート: 80(HTTP)
  • 内部ポート: 80(HTTP)
  • 内部IPアドレス: 192.168.1.10(WebサーバーのIPアドレス)
  • プロトコル: TCP

これで、インターネットからhttp://<外部IPアドレス>にアクセスすれば、内部のWebサーバー(192.168.1.10)にアクセスできるようになる。

セキュリティ: ポートを開放することは、セキュリティリスクを伴う場合があります。特に、外部からアクセスできるサービス(例: SSHやFTPなど)を開放する場合、適切なセキュリティ対策を講じてください(例: パスワードの強化、ファイアウォールの設定、最新のセキュリティパッチの適用)。

ダイナミックDNS: 外部IPアドレスが変更される可能性がある場合は、ダイナミックDNS(DDNS)を使って常に固定のホスト名でアクセスできるように設定することができます。

こうやって、ポートマッピングを設定すれば、外部から内部ネットワークにある特定のサービスにアクセスできるようなるんだ。

ポートマッピングの設定手順(Ciscoルーター)

【文太】
次は、Ciscoルーターを使ったポートマッピング(ポートフォワーディング)設定だ。Ciscoルーターじゃ、NAT(Network Address Translation)機能を使う。具体的には、ip nat inside source static コマンドを使って、内部IPアドレスと特定のポート番号を外部IPアドレスのポートにマッピングさせるんだ。

前提条件

  • 内部ネットワークのIPアドレス(例: 192.168.1.10)
  • 外部IPアドレスがルーターに割り当てられている
  • 開放したいポート番号(例: 80番ポートをWebサーバー用)

Ciscoルーターにログイン

まずは、いつも通り、Ciscoルーターのコンソールにアクセスしてくれ。TelnetまたはSSHを使用してリモートアクセスするか、直接コンソールケーブルを使用してアクセスだ。

Router> enable

グローバルコンフィギュレーションモードに入る

ルーターにログインしたら、グローバルコンフィギュレーションモードに入る。

Router# configure terminal
Router(config)#

インターフェースの確認

インターフェース(内部と外部のネットワーク)を確認し、それぞれに適切な設定を行う。

Router(config)# show ip interface brief

NATの設定

例として、GigabitEthernet0/0 がインターネット接続用(外部インターフェース)、GigabitEthernet0/1 が内部ネットワーク用(内部インターフェース)として、内部と外部のインターフェースにip nat inside と ip nat outside を設定するんだ。

【拓海】
GigabitEthernet0/0 が outside、GigabitEthernet0/1 が inside だね。

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# no shutdown
Router(config-if)# exit

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 203.0.113.1 255.255.255.0
Router(config-if)# ip nat outside
Router(config-if)# no shutdown
Router(config-if)# exit

ポートフォワーディングの設定

次は、ポートフォワーディングの設定だ。

特定のポートを内部のサーバーに転送するための設定を行います。以下のコマンドで、外部ポート80番(HTTP)を内部IPアドレス(例: 192.168.1.10)のポート80番に転送します。

Router(config)# ip nat inside source static tcp 192.168.1.10 80 interface GigabitEthernet0/0 80

設定は追加することも可能です。(22番ポートを追加で解放)

Router(config)# ip nat inside source static tcp 192.168.1.10 80 interface GigabitEthernet0/0 80
Router(config)# ip nat inside source static tcp 192.168.1.10 22 interface GigabitEthernet0/0 22

設定を保存

設定が完了したら、変更を保存だ。

Router(config)# end
Router# write memory

動作確認

設定が正しく行われたか確認するため、show ip nat translations コマンドを実行します。このコマンドは、現在ルーターが行っているNAT変換を表示します。

Router# show ip nat translations

また、外部からポート80番にアクセスして、内部サーバーに正しく転送されているか確認します。

ポートマッピングのトラブルシューティング

NAT変換が行われていない場合:show ip nat translations で変換情報が表示されない場合、設定ミスやインターフェース設定の誤りが考えられる。そういったときは、まず、インターフェースが正しく設定されているか確認するんだ。

アクセスできない:外部からアクセスできない場合は、ルーターのファイアウォールや内部サーバーの設定(例: サーバー側のファイアウォール)に問題があるかもしれないことを忘れるな。

セキュリティ: ポートフォワーディングを使用すると、外部から特定のサービスにアクセスできるようになるため、セキュリティに配慮する必要があります。ファイアウォールの設定を適切に行い、必要なサービスのみを開放するようにしましょう。

パフォーマンス:複数のポートをマッピングする場合には、ルーターに負荷がかかっている可能性がある。必要なポートのみを開放して、監視を行うことが重要だ。

Ciscoルーターでポートマッピング(ポートフォワーディング)の設定を行う手順は以上だ。

今日はここまでだ。下にITスクール情報を置いておく。俺は現役の時は夢の中でも秋名の山を走ってた。知識ってのは一日やそこらじゃ身にならね。負けんなよ。

「2025年版」 最新おすすめ ITスクール情報 | 現役エンジニア&プログラミングスクール講師2025年 最新 ITスクール情報です。Winスクール、インターネット・アカデミー、DMM WEBCAMP、テック・アカデミー、Aidemy  Premium、スキルアップAIといった人気スクール、注目度が急上昇中のスクールを掲載しています。...
【最大70%OFF】AI×IoTを本気で学ぶなら今がチャンス!python AI IoTを学ぶならインターネット・アカデミー『Reスキル通学講座』(経済産業省から認定を受けた講座)認定数が日本一!AI・IoT関連の最先端スキルを受講料が最大『70%OFF』で学べる。Reスキル講座で身に着けることのできるスキルは経済産業省が策定する「ITスキル標準(ITSS)」のレベル4の水準となります。レベル4水準のIT人材の年収平均は『726.1万円』と高く、これからIT分野のスキルを新しく身に着けたい方、さらなるスキルアップ・年収アップを目指したいIT職の方まで、魅力的な講座となっています。...
【現役エンジニアが本音で解説】おすすめのITスクール「Winスクール」はこんな人にぴったり!ITスクールの選び方を説明しています。もっとも譲れない条件を基にしてスクールを選び、学びたい教科を学ぶことをお勧めします。ページ下部に「おすすめ求人サイト」について情報を掲載中。...
RELATED POST
no image
スクール情報

ITのトレンドから読み解ける現状のITスクール受講生数

2025年5月1日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
スクール情報

頭文字D / 高橋涼介風:ダイナミックルーティング

2025年6月18日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
07-データサイエンス

【高評価スクール】AI人材を育成する「eラーニングプラットフォーム」ーキカガク編ー | 現役エンジニア&プログラミングスクール講師

2025年5月24日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
スクール情報

「2025年版」 最新おすすめ ITスクール情報 | 現役エンジニア&プログラミングスクール講師

2025年5月30日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site