KUSONEKOの見る世界

iPhoneでPort Forwardingを使って疑似VPN BOX化


iPhoneでVPN接続してインターネット共有を有効にしても、iPhoneに接続したPCからはiPhoneのVPN回線を利用できません。
PCでVPN接続をしたい場合は、PC上でVPN設定をする必要があります。

事情によりPCにVPN設定できない場合でも、iPhoneでSSH Port Forwardingを組み合わせることで疑似的にiPhoneのVPN回線を使うことができます。

SSHを使用する理由は、ただのPort ForwardingだけができるiOSアプリが見つからなかったためです。

今回は、VPN接続先のネットワーク上のWindowsにリモートデスクトップ接続を行う例を記載します。
言わば、RDP over SSH over VPNです。

準備

iPhone側

VPN接続設定

割愛します。本ブログの他の記事をご参照ください。

iPhone でVPN接続の時だけプロキシを使用するようにした

iPhoneでVPN接続の時にだけProxyを使う方法を記載しました。VPN接続でProxyを使用/不使用を選べる設定する方法も書いています。

iPhoneで strongSwan (IPsec VPN) に接続する (Machine Certificates)

iPhoneでstrongSwanに証明書で接続する設定を記載しています。

iPhoneで strongSwan (IPsec VPN) に接続する (EAP-MSCHAPv2)

iPhoneでstrongSwanにEAP-MSCHAPv2で接続する設定を記載しています。


iPhoneにSSHクライアントをインストール

Termiusをインストールします。
(vSSH Liteを長らく使っていましたが、現在はApp Storeから無くなっていました。)

SSHクライアントのSSHサーバ接続設定

Termiusを起動後、
[Hosts]で[+]をタップし、New Hostを選択。SSHサーバの接続設定を行う。
Hostname:SSHサーバのIPアドレス
Username:ユーザ名
Password:パスワード
でSave。
Termius SSHサーバ設定画面

SSHクライアントのPort Forwarding設定

画面左上の [<]をタップし、[Port Fowarding]を選択する。
[+]をタップし、以下のように設定する。

Localを選択。
Host:作成したSSHサーバを選択
Port From:3389
Destination:リモートデスクトップ先のIPアドレスを指定
Port To:3389
Bind Address:インターネット共有の際のiPhoneのアドレスを指定(テザリングしたPCから見ると、ゲートウェイアドレス)おそらく172.20.10.1。
デフォルトの127.0.0.1では、PCから接続できませんでした。
Termius Port Forwarding設定画面
でSave。
Termius Port Forwarding実行前画面

タップすると、SSHサーバに接続され、アイコンの色が変わります。
Termius Port Forwarding実行後画面

サーバ側

VPN接続設定(strongSwanなど)

割愛します。本ブログの他の記事をご参照ください。

iPhone でVPN接続の時だけプロキシを使用するようにした

iPhoneでVPN接続の時にだけProxyを使う方法を記載しました。VPN接続でProxyを使用/不使用を選べる設定する方法も書いています。

iPhoneで strongSwan (IPsec VPN) に接続する (Machine Certificates)

iPhoneでstrongSwanに証明書で接続する設定を記載しています。

iPhoneで strongSwan (IPsec VPN) に接続する (EAP-MSCHAPv2)

iPhoneでstrongSwanにEAP-MSCHAPv2で接続する設定を記載しています。


SSHサーバの設定

sshdは、デフォルトでポートフォワーディングが有効になっているはずなので特に必要ないでしょう。
#AllowAgentForwarding yes
#AllowTcpForwarding yes

接続

VPN接続

iPhoneでVPN接続する。

テザリングをする

iPhoneでインターネット共有を有効にし、PCを接続させる。

SSH Port Forwardingを有効化する

Termiusを起動し、作成したPort Forwardingをタップ。

PCからiPhoneのローカルポートに接続

PCでリモートデスクトップ接続 を起動し、iPhone(ゲートウェイ)のIPアドレスに対して接続を行う。

これで、リモートのWindowsに接続できるはずです。

最後に

このようなポートフォワーディングを使用した接続方法は、
以前WILLCOM SHARP AQUOS PHONE es WX04SHでもやっていました。
WX04SHのテザリングは、PHS回線でしか通信できず、3G回線では抜けることができない仕様でした。
しかし、PHS側のパケット通信を切断し、ポートフォワーディングさせることで、3G回線側でインターネットに抜けることができていました。

裏技的に使用できるポートフォワーディングには、もっといろいろな使い方ができそうです。