openvpn@centos8 第1回 とりあえずつなげる

最近会社のネットワークやパソコン自体も非常に制限が多くなってきて、 ほとんど仕事にならない状態。
それで、vpnをいろいろ試している。
会社から自宅にVPN接続してRDPで家のパソコンにログインしていろいろやる。

中古のVPN装置を買っていろいろ試したのだが、 まともにVPNをやろうとすると中古の機器を買ってもまあまあの出費になる。
本体は安くてもライセンスが有効なものになるとグンと値段があがる。
そこでこんどはフリーのOpenVPNを試すことにした。
以前やったことはあるが、つながったことを確認して なるほどな、くらいで終わったのだが、
今回は実用に耐えられるかまでちゃんと試す。

openvpnについてはたくさん情報があるが、ほとんどの人がeasyrsaを使っているのだが、 今まで苦労してようやくプライベートCAが安定稼働したので、 
easyrsaは使わずopensslでやる。

CentOS Linux release 8.3.2011

参考にした情報で
dnf update

していたのでやっとくかと、やると
# dnf update

CentOS Linux 8 - AppStream                   80  B/s |  38  B     00:00

エラー: repo 'appstream' のメタデータのダウンロードに失敗しました : 
Cannot prepare internal mirrorlist: No URLs in mirrorlist
調べるとなんか変わったらしいので以下を実施
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*; 
もう一回updateすると今度は
エラー:
 問題: cannot install both device-mapper-8:1.02.177-10.el8.x86_64 and device-mapper-8:1.02.171-5.el8.x86_64
  - package device-mapper-devel-8:1.02.171-5.el8.x86_64 
  requires device-mapper = 8:1.02.171-5.el8, but none of the providers cae installed
  - cannot install the best update candidate for package device-mapper-8:1.02.171-5.el8.x86_64
  - problem with installed package device-mapper-devel-8:1.02.171-5.el8.x86_64

(競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください 
または、'--skip-broken' を追加し インストール不可のパッケージをスキップしてください 
または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください
調べてもよくわからないが、言われた通り
install device-mapper-8:1.02.177-10.el8.x86_64 --allowerasing
をやる。 で、もう一度
dnf update
今度はok 結構長い。久しぶりだからな。
dnf install openvpn
すでにinstallしてあった。 

ちゃんと公式ドキュメントを見ておくか、とみると、 
証明書を使わず静的キーでやる方法が紹介されていたので まずそれでやってみる。
https://www.openvpn.jp/document/quickstart-statickey/
サーバを起動する
systemctl start openvpn-server@server.service
statusを見ると activatingで止まっている
● openvpn-server@server.service - OpenVPN service for server
   Loaded: loaded (/usr/lib/systemd/system/openvpn-server@.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Fri 2022-02-11 17:56:52 JST; 3s ago
/var/log/messagesを見ると

Feb 11 17:56:57 xxx openvpn[363482]: Cipher 'AES-256-GCM' mode not supported

cipherは何も指定していない。
ついこないだ別のサーバでやったときはこんなことなかったけどな...
cipher AES-128-CBC
にしたら起動した。 client側の設定にも入れるとつながった。
centosは一時的にfirewalldを止めた
#server.conf
proto udp
dev tun
port 1194
ifconfig 10.8.0.1 10.8.0.2
secret static.key
cipher AES-128-CBC
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
クライアントはとりあえずwindows10で クライアントのconfigは 
 C:\Users\(username)\OpenVPN\config 
か 
C:\Program Files\OpenVPN\config\ 
に 拡張子 .ovpn のファイルを置けばいいみたい
#client.ovpn
remote vpn.example.com
proto udp
dev tun
port 1194
ifconfig 10.8.0.2 10.8.0.1
secret static.key
cipher AES-128-CBC
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key