元の記事
@tool-taro 様の以下の記事を参考(というよりほぼそのまま利用)とさせて頂きました。感謝です。m(_ _)m
さくらのVPS512(月々税抜635円)で固定IPアドレスをゲットする(OpenVPNサーバを作る) - Qiita
https://qiita.com/tool-taro/items/76cef0909c9b119d22b2
違うところ
相違点 | 元記事 | 本記事 |
---|---|---|
利用するVPS | さくらVPS | WebArena VPSクラウド |
OS | CentOS 7.1 | CentOS 7.6.1810 |
IPフォワーディング有効化 を定義するファイル |
/etc/sysctl.d/10-ipv4.conf |
/etc/sysctl.d/99-sysctl.conf |
server.conf定義 | nameserverのIPアドレスがさくら | WebArena(後述) |
/etc/openvpn/server.conf 定義
元記事とは★部分だけが異なります。こちらの値はcat /etc/resolv.conf
で取得しました。
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh.pem
server 192.168.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhsp-option DNS 210.150.255.28" # from /etc/resolv.conf ★
push "dhsp-option DNS 202.229.78.37" # from /etc/resolv.conf ★
# iOSで使う場合、fragmentは非対応のためコメントアウトしてください
fragment 1280
mssfix 1280
link-mtu 1400
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log-append /var/log/openvpn.log
verb 3
crl-verify crl.pem
Ubuntu18.04でのOpenVPNクライアント設定
以下は、Ubuntuでの設定例です。
(WindowsでのOpen-VPNクライアント設定はこちらの記事にあるようにvpnux-client
がおすすめです)
GUI設定ツールのインストール
# apt install network-manager-openvpn-gnome
バージョン確認
# openvpn --version
OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 10 2018
library versions: OpenSSL 1.1.1g 21 Apr 2020, LZO 2.08
VPN追加
設定 > ネットワーク > VPN追加 > OpenVPN設定
VPN設定
基本設定
Identityタブでゲートウェイ(VPNサーバのIPアドレスやドメイン)、ユーザ名、パスワード、証明書等を設定します。
拡張設定
基本設定後にadvanced
ボタン押下して設定します。デフォルトでは何もチェックされていませんが、上述したVPNサーバ設定にあわせて、データ圧縮とUDPフラグメントサイズを明示的に設定します。
これをやらないとVPN接続が確立できませんでした。
VPN有効化とログ確認
設定 > ネットワーク > VPN
でONにします。tail -f /var/log/syslog
で接続処理の一連のログが参照できます。
参考/接続成功時のログ
<info> [1601882154.8087] device (tun1): Activation: successful, device activated.
[system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Started Network Manager Script Dispatcher Service.
req:1 'vpn-up' [tun1]: new request (1 scripts)
req:1 'vpn-up' [tun1]: start running ordered scripts...
req:2 'up' [tun1]: new request (1 scripts)
req:2 'up' [tun1]: start running ordered scripts...
動作確認
ブラウザでグローバルIPアドレスを確認します。
VPNサーバのIPアドレスになっていれば成功です。(設定が間違っていると接続エラーになります)
参考/エラーメッセージ
パスワード不正
以下のようなエラーがでます。
SIGUSR1[soft,private-key-password-failure] received, process restarting
拡張設定漏れ
Bad LZO decompression header byte: 0
write to TUN/TAP : Invalid argument (code=22)