私はこのチュートリアルに従いました – Ubuntu 15.04でOpenVPNサーバークライアントを構成する方法- Ubuntu 15.04 VMでOpenVPNを設定します。私はいつもそれに従い、クライアント設定ファイルに閉じ込められました。
以下は、例で提供されているclient.confファイルです。
dev tun
proto udp
# IP and Port of remote host with OpenVPN server
remote 111.222.333.444 1194
resolv-retry infinite
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/client.crt
key /etc/openvpn/keys/client.key
tls-client
tls-auth /etc/openvpn/keys/ta.key 1
auth SHA1
cipher BF-CBC
remote-cert-tls server
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3
mute 20
したがって、リモートIPが私のサーバーのパブリックIPになると推測し、ルーターがポート1194を転送する必要があります。しかし、confファイルにca、cert、およびkeyを定義し、それをAndroidデバイスで使用する場合、Androidデバイスがこれらのファイルの場所を反映するようにパスを変更する必要がありますか、それとも提供された例が正しいですか?
OpenVPNクライアントを使用して、AndroidおよびiOSデバイスで使用するクライアントキーを生成します。これはWindowsにも当てはまりますか?
答え1
証明書、VPNプロファイルなどをAndroidおよびiPhoneにクライアントとしてインストールするときにプロファイルの場所を心配する必要はなく、アプリはそれを処理します。たとえば、Windowsでは話が少し異なります。 Tunnelblickを搭載したmacOSでは、ファイルをTunnelblickに配置するとパスが管理されます。
お役に立てば幸いです。
答え2
構成ファイルの証明書の場所は、クライアントに証明書がインストールされている場所を反映する必要があります。私の場合、証明書はクライアント構成ファイルに含まれていました。
client
dev tun
proto udp
remote myserver.ddns.com 443
float
comp-lzo adaptive
keepalive 15 60
auth-user-pass
ns-cert-type server
<ca>
-----BEGIN CERTIFICATE-----
...HERE I HAVE A FEW LINES OF SYMBOLS REPRESENTING MY CERTIFICATE...
-----END CERTIFICATE-----
</ca>
resolv-retry infinite
nobind
一部のホットスポットはほとんどのポートをブロックしますが、ポート443はほとんどの場所で開いています。だから私はどこでもホームクラウドにアクセスするためにそれを使用する傾向があります。
最後に永久静的ルーティングVPN経由で外部からアクセスできるように、自宅のLAN(主にRaspberry Pi)の一部のデバイスに接続します。この行は次に追加する必要があります/etc/network/interfaces
。
up route add 10.8.0.0/24 via 192.168.1.1 dev eth0