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?

Fedora 44 / openvpn 2.7 での P2P 接続

0
Last updated at Posted at 2026-05-01

Fedora 44 に upgrade したら、openvpn が動かなくなった

AWS Lightsail の AL2023 と、自宅の Fedora マシンの間を、openvpn を利用したP2P VPN接続して使っていました。
所が今まで使っていた Fedora 43 の openvpn 2.6 用の .conf は、Fedora 44 の openvpn 2.7 では使えなくなったようです。今まで手抜きをして、secret の静的共有鍵を使って接続していました。が、2.7ではそれが許されなくなって、 PKI証明書を使うことが必須となったようです。

.conf を更新して、繋がるように直した

エラー・メッセージと、Google 検索のAI出力、公式サイトのこの辺を斜めに眺めて、後は /usr/share/doc/openvpn/samples/ もチラと見て、次のように書いて解決しました。

/etc/openvpn/server/P2P-server.conf
dev	tun
port	1194
mode	p2p
#
# Certificates
ca	/etc/pki/tls/certs/P2P-CA.crt
cert	/etc/pki/tls/certs/P2P-Server.crt
key	/etc/pki/tls/private/P2P-Server.pem
dh	/etc/ssl/dhparam.pem
#
#
tls-server
#   IPv4
proto	    udp
# Network: server is .1, client is .2
ifconfig    192.168.200.1 192.168.200.2
# Routing (Assuming client LAN is 192.168.200.0/24)
route	    192.168.200.0 255.255.255.0
#
#   IPv6
proto		udp6
ifconfig-ipv6	<prefix>::1 <prefix>::2
#
#
# Security
cipher	    AES-256-GCM
auth	    SHA256
auth-nocache
keepalive   10 60
ping-timer-rem
#persist-key
persist-tun
user	    nobody
group	    nobody
daemon
#
#
# Logging
verb	    3

/etc/openvpn/client/P2P-client.conf
/etc/openvpn/client/P2P-client.conf
dev	tun
port	1194
remote	<remote-server IP or FQDN>
mode	p2p
#client
#
#
# Certificates
ca      /etc/pki/tls/certs/P2P-CA.crt
cert    /etc/pki/tls/certs/P2P-Client.crt
key     /etc/pki/tls/private/P2P-Client.pem
#
remote-cert-tls	server
#
#
tls-client
#   IPv4
proto	udp
# Network: matching the server's ifconfig
ifconfig    192.168.200.2 192.168.200.1
# Routing (Assuming server LAN is 192.168.1.0/24)
route	    192.168.200.0 255.255.255.0
#
#   IPv6
proto		udp6
ifconfig-ipv6	<prefix>::2 <prefix>::1
#
#
# Security
cipher	    AES-256-GCM
auth	    SHA256
auth-nocache
keepalive   10 60
ping-timer-rem
persist-tun
user	    nobody
group	    nobody
daemon
#
#
# Logging
verb	    3

解説

上記の .conf ファイルを修正し、配置する

必要箇所を自分の環境に合わせて修正して下さい。

  • IPv4 の ifconfig / route 部分のアドレス
  • IPv6 の ifconfig-ipv6 部分のアドレス

IPv6 を使ってないなら、proto udp6 と ifconfig-ipv6 双方コメントにして下さい。
それ以外は、必要ならお好みで色々手を加えて下さい。
出来上がったら、指定の場所に配置して下さい。

PKIのCA, server, client のそれぞれの秘密鍵/公開鍵の証明書ファイルを配置する

作り方は、別途調べて下さい。私は xca コマンドを利用して作っています。
作ったファイルは、.conf ファイルの示す場所に配置します。

サーバー側

-rw-r--r--. 1 root root  956 May  2 03:45 /etc/pki/tls/certs/P2P-CA.crt
-rw-r--r--. 1 root root 1038 May  2 03:52 /etc/pki/tls/certs/P2P-Server.crt
-rw-------. 1 root root 119 May  2 03:58 /etc/pki/tls/private/P2P-Server.pem

クライアント側

-rw-r--r--. 1 root root  956 May  2 03:45 /etc/pki/tls/certs/P2P-CA.crt
-rw-r--r--. 1 root root 1038 May  2 03:52 /etc/pki/tls/certs/P2P-Client.crt
-rw-------. 1 root root 119 May  2 03:58 /etc/pki/tls/private/P2P-Client.pem

openvpn 起動方法

既にやってた人は分かると思いますが、.conf をサーバー/クライアント共適切に配置して、

サーバー側

systemctl enable openvpn-server@P2P-server
systemctl start openvpn-server@P2P-server

クライアント側

systemctl enable openvpn-client@P2P-client
systemctl start openvpn-client@P2P-client

で実行できます。

確認

サーバーで、下記を実行すること位でしょうか?

# systemctl status openvpn-server@P2P-server
# ip link
# ip addr
# ping 192.168.200.2
# journalctl -u openvpn-server@P2P-server
  • tun0 に、192.168.200.1 及び 付加した IPv6 アドレスがあること
  • ping 応答があること

クライアントもほぼ同じですね

# systemctl status openvpn-client@P2P-client
# ip link
# ip addr
# ping 192.168.200.1
# journalctl -u openvpn-client@P2P-client

大体こんな感じで動くようになりました。

Download

GitHub

End

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?