0

私はこの問題についてしばらく調べていて、モバイル ISP と格闘した後、最終的にテストする VPN クライアントを手に入れました...

... でも ...

このコード (素晴らしい記事)$_SERVERでを使用する他のすべてのソリューションは、VPN サーバー アドレス (192.168.1.sss) の IP アドレスのみを返すようです。

私の解決策では、メインの VPN サーバーではなく、(VPN の終端にある) リモート マシンにメッセージを送信する必要があります。

例えば:

  1. 外部クライアント ブラウザは、PHP ページに投稿するフォームに入力します ( VPN:192.168.1.ccc)
  2. サーバー上の PHP ページはwww.example.com (192.168.1.sss)、一連の命令をコンパイルして、サーバー192.168.1.rrrと同じ論理ネットワーク (VPN 経由) 上のリモート マシンに送信します。

... 問題は、$_SERVER[] が 192.168.1.ccc ではなく 192.168.1.sss を返すように見えることです。

(CURL を使用して) メッセージを 192.168.1.ccc に送信しても、見つからないと表示されます。

メッセージを送信できることを意味する方法で、ネットワークに認識されている VPN クライアントアドレスを取得する方法についてのアイデアはありますか??

前もって感謝します。

4

1 に答える 1

1

この場合、元のクライアント IP を取得することはできないと思います。クライアントには個別のローカル アドレスが与えられず、vpn ゲートウェイを介してトンネリングされます。設定によっては、トラフィックをゲートウェイ経由でクライアントに転送できる場合があります。この質問には iptables の例があります。

于 2014-08-01T13:54:53.233 に答える