環境

  • 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

Next Post Previous Post