2019 Oct. 21.
2019 Apr. 27.
2018 Oct. 08.
2018 Oct. 07.
2018 Sep. 27.
2018 Sep. 02.
起動確認
dev tun
proto udp
remote YOUR.GLOBAL.ADDRESS.HERE 1194
resolv-retry infinite
nobind
tls-auth ta.key 1
persist-key
persist-tun
cipher AES-256-CBC
cert CLIENTDEVNAME.crt
key CLIENTDEVNAME.key
comp-lzo
verb 3
# persist-key, persist-tun, comp-lzo, verb はサーバ側と同じにする。サーバ側に設定してあればこちらにも入力し、設定していない場合は外す。
CA証明書 ca.crt
クライアント証明書 CLIENTDEVNAME.crt
クライアント証明書のキー CLIENTDEVNAME.key
ポート番号 1194
プロコトル UDP
TLS認証を使用する : on
暗号化方式: AES-256-CBC
https://support.hidemyass.com/hc/en-us/articles/202720436-Auth-nocache-Warning-in-OpenVPN-connection-log
参考サイト
2019 Apr. 27.
2018 Oct. 08.
2018 Oct. 07.
2018 Sep. 27.
2018 Sep. 02.
インストール
こちら(https://qiita.com/noraworld/items/2fe6be489e1d93c748b8) を参照プログラムインストール
# apt install openvpn
$ cd ~/YOUR-WORK-DIR
$ git clone https://github.com/OpenVPN/easy-rsa.git
初期設定
$ cd ~/YOUR-WORK-DIR/easy-rsa/easyrsa3
$ ./easyrsa init-pki
CA証明書生成
以後入力するパスフレーズはすべて同じにしておいた方が楽。
CA名称は "ホスト名+OS名" にした。
$ ./easyrsa build-ca
$ sudo cp pki/ca.crt /etc/openvpn/
サーバ証明書生成
$ ./easyrsa build-server-full server nopass
$ sudo cp pki/issued/server.crt /etc/openvpn/ $ sudo cp pki/private/server.key /etc/openvpn/
DH鍵生成
$ ./easyrsa gen-dh
$ sudo cp pki/dh.pem /etc/openvpn/
TLS鍵生成
$ openvpn --genkey --secret ./pki/ta.key
$ sudo cp ./pki/ta.key /etc/openvpn/
クライアント証明書生成
$ ./easyrsa gen-crl
$ sudo cp pki/crl.pem /etc/openvpn/ $ sudo chmod o+r /etc/openvpn/crl.pem
サーバー設定ファイル記述
# touch /etc/openvpn/server.conf
/etc/openvpn/server.confを編集
###########
port 1194 proto udp dev tun
cipher AES-256-CBC
auth SHA512
ca ca.crt cert server.crt key server.key dh dh.pem crl-verify crl.pem
tls-auth ta.key 0
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
###########
ファイアウォール設定
# ufw enable
# ufw allow 1194/udp
# ufw reload
IPフォワーディング設定
/etc/default/ufw を編集する
DEFAULT_FORWARD_POLICYをDROPからACCEPTに変更する
- DEFAULT_FORWARD_POLICY="DROP" + DEFAULT_FORWARD_POLICY="ACCEPT"
IPフォワーディングを有効化
/etc/ufw/sysctl.confを編集する
net.ipv4.ip_forward=1の一行をアンコメントする
- # net.ipv4.ip_forward=1 + net.ipv4.ip_forward=1
IPマスカレード有効化
ifconfigでネットワークポート名を確認する( enp0s7 とか)
/etc/ufw/before.rulesを編集する
一番下の行にCOMMITと書かれているはずなので、この下に以下を追加する。
( *nat行の上のCOMMITは削除しない)
COMMIT + + *nat + :POSTROUTING ACCEPT [0:0] + -A POSTROUTING -s 10.8.0.0/24 -o enp0s7 -j MASQUERADE + COMMIT
# ufw reload
Logローテーション設定
こちら(https://gtrt7.com/blog/linux/ubuntu-openvpn) を参照
OpenVPNログローテーション設定ファイル新規作成
/etc/logrotate.d/openvpn を編集する。
/var/log/openvpn-status.log {
weekly
rotate 7
delaycompress
compress
missingok
notifempty
}
/var/log/openvpn.log {
weekly
rotate 7
delaycompress
compress missingok
notifempty
sharedscripts
postrotate
systemctl restart openvpn@server 2>&1 > /dev/null || true
endscript
}
OpenVPN起動
# systemctl start openvpn@server.service
起動確認
$ ps ax -f | grep openvpn | grep -v grep
$ systemctl status openvpn@server.serviceActive: active (running) の表示を確認する
OpenVPN自動起動設定
# systemctl disable openvpn
# systemctl disable openvpn.service # systemctl enable openvpn@server.service
確認
$ systemctl is-enabled openvpn openvpn.service openvpn@server.service
クライアント用秘密鍵の生成
$ cd ~/YOUR-WORK-DIR/easy-rsa/easyrsa3
(接続時パスワード無し) $ ./easyrsa build-client-full HOGE nopass
(接続時パスワード有り) $ ./easyrsa build-client-full HOGE
(HOGEは "サーバー名+サーバーOS+クライアント端末名" とした)
$ mkdir ~/CLIENT-FILE-DIR$ sudo cp /etc/openvpn/ca.crt ~/CLIENT-FILE-DIR/
$ cp pki/issued/HOGE.crt ~/CLIENT-FILE-DIR/ $ cp pki/private/HOGE.key ~/CLIENT-FILE-DIR/ $ sudo chown USER:USER ~/CLIENT-FILE-DIR/ca.crt $ chown USER:USER ~/CLIENT-FILE-DIR/HOGE.crt $ chown USER:USER ~/CLIENT-FILE-DIR/HOGE.key
USER: VPNサーバに現在ログインしているユーザのユーザ名
接続するクライアントに鍵ファイルをダウンロード
$ scp ~/CLIENT-FILE-DIR/ca.crt CLIENT
$ scp ~/CLIENT-FILE-DIR/HOGE.crt CLIENT
$ scp ~/CLIENT-FILE-DIR/HOGE.key CLIENT
$ scp ./pki/ta.key CLIENT
VPN.ovpn を作る(ファイル名は任意だが、拡張子は .ovpn )
clientdev tun
proto udp
remote YOUR.GLOBAL.ADDRESS.HERE 1194
resolv-retry infinite
nobind
tls-auth ta.key 1
persist-key
persist-tun
cipher AES-256-CBC
auth SHA512ca ca.crt
cert CLIENTDEVNAME.crt
key CLIENTDEVNAME.key
comp-lzo
verb 3
# persist-key, persist-tun, comp-lzo, verb はサーバ側と同じにする。サーバ側に設定してあればこちらにも入力し、設定していない場合は外す。
VPN.ovpn をクライアントにコピー
$ scp VPN.ovpn CLIENTandroid端末にOpenVPN for Androidをインストールする
OpenVPN for Androidを開き、「プロファイルの追加」アイコンをタップして、 .ovpnファイルをインポートし、他の3ファイルを読み込む。OpenVPN for Android 設定
種別: 証明書CA証明書 ca.crt
クライアント証明書 CLIENTDEVNAME.crt
クライアント証明書のキー CLIENTDEVNAME.key
ポート番号 1194
プロコトル UDP
TLS認証を使用する : on
暗号化方式: AES-256-CBC
設定
WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
This is nothing to worry about.https://support.hidemyass.com/hc/en-us/articles/202720436-Auth-nocache-Warning-in-OpenVPN-connection-log
WARNING: cipher local='cipher BF-CBC' remote='cipher AES-256-CBC'
クライアントの暗号化方式を AES-256-CBS に指定する。参考サイト
WARNING: No server certificate verification method has been enabled.
クライアント設定で「TLSサーバー証明書を要求する」をオンにする。
0 件のコメント:
コメントを投稿