環境
- Debian 9.4
- ConoHa VPS 1GB
OpenVPNのインストール
$ sudo apt install openvpn git
$ mkdir ~/git && cd ~/git
$ git clone https://github.com/OpenVPN/eay-rsa.git
証明書とか鍵🔑とかの生成
$ cd easy-rsa/easyrsa
$ ./easy-rsa init-pki
$ ./easyrsa build-ca
$ sudo cp pki/ca.crt /etc/openvpn
$ ./easy-rsa build-server-full server nopass
$ sudo cp pki/issued/server.crt /etc/openvpn
$ sudo cp /pki/private/server.crt /etc/openvpn
$ ./easyrsa gen-dh
$ sudo cp pki/dh.pem /etc/openvpn
$ ./easyrsa gen-crl
$ sudo cp pki/crl.pem /etc/openvpn
$ sudo chmod o+r /etc/openvpn crl.pem
サーバー側設定ファイルの作成
(/etc/openvpn/server.conf)
port 1194
proto udp6
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
crl-verify crl.pem
ifconfig-pool-persist ipp.txt
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "route 10.8.0.0 255.255.255.0"
push "dhcp-option DNS 8.8.8.8"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 3
IPフォワードとマスカレード
正直なんもわからんなんで参照先通りにやった.
- /etc/default/ufw の DEFAULT_FORWARD_POLICYをDROPからACCEPTに
- /etc/ufw/sysctl.conf のnet/ipv4/ip_forward=1のコメントアウトを外す
-
/etc/ufw/before.rules の末尾に以下を追記
COMMIT *nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE COMMIT
-
ufwを再起動
$ sudo ufw reload
OpenVPNの起動
$ sudo systemctl start openvpn@server
$ sudo systemctl enable openvpn@server
$ sudo systemctl disable openvpn
クライアント側秘密鍵の生成
$ cd ~/git/easy-rsa/earsrsa3
$ ./easyrsa build-client-full USERNAME
$ mkdir ~/.vpn
$ sudo cp /etc/openvpn/ca.crt ~/.vpn
$ cp pki/issued/USERNAME.crt ~/.vpn
$ cp pki/private/USERNAME.key ~/.vpn
$ sudo chown neso:neso ~/ca.crt
$ sudo chown neso:neso ~/USERNAME.crt
$ sudo chown neso:neso ~/USERNAME.key
~/.vpnにコピーした🔑x3をなんやかんやでローカルに落としてくる.
vpnux connectをインストール
👉 vpnux Client - OpenVPN client for Windows https://www.plum-systems.co.jp/vpnux-client/
なんやかんやあってこんな感じに設定する.
ところで
VPNを立てたかった理由は,外出先でも公衆無線LANに安心して繋ぎたい,というのもあったのだけど,それ以上にIPv6 onlyなウェブページに接続したいというのがあった.が,IPv6でのフォワーディングにはNATやSOCKSの知識がもっと必要らしく,現時点では実現できてないので今後の課題にする.
ところで(2)
参照先でiOS用アプリ OpenVPN Connect を使ってiPhone/iPadからもVPNでネットサーフィンをする方法も書かれているけれども,PKCS#5だとかSHA-256だとかの互換性か何かの関係で接続ができない問題が起きている.
SHA-1で鍵を作れば接続はできるらしいが,issueが出されているという噂なのでアプリのアップデートまで待つことにする.
参照
» OpenVPNのインストールとセットアップからインターネット接続までのガイドブック - Qiita https://qiita.com/noraworld/items/2fe6be489e1d93c748b8
» さくらVPSのCentOS7をOpenVPNサーバにして、IPv6 tunnelingで家もIPv6対応 - Qiita https://qiita.com/miyu/items/5c28ba7478cf3e4f0ed0