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.

【Ubuntu22.04】VPNServerを立ててみた【OpenVPN】

Posted at

Ubuntu22.04でVPNServerを立てた経緯

自宅から別の拠点にあるPCにVPNでリモートデスクトップをしたいと思いました。
そのため別拠点のラズパイ4(Ubutnu22.04)にVPNserverを立てて、自宅PCとVPN接続してからラズパイ4と同じ拠点にあるPCにリモートデスクトップをします。

office365を契約していないのでchatgptさんに構成図を作図してもらいました。

現状のNW構成図
image.png

VPNありNW構成図
image.png

セットアップの流れは以下の通りです。

  1. OpenVPNとEasyRSAをインストール
  2. server.confのセットアップ
  3. EasyRSAで証明書を作成
  4. OVPNファイルを作成

 1.OpenVPNとEasyRSAをインストール

OpenVPNのインストール

$ sudo apt update
$ sudo apt install openvpn

EasyRSAのインストール

$ sudo apt install easy-rsa

EasyRSAの設定ディレクトリを作成

$ sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/
$ cd /etc/openvpn/easy-rsa

 2. server.confの記載内容

/etc/openvpn/server/server.conf に以下の内容を記載します。

# OpenVPNサーバーがリッスンするポート番号を指定します。
port 1194

# プロトコルを選択します(UDPが速く、推奨されます)。
proto udp

# ルーティングのためのTUNデバイスを使用します。
dev tun

# CA証明書へのパスを指定します。
ca /usr/share/easy-rsa/pki/ca.crt

# サーバー証明書へのパスを指定します。
cert /usr/share/easy-rsa/pki/issued/server1.crt

# サーバーの秘密鍵へのパスを指定します。
key /usr/share/easy-rsa/pki/private/server1.key

# Diffie-Hellmanパラメータへのパスを指定します。
dh /usr/share/easy-rsa/pki/dh.pem

# VPNのサブネットとネットマスクを指定します。
server 10.0.0.0 255.255.255.0

# クライアントと仮想IPアドレスの関連を記録します。
ifconfig-pool-persist /var/log/openvpn/ipp.txt

# 接続のドロップを検出するためのkeepaliveパラメータを設定します。
keepalive 10 120

# TLS認証キーへのパスを指定します。
tls-auth /usr/share/easy-rsa/pki/ta.key 0

# 暗号化暗号を指定します。
cipher AES-256-CBC

# 再起動時にキーとトンネルが持続するようにします。
persist-key
persist-tun

# ステータスログファイルへのパスを指定します。
status /var/log/openvpn/openvpn-status.log

# ログの詳細レベルを設定します。
verb 3

# サーバーが再起動したときにクライアントに通知します。
explicit-exit-notify 1

 3. EasyRSAで証明書の作成方法

変数の初期化

$ cd /etc/openvpn/easy-rsa
$ cd source vars

Clean up any previous keys and certificates
変数の初期化

$ ./clean-all

ビルドCA (Certificate Authority)

$ ./build-ca

サーバー証明書とキーの作成

$ ./build-key-server server

Diffie-Hellmanキーの生成

$ ./build-dh

クライアント証明書とキーの作成

$ ./build-key client01

(オプション) タンネル用の静的キーを生成

$ ./build-key client01

 4. OVPNファイルの作成方法

OVPNファイルは、クライアントがVPNサーバーに接続するための設定ファイルです。以下は基本的なOVPNファイルの内容です。

/etc/openvpn/client01.ovpn ファイルを作成します。

client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
verb 3
<ca>
[ここにca.crtの内容を貼り付け]
</ca>
<cert>
[ここにclient01.crtの内容を貼り付け]
</cert>
<key>
[ここにclient01.keyの内容を貼り付け]
</key>
<tls-auth>
[ta.key の内容をここにペースト, もし使用している場合]
</tls-auth>


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?