0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2とスマホをOpenVPNでつなげてみた。

Last updated at Posted at 2024-09-30

はじめに

今回はEC2を立てるところから、スマホからOpenVPNを使って接続するところまでの解説です。といっても初学者なので、至らぬところがあればご指摘ください。

1.EC2を立てる

グローバルIPを固定させる必要がある

VPNをつかってクライアントからアクセスするときに、宛先グローバルアドレスIPアドレスが必要です。この宛先グローバルアドレスがコロコロ変わるとそのたびに設定を書き換えないといけません。それは面倒なので今回はグローバルIPを固定させます。固定IPを契約するか、EC2をつけっぱなしにするとグローバルIPを固定できます。今回は安い個人開発用の安いEC2なので、つけっぱなしにしてIPを固定させます。

EC2を立てる

下記記事で進めたらうまくいきました。

2.EC2側の設定。

easyrsaを使ってと証明書の生成。

・easyrsaを使って秘密鍵と証明書の生成。

tlskeyを生成

bash
openvpn --genkey --secret ta.key

server側のconf作成

詳しくは調べてみてください。 以下は例です。基本的にこれで動きます。
server.conf
port 1194
proto udp
dev tun

ca /path/to/your/ca.crt
cert /path/to/your/server.crt
key /path/to/your/server.key
dh /path/to/your/dh.pem

server 10.0.31.0 255.255.255.0

keepalive 10 120

cipher AES-256-CBC
auth SHA256

topology subnet

persist-key
persist-tun

status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 3

tls-server
tls-auth /path/to/your/ta.key 0

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

odooを起動する

sudo systemctl restart openvpn 

3.スマホ側の設定。

設定ファイル作成

.ovpnの拡張子をもつテキストファイルをつくる。 中身は下記参照。細かいvpnの設定は省きます。 気になる人は調べてみてください。

client.ovpn
client
dev tun
proto udp
remote 外部固定IP 1194
resolv-retry infinite
persist-key
persist-tun
remote-cert-tls server
auth SHA256
cipher AES-256-CBC
verb 3

key-direction 1


<ca>
-----BEGIN CERTIFICATE-----
生成されたCA証明書
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
生成されたクライアント証明書
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
生成されたクライアントkey
-----END PRIVATE KEY-----
</key>

<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
生成されたtls用のkey
-----END OpenVPN Static key V1-----
</tls-auth>



スマホにopenVPNアプリを入れる

Android版

IOS版

スマホ側のVPN設定

下記手順で設定ファイルをインポートする。

tips

OpenVPNにはVPNを経由するアプリを指定する機能があります。 今回の僕のケースでは非公開のWEBサイトにアクセスするようで使いたかったので、FirefoxだけをVPN経由させることにしました。

最後に

はじめてEC2立てるレベルの雑魚エンジニアなので、間違っているところがあればご指摘いただきたいです。

追記_20241004

EC2をRebootすると、グローバルIPアドレスがかわることがあります。 その時は、クライアント側で設定してある接続先グローバルIPアドレスを編集すると再度つながるようになります。これも固定IPアドレスを取得しないときのデメリットです。ただ、OpenVPNのアプリ内で簡単に接続先グローバルIPアドレスを編集できるので、私の場合はそこまで苦ではありませんでした。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?