0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

openvpn@centos

Last updated at Posted at 2022-02-14

証明書はopensslでやる。
サーバの秘密鍵を作る→csr作成→caで署名
ここは何度もやったので省略

opensslの設定はほぼデフォルト
configの置き場は

/etc/openvpn/server/

configはサンプルをコピーして作る。

# cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn/server/

なるべくデフォルト設定を使う。

以下のファイルが必要

ca ca.crt #VPNサーバの証明書を発行(署名)するCAの証明書
cert server.crt #VPNサーバの証明書
key server.key #VPNサーバの秘密鍵
#   openssl dhparam -out dh2048.pem 2048
dh dh2048.pem # DHパラメータ
#   openvpn --genkey --secret ta.key
#
# The server and each client must have
# a copy of this key.
# The second parameter should be '0'
# on the server and '1' on the clients.
tls-auth ta.key 0 # This file is secret # tlsキー、後ろの数字は0がサーバー、1がクライアント

dhパラメータをeasyrsaで作るように説明している情報が多いがsampleコンフィグにopensslのコマンドが書いてあるのでそれを使う。

configを載せておく。
サーバ証明書とクライアント証明書での接続

#サーバ(コメント部分削除)

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.55.0 255.255.255.0"
keepalive 10 120
tls-auth ta.key 0
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 4
explicit-exit-notify 1

push... は、アクセス先のlanに相当するサブネット。
ここへのアクセスのみをトンネリングする。

外部ファイル(server.confと同じフォルダ /etc/openvpn/server に置く)

ca.crt
server.crt
server.key
dh2048.pem

pushは接続先のプライベートネットワークセグメント(アクセス先)
加えてサーバ側のfirewalld設定やip forwardingの設定が必要
ログ出力設定はデフォルトで無効だが有効にした。

クライアント(windows)

client
remote vpn.example.com
port 1194
proto udp
dev tun
tls-auth ta.key 1
persist-tun
persist-key
verb 4
mute 10

<ca>
-----BEGIN CERTIFICATE-----
(省略、サーバ証明書にサインしたCAの証明書)
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
(省略、クライアント証明書)
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
(省略、クライアントの秘密鍵)
-----END RSA PRIVATE KEY-----
</key>
client

が必要

外部ファイル

ta.key

#クライアント(iPhone 15.2.1, Mac Monterey Version12.2)

client
remote vpn.example.com
port 1194
proto udp
dev tun
persist-tun
persist-key
verb 4
mute 10
key-direction 1
<ca>
-----BEGIN CERTIFICATE-----
(省略、サーバ証明書にサインしたCAの証明書)
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
(省略、クライアント証明書)
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
(省略、クライアントの秘密鍵)
-----END RSA PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
(省略、ta.keyの中身)
-----END OpenVPN Static key V1-----
</tls-auth>

ポイントは、 tls-auth ta.key 1 と書くところは ta.keyの内容を

<tls-auth>
...
</tls-auth>

に貼り付けて、

key-direction 1 

(client側を意味する)を書く。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?