質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

3回答

9410閲覧

プライベート IP アドレスしか持たないマシンを LAN の外から名指しする方法

kisaburo_y

総合スコア18

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

2クリップ

投稿2015/08/06 01:15

LAN の中にある、プライベート IP アドレスしか持たないマシンを、LAN の外から名指しする方法はありますか?
LAN 内にサーバーを置くのが目的です。
固定的な NAT 以外の方法で。
LAN 内のあるマシンが、今持っている IP アドレスは、何らかの方法でクライアントに伝えられるという前提で。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ngyuki

2015/08/06 01:48

そうしたい「目的」を追記すると、より良い回答がつくかもしれませんよ
kisaburo_y

2015/08/06 02:16

LAN 内にたくさんサーバーを置きたいのと、簡単に増やしたり減らしたりしたいのが目的です。 AWS の EC2 です。 NAT サーバーを立てる方法が紹介されていますが、面倒くさいのと、たぶん新しい単一障害点になってしまうのがいやな感じです。
guest

回答3

0

ベストアンサー

NATを一切どこにも使わないで外部からLAN内の内部サーバへ接続する方法はあります。
ただ、ネットワークとサーバの知識が無いとちょっと難しいです。

まず、前提としてWANとLAN両方に接続している中継サーバが必須です。

WAN ---- [中継サーバ] ---- LAN ---- [内部サーバ]

方法は二つです。

  1. ポートフォワーディングを使う

中継サーバにポートフォワーディング機能を持たせます。
ポートフォワーディングとは自分の特定のポートへの通信を
他のサーバの特定のポートにそのまま中継する機能です。
ポートフォワーディングはパケットを中継サーバで受け取ります。
そして、中継サーバは同じ内容のパケットを内部サーバに送信します。
NATに近いと思うかも知れませんが、NATはパケットの宛先等を変換する機能であり、
全くの別の技術です。
ポートフォワーディングは一旦受け取ることから、内容を一部変えたり、
HTTPをHTTPSにしたりすることもできたりします。(できることはソフトによって違います)
ポートフォワーディングはDeleGateやstone、stunnelなどのソフトで実現できますので、
ソフトについて調べてみるといいかもしれません。
また、ちょっと接続が特殊ですが、SSHを使ったポートフォワーディングもあります。

  1. VPNを使う

中継サーバをVPNサーバにして、外部からLANに参加できるようにします。
VPNで接続してしまえば、LAN内にいるのと同じですので、
何の問題なく内部サーバは簡単に接続できます。

NATを使わずに外部から内部サーバに接続ができるか?の問いにはYesという話だけです。
たぶん、想定されているような動きとは合わないと思いますが、
ご参考になれば幸いです。

投稿2015/08/06 10:06

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kisaburo_y

2015/08/07 00:11

ありがとうございます。ポートフォワーディングを調べます。
guest

0

ルータ側にNAT設定をする以外に、方法はありません(UPnPといって自動設定する方法もありますが、脆弱性も指摘されており、あまりおすすめはできません)。

「LAN の外から名指し」させないためのプライベートアドレスですので、アクセスできたらむしろ問題です。

投稿2015/08/06 01:31

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kisaburo_y

2015/08/06 02:18

ありがとうございます。UPnP を調べます。
guest

0

「名指し」とは具体的には何でしょうか?
「TCPセッションを開始する」というような意味であれば、固定NAT(NAPT)しかないと思います。

内側から外側に通信を行えば、応答をもらうためにその後しばらくはNAPTされるので、その間に外からの通信は出来ますが。

投稿2015/08/06 01:52

otn

総合スコア84553

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kisaburo_y

2015/08/06 02:07

回答ありがとうございます。 外側のクライアントからTCPセッションを開始するという意味です。
otn

2015/08/06 05:54

それでは無理ですね。企業などで内部ネットワークにウェブサーバーを置く場合は、一般的にはこういう構成を取ります。外側になんらかのサーバーは必要だし、ルーティング設定も要ります。 https://www.google.co.jp/search?q=%E3%83%AA%E3%83%90%E3%83%BC%E3%82%B9%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7+DMZ&hl=ja&tbm=isch&tbo=u&source=univ&sa=X UPnPを使えば静的NAT設定を自動化することが出来ますが、静的NATしないことが条件ならこれも無理です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問