🐡
Openvpn クライアントユーザ追加手順メモ
現在参画しているプロジェクトの引き継ぎにOpenVPN(EasyRSA)の運用手順書作成を作成。
過去含め今回3回目の作成。いい加減使いまわしできるように纏めました。
Openvpn&EasyRASでのVPNサーバは構築後のクライアントユーザ追加手順を纏めてみました。
EasyRSA client秘密鍵発行手順
- OpenVPNサーバへSSHでログインした後、EasyRSAをインストールしたディレクトリへ移動。easyrasコマンドを使い認証系ファイル一式の生成を行う。
-
今回は、パスワード設定無し。※設定したい場合は下記コマンドの"nopass"を取る。
-
EasyRsaをインストール場所は。/user/shear/easy-rsa/3として記載。
-
biud-clientコマンド実行後、Enter pass phrase for /usr/share/easy-rsa/3.0.8/pki/private/ca.key:を聞かれたら、ca作成した際のパスワードを入力する。
$ cd /xxx/xxxx/easyrsa $ sudo ./easyrsa build-client-full user名 nopass Using SSL: openssl OpenSSL 1.0.2k-fips 26 Jan 2017 Generating a 2048 bit RSA private key ..................+++ ..........+++ ----- Enter pass phrase for /usr/share/easy-rsa/3.0.8/pki/private/ca.key: ← CA認証パスワードを入力(CA初期作成時に設定したもの) Check that the request matches the signature Signature ok The Subject\'s Distinguished Name is as follows commonName :ASN.1 12:'user名' Certificate is to be certified until Sep 17 17:21:05 2024 GMT (825 days) Write out database with 1 new entries Data Base Updated
- 上記のDataBaseUpdatedが表示されると3つのファイルが作成される。クライアントへDownload。
※注意 今回、ta.keyの利用は無しとしている。理由としては、プロジェクト参画者のほとんどが過去利用しているVpnuxバージョンが古く、そのまま利用したいというニーズがあった為)
2-1. ファイル生成される場所
格納場所 | File |
---|---|
/pki | ca.crt |
/pki/private | user名.key |
/pki/issued | user名.crt |
2-2. 生成された認証key/秘密鍵は、scp等でクライアントへコピー
- 下記Linuxでのコピー例 hogehogeユーザとして作成した例
#Openvpnサーバ上での作業
$ cd
$ mkdir hogehoge
$ sudo cp /usr/share/easy-rsa/3/pki/ca.crt ./hogehoge/.
$ sudo cp /usr/share/easy-rsa/3/pki/private/hogehoge.key ./hogehoge/.
$ sudo cp /usr/share/easy-rsa/3/pki/issued/hogehoge.crt ./hogehoge/.
$ ls -al hogehoge
合計 20
drwxrwxr-x 2 hogehoge hogehoge 52 6月 16 03:07 .
drwx------ 10 hogehoge hogehoge 4096 6月 16 03:05 ..
-rw------- 1 root root 4430 6月 16 03:07 ca.crt
-rw------- 1 root root 1704 6月 16 03:07 hogehoge.key
-rw------- 1 root root 1172 6月 16 03:06 hogehoge.crt
#権限も変えておく
$ sudo chown -R ec2-user hogehoge
$ sudo chgrp -R ec2-user hogehoge
#tarで固めておく
$ tar cfvz hogehoge.tar.gz hogehoge
#ログオフしローカル環境へ戻る
$exit
```SHELL
#クライアント端末からの操作
$ cat ./ssh/config
Host hoge
HostName xx.xx.xx.xx
User hogehoge
IdentityFile ~/.ssh/xxxxxxx
IdentitiesOnly yes
#serverよりGET
scp hoge:/home/hogehoge/hogehoge.tar.gz ./
- おまけ(archlinuxでのクライアント設定 )
-
メモ windowsでのOpenvpnクライアントはいろいろとあるが、フリーでは、openvpn-clientかvpnuxがよいとの事。
しかし、複数のVPN接続をする場合はopenvpn-clientがよい。Vpnuxはconfファイルを作成せず、GUIから設定できるが同時複数のVPN環境へ接続はできない。 -
※Windows環境での上記2つのクライアントソフトののダウンロードと設定手順は以下公式にて
- openvpn client https://www.openvpn.jp/document/how-to/
- Vpnux client https://www.vpnux.jp/manual
- 下記はarchlinuxでのCLIによるopenvpn設定内容。
- sudo pacman -S networkmanager-openvpn
- インストール後 '/etc/openvpn/client/ 配下に秘密鍵や認証keyを保存し.confファイルを作成。
- systemdで自動起動させたい場合は、/lib/systemd/system/openvpn-client@.serviceを利用。
- /etc/openvpn/client配下にサービス名.confとしてクライアント設定用の.opvnファイルを作成(拡張子は.confに変更)
- systemctl start openvpn-client@サービス名 でstart。
- 起動時に接続する場合は systemctl enable openvpn-client@サービス名。 status でLoad: 〜 enabled: 確認。
sudo systemctl status openvpn-client@hoge
● openvpn-client@hogehoge.service - OpenVPN tunnel for hoge
Loaded: loaded (/usr/lib/systemd/system/openvpn-client@.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-06-21 06:36:19 JST; 10h ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Main PID: 1331 (openvpn)
Status: "Initialization Sequence Completed"
Tasks: 1 (limit: 57462)
Memory: 4.9M
CPU: 1.312s
CGroup: /system.slice/system-openvpn\x2dclient.slice/openvpn-client@hogehoge.service
└─1331 /usr/bin/openvpn --suppress-timestamps --nobind --config hoge.conf
Jun 21 15:36:18 r134 openvpn[1331]: VERIFY OK: depth=1, CN=Easy-RSA CA
Jun 21 15:36:18 r134 openvpn[1331]: VERIFY OK: depth=0, CN=server
Jun 21 15:36:18 r134 openvpn[1331]: Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Jun 21 15:36:18 r134 openvpn[1331]: Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Jun 21 15:36:18 r134 openvpn[1331]: Control Channel: TLSv1.2, cipher TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, peer cert>
Jun 21 16:36:18 r134 openvpn[1331]: VERIFY OK: depth=1, CN=Easy-RSA CA
Jun 21 16:36:18 r134 openvpn[1331]: VERIFY OK: depth=0, CN=server
Jun 21 16:36:18 r134 openvpn[1331]: Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
- 以下.confファイル設定例(server.confに合わせて作成)
client
dev tun
proto udp
remote xx.xx.xx.xx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca xxxxxx/ca.crt
cert xxxxxx/hogehoge.crt
key xxxxxx/hogehoge.key
keepalive 10 60
verb 3
mssfix 1280
comp-lzo
以上。次は EC2を利用したOpenvpnサーバ構築手順書を纏めたいと思います。。。
Discussion