90649


掲題の通信について明確な情報が見つからなかった為、ご存じの方おられましたらご教示頂けますでしょうか。

### 具体的な環境

  * VPN: AWSのVPN（OpenVPN）
  * 接続元: EC2インスタンス（Linux）
  * 接続先: VPNクライアント(自宅のルータ配下のPC)
  * 通信プロトコル: HTTP

**EC2インスタンスから** 自宅のWEBサーバにHTTPリクエストを送信したいです。

当然のことながら、VPNクライアントからEC2インスタンスへの通信はVPN経由で問題ありません。  
逆の通信については、一般的に困難なのでしょうか。

## 追記 2022/08/16

[こちらのコメントに対して](https://ja.stackoverflow.com/a/90459/15316%20%E8%BF%94%E4%BF%A1%E9%81%85%E3%82%8C%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E7%94%B3%E3%81%97%E8%A8%B3%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%94%E4%B8%81%E5%AF%A7%E3%81%AB%E3%81%94%E5%9B%9E%E7%AD%94%E9%A0%82%E3%81%8D%E3%80%81%E8%AA%A0%E3%81%AB%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%20%20%20%20%20%20%E8%AA%AC%E6%98%8E%E3%82%92%E7%B0%A1%E7%B4%A0%E5%8C%96%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E6%80%9D%E3%81%84%E3%80%81%E8%A8%80%E8%91%89%E8%B6%B3%E3%82%89%E3%81%9A%E3%81%82%E3%81%A3%E3%81%9F%E3%81%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%81%AE%E3%81%A7%E5%BF%B5%E3%81%AE%E3%81%9F%E3%82%81%E8%A3%9C%E8%B6%B3%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%20%3E%20%E8%87%AA%E5%AE%85%E3%81%AE%E3%83%AB%E3%83%BC%E3%82%BF%E9%85%8D%E4%B8%8B%E3%81%AEPC%20%20%E4%BE%BF%E5%AE%9C%E4%B8%8A%E3%80%81PC%E3%81%A8%E8%A8%98%E8%BC%89%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E5%8E%B3%E5%AF%86%E3%81%AB%E3%81%AF%20Raspberry%20Pi%20%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E3%81%ABWEB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%8C%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E3%81%93%E3%81%AEWEB%E3%82%B5%E3%83%BC%E3%83%90%E3%81%ABEC2%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%8B%E3%82%89%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E7%9B%AE%E7%9A%84%E3%81%A7%E3%81%99%E3%80%82%20VPN%E7%B5%8C%E7%94%B1%E3%81%A7EC2%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%ABHTTP%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%82%92%E9%80%81%E3%82%8A%E3%81%9F%E3%81%84%E3%81%97%E3%80%81%E3%81%9D%E3%81%AE%E9%80%86%E3%82%82%E3%81%97%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%20%20%3E%20%E3%81%A7%E3%81%99%E3%81%AE%E3%81%A7%E3%80%81PC%E3%81%B8%E3%81%AE%E9%80%9A%E4%BF%A1%E3%81%AF%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81PC%E3%81%AE%E5%91%A8%E3%82%8A%E3%81%AB%E3%81%82%E3%82%8BWEB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%AD%89%E3%81%AF%E8%A6%8B%E3%81%88%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%20%20PC%E8%87%AA%E4%BD%93%E3%81%B8%E3%81%AF%E9%80%9A%E4%BF%A1%E5%8F%AF%E8%83%BD%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%E3%80%82%20%20%3E%20%E4%BA%8C%E3%81%A4%E3%81%AENIC%E3%82%92%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E6%8E%A5%E7%B6%9A%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8C%E3%81%B0%E9%80%9A%E4%BF%A1%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%20%E5%85%B7%E4%BD%93%E7%9A%84%E3%81%ABNIC%E3%81%AF%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%20-%20VPN%E3%81%AE%E4%BB%AE%E6%83%B3NIC%EF%BC%9A%60tun0%60%20-%20%E7%89%A9%E7%90%86NIC%EF%BC%9A%60eth0%60%20%20%60tun0%60%20%E3%81%BE%E3%81%A7%E3%81%AFEC2%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%8B%E3%82%89%E9%80%9A%E4%BF%A1%E3%81%A7%E3%81%8D%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%E3%80%82%20%E3%81%9D%E3%81%86%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%82%E3%82%8C%E3%81%B0%E4%BD%95%E3%81%8B%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%A7%E3%81%8D%E3%81%9F%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82)  
返信遅れてしまい申し訳ありません。ご丁寧にご回答頂き、誠にありがとうございます。

説明を簡素化しようと思い、言葉足らずあったかと思いますので念のため補足いたします。

> 自宅のルータ配下のPC

便宜上、PCと記載しましたが厳密には Raspberry Pi になります。  
ラズパイにはWEBサーバプロセスが起動しており、このWEBサーバにEC2インスタンスからアクセスすることが目的です。  
VPN経由でEC2インスタンスにHTTPリクエストを送りたいし、その逆もしたいです。  
ラズパイはVPNクライアントであり、WEBサーバとなります。

> ですので、PCへの通信は可能ですが、PCの周りにあるWEBサーバー等は見えません。

PC（ラズパイ）自体へは通信可能ということでしょうか。

> 二つのNICをブリッジ接続に設定すれば通信可能になります。

具体的にNICは以下のようになっています。

  * VPNの仮想NIC：`tun0`
  * 物理NIC：`eth0`

`tun0` まではEC2インスタンスから通信できているということでしょうか。  
そういうことであれば何かイメージできたかもしれません。


CC BY-SA 4.0
2022-08-09T00:42:37.380
90441
2022-08-20T13:02:35.747
2022-08-15T16:36:58.147
15316
15316
question
aws amazon-ec2 vpc
VPNにおけるサーバ→クライアント通信


下記の回答は、コメント及び質問が編集される前の質問に対して回答であったため、
**VPNクライアントを動作させているPCとは別に自宅内にWebサーバが存在する**
と言う前提になっています。そのため、編集後の質問に対しての回答としては、あっていないないようになります。ただ、PCとWebサーバが別であった場合は参考になるかと思いますので、回答はこのまま、残しておきます。

* * *

PC等で動作する一般的なVPNクライアント(OpenVPNならvpnux
Client等)を用いた場合、そのような通信は非常に困難です。PCのルーター化や適切なルーティングテーブル設定、または、ブリッジでの接続をすれば不可能ではありませんが、それなりのネットワークに関する知識が必要になります。

一般に、VPNクライアントの接続は、VPNクライアントが動いているPCを仮想的にVPNサーバー側のネットワークに繋げるというものです。PCだけが、ぽんっと向こうのネットワークに繋がったような感じで、PCの周りにある端末は置いてけぼりになります。逆に向こうのネットワークからみると、新たなPC一個だけがネットワーク上に現れたという感じです。ですので、PCへの通信は可能ですが、PCの周りにあるWEBサーバー等は見えません。

ネットワークとしては、PCには物理NICの他に仮想的なNICがあって、それぞれ別のネットワークに繋がっているというイメージです(実際に、OS上も二つのNICとして認識されています)。二つのNICを持つPCを別々のネットワークに繋いでも、それらのネットワーク同士が勝手に通信可能にならないと言うことはわかりますよね？ただ、この状況でも、PCでIPルーティングを有効にして、それぞれのネットワークで適切なルーティングテーブルを設定する、または、二つのNICをブリッジ接続に設定すれば通信可能になります。初めに言った話はこれになります。PCに二つのNICがある場合でどのように設定すれば良いのかわからなければ、VPNクライアントを用いて同じようなことをすることは難しいでしょう。

なお、拠点間VPNと言われるネットワーク同士をVPN繋いで双方向に通信可能になる仕組みがありますが、実際の所は、PCよりは設定しやすいVPN対応ネットワーク機器やLinuxサーバーでルーティングまたはブリッジ接続を適切に行っているだけになります。


CC BY-SA 4.0
2022-08-09T13:32:47.240
90459
2022-08-16T09:44:48.177
2022-08-16T09:44:48.177
7347
7347
90441
answer


> tun0 まではEC2インスタンスから通信できているということでしょうか。

EC2インスタンスから Raspberry Pi の tun0 に割り当てられた
IPアドレスに向けた通信であれば、ルーティングを設定すれば可能かもしれません。  
ただし、ルーティング先の「クライアント VPN ネットワークインターフェイス」の IPアドレスは可変ですし、そもそも、AWS Client VPN
サービス側で許可されていない可能性があります。

別の方法として、Raspberry Pi から EC2インスタンスに、SSH RemoteForward (-R オプション)
で逆向きのトンネルを作成する方法が考えられます。


CC BY-SA 4.0
2022-08-20T13:02:35.747
90649
2022-08-20T13:02:35.747
4603
90441
answer