Windowsを利用してOpenVPNの動作確認ができたので、
元々やりたかったiPhoneで外からRaspberry Piに繋げます。
OpenVPNクライアントを追加するため、まずはサーバー側で証明書、鍵を作成します。
-
OpenVPN設定(クライアント用の証明書と鍵作成(追加))
1度Windows用に証明書と鍵作成を行っているため、手順が短くて済みます。cd /etc/openvpn/easy-rsa source ./vars ./build-key クライアント名(追加)
varsファイルを読み込むと「you run ./clean-all」が表示されますが、
これは以前に1度実行しているため、実行不要です。
実行すると「/etc/openvpn/easy-rsa/keys」内が初期化され、
再度、認証局から作り直しとなります。(やりました)iPhoneでOpenVPNを利用する場合もWindowsと同様で、
「OpenVPN導入その1」で作成した証明書や鍵のうち、
クライアントで利用するものをWindowsにUSB等で持ってきて、設定を行います。
-
クライアント設定ファイル(iPhone用)
iPhone用のクライアント設定ファイルとして「クライアント名(追加).ovpn」ファイルを作成します。下記内容を追加 # tunデバイス、udpプロトコル、OpenVPNサーバの1194番ポートをクライアントとして利用 dev tun proto udp remote z-area.net 1194 client # 名前解決試みのリトライ数(無限) resolv-retry infinite # ローカルポートをバインドしない nobind # 再接続時に鍵読み込み、tunデバイスオープン persist-key persist-tun # OpenVPNのログ設定 verb 3 # LZO圧縮を利用 comp-lzo # 認証局証明書、クライアント(追加)証明書、クライアント(追加)秘密鍵の内容貼り付け <ca> -----BEGIN CERTIFICATE----- ca.crtの内容を貼り付け -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- クライアント名(追加).crtの内容を貼り付け -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- クライアント名(追加).keyの内容を貼り付け -----END PRIVATE KEY----- </key>
-
iPhoneへ証明書と鍵の移動
Apple StoreからVPNクライアントのアプリとして「OpenVPN」をダウンロードします。
次にiTunesからダウンロードした「OpenVPN」を選択して、
「クライアント名(追加).ovpn」を移動します。次にiPhoneの操作に戻ると、「+」マークが出ているので、
設定ファイルを読み込み、OpenVPNに接続します。
「Connected」になれば成功です。
左上に「4G VPN」と表示されるはずです。はまりやすい注意点は自宅で作業をしている場合、
ルーターのWifiには接続しないように4G回線や別回線でやること。
-
iPhoneから自宅のLinuxへ接続
OpenVPNアプリで「4G VPN」接続状態になったら
SSH接続アプリで自宅のLinuxに接続確認を行います。私は「vSSH Lite」を利用しました。
有名なのは「Prompt」ですが、無印は公開中止になり、
「Prompt2」のみになってしまったようなので、「vSSH Lite」を利用してみました。接続するLinuxはSSHで接続する際、秘密鍵が必要になるので、
iTunesから「vSSH Lite」を選択して秘密鍵を移動します。2つのLinuxに外から接続確認してみました。
【Raspberry Pi】
IPは10.8.0.1でOpenVPNサーバーの仮想IPを指定してみました。【VMWare上のCentOS】
IPは192.168.XXX.XXXで自宅LAN内のIPを指定してみました。どちらも無事接続成功です。