最近Oracle環境を構築する検証をすることになったので、
あくまで自分用にメモを残しておく。
作りたい環境
- VPNを経由したプライベートサブネット
- アプリケーションWebサーバ(以下Server) + Base Databaseサービスの連携
たったこれだけの簡単な環境を構築する。
そもそもAWSの検証ばかりだったのでOCIの検証目的となります。
今回はVPNサーバの作成と接続までとなります。
構成図
AWSでいうクライアントVPNのような軽い検証をしたいのだが、
マネージドされたVPNサービスがないためマーケットプレイスか自作になる。
Linuxではそんなに難しくないので、OPEN VPNを利用した
VPNサーバ自作することにする。
VPN接続あとはServerへ接続するため、
10.0.1.0/24のサブネットに変換されるよう構築します。
ネットワークの用意
AWSでいうVPCはVPNとなる。
これを作成するとデフォルトでデフォルト・ルート表というものが作成される。
また、セキュリティリストというものも作成される。
AWS慣れしているとわかりにくい箇所があったので、記載しておく
- VPNとサブネット、そして仮想サーバのVNIC単位でセキュリティをかけられる
- どこか一つでも許可があれば通信は通る
- VPNとサブネットはセキュリティ・リスト
- VNICやロードバランサーはネットワークセキュリティグループを利用する
とてもめんどくさいので都度確認する。
また、サブネットを作る前には各々セキュリティリストを作成しておかないと、
変更ができない。
※ルート表(ルートテーブル)は後で変更が可能。
今回はセキュリティリストで対応していく。
構成図にある程度IPは記載しているので、
セキュリティリストの内容を記載する。
ちなみにステートレスにすると戻り通信が返ってこないのでステートフルにする。
- Pubulic List
- Praivate List A
- Praivate List B
Pubulic List
ステートレス | ソース | IPプロトコル | 範囲 |
---|---|---|---|
いいえ | 10.0.0.0/16 | TCP | ALL |
いいえ | 10.0.0.0/16 | ICMP | ALL |
いいえ | 自宅IP | ICMP | ALL |
いいえ | 自宅IP | すべてのプロトコル | ALL |
ステートレス | 宛先 | IPプロトコル | 範囲 |
---|---|---|---|
いいえ | 10.0.0.0/16 | TCP | ALL |
いいえ | 10.0.0.0/16 | ICMP | ALL |
いいえ | 0.0.0.0/0 | すべてのプロトコル | ALL |
Praivate List A
ステートレス | ソース | IPプロトコル | 範囲 |
---|---|---|---|
いいえ | 10.0.0.0/16 | TCP | ALL |
いいえ | 10.0.0.0/16 | ICMP | ALL |
ステートレス | 宛先 | IPプロトコル | 範囲 |
---|---|---|---|
いいえ | 0.0.0.0/0 | TCP | ALL |
いいえ | 10.0.0.0/16 | ICMP | ALL |
Praivate List B
ステートレス | ソース | IPプロトコル | 範囲 |
---|---|---|---|
いいえ | 10.0.0.0/16 | TCP | ALL |
ステートレス | 宛先 | IPプロトコル | 範囲 |
---|---|---|---|
いいえ | 0.0.0.0/0 | TCP | ALL |
インターネットゲートウェイ
OCIでもそこまでは変わらない。
作成後、Piblic Subnetのルートテーブルの双方に設定する。
- Public Subnetのルートテーブルに設定をする
VCN内はデフォルトでルーティングが組まれているため、
新たに許可を追加しなくてもローカル通信は通る。
絞る必要があるのであればサブネット以下から設定を推奨する。
対象のサブネットであるPublic Subnetのルート・ルールを追加する。
VPNサーバ構築
下記の記事を参考にさせていただく。
■参考記事
https://qiita.com/horus19761108/items/9c7879149218d9325c5e
今回はAlmaLinux8で行う。
SELINUXは無効化しておく。
※これがあると起動しない。
[root@vpn-server ~]# getenforce
Disabled
[root@vpn-server ~]#
[root@vpn-server ~]# cat /etc/os-release
NAME="AlmaLinux"
VERSION="8.9 (Midnight Oncilla)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.9"
PLATFORM_ID="platform:el8"
PRETTY_NAME="AlmaLinux 8.9 (Midnight Oncilla)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:8::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8"
ALMALINUX_MANTISBT_PROJECT_VERSION="8.9"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.9"
8用のepelをインストール
[root@vpn-server ~]# yum localinstall https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noa
rch.rpm
Last metadata expiration check: 14:45:47 ago on Wed 10 Apr 2024 10:22:15 AM UTC.
epel-release-latest-8.noarch.rpm 37 kB/s | 25 kB 00:00
Dependencies resolved.
=====================================================================================================
Package Architecture Version Repository Size
=====================================================================================================
Installing:
epel-release noarch 8-19.el8 @commandline 25 k
Transaction Summary
=====================================================================================================
Install 1 Package
Total size: 25 k
Installed size: 35 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : epel-release-8-19.el8.noarch 1/1
Running scriptlet: epel-release-8-19.el8.noarch 1/1
Many EPEL packages require the CodeReady Builder (CRB) repository.
It is recommended that you run /usr/bin/crb enable to enable the CRB repository.
Verifying : epel-release-8-19.el8.noarch 1/1
Installed:
epel-release-8-19.el8.noarch
Complete!
Firewalldが動いているが、上位のセキュリティリストによって絞られているから停止しておく。
自動起動停止
[root@vpn-server ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
停止
[root@vpn-server ~]# systemctl stop firewalld
[root@vpn-server ~]#
OpneVPNなどをインストール
[root@vpn-server ~]# dnf --enablerepo=epel install openvpn easy-rsa
Last metadata expiration check: 0:23:26 ago on Thu 11 Apr 2024 01:22:49 AM UTC.
Dependencies resolved.
========================================================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================================================
Installing:
easy-rsa noarch 3.0.8-1.el8 epel 47 k
openvpn x86_64 2.4.12-2.el8 epel 545 k
Installing dependencies:
pkcs11-helper x86_64 1.22-7.el8 epel 64 k
Transaction Summary
========================================================================================================================================================
Install 3 Packages
Total download size: 657 k
Installed size: 1.5 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): easy-rsa-3.0.8-1.el8.noarch.rpm 95 kB/s | 47 kB 00:00
(2/3): openvpn-2.4.12-2.el8.x86_64.rpm 1.0 MB/s | 545 kB 00:00
(3/3): pkcs11-helper-1.22-7.el8.x86_64.rpm 112 kB/s | 64 kB 00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------
Total 499 kB/s | 657 kB 00:01
Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x2F86D6A1:
Userid : "Fedora EPEL (8) <epel@fedoraproject.org>"
Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : pkcs11-helper-1.22-7.el8.x86_64 1/3
Running scriptlet: openvpn-2.4.12-2.el8.x86_64 2/3
Installing : openvpn-2.4.12-2.el8.x86_64 2/3
Running scriptlet: openvpn-2.4.12-2.el8.x86_64 2/3
Installing : easy-rsa-3.0.8-1.el8.noarch 3/3
Running scriptlet: easy-rsa-3.0.8-1.el8.noarch 3/3
Verifying : easy-rsa-3.0.8-1.el8.noarch 1/3
Verifying : openvpn-2.4.12-2.el8.x86_64 2/3
Verifying : pkcs11-helper-1.22-7.el8.x86_64 3/3
Installed:
easy-rsa-3.0.8-1.el8.noarch openvpn-2.4.12-2.el8.x86_64 pkcs11-helper-1.22-7.el8.x86_64
Complete!
3.0.8が最新で入っていることを確認
[root@vpn-server ~]# ll /usr/share/easy-rsa/
total 0
lrwxrwxrwx. 1 root root 5 Sep 10 2020 3 -> 3.0.8
lrwxrwxrwx. 1 root root 5 Sep 10 2020 3.0 -> 3.0.8
drwxr-xr-x. 3 root root 66 Apr 11 01:46 3.0.8
設定ファイルのコピーと確認
[root@vpn-server ~]# mkdir /etc/openvpn/easy-rsa
[root@vpn-server ~]# cp /usr/share/easy-rsa/3.0.8/* /etc/openvpn/easy-rsa/ -R
[root@vpn-server ~]# ll /etc/openvpn/easy-rsa/
total 84
-rwxr-xr-x. 1 root root 76946 Apr 11 01:51 easyrsa
-rw-r--r--. 1 root root 4616 Apr 11 01:51 openssl-easyrsa.cnf
drwxr-xr-x. 2 root root 122 Apr 11 01:51 x509-types
[root@vpn-server ~]# ll /usr/share/easy-rsa/3.0.8/
total 84
-rwxr-xr-x. 1 root root 76946 Sep 9 2020 easyrsa
-rw-r--r--. 1 root root 4616 Sep 9 2020 openssl-easyrsa.cnf
drwxr-xr-x. 2 root root 122 Apr 11 01:46 x509-types
[root@vpn-server ~]#
初期化
[root@vpn-server ~]# cd /etc/openvpn/easy-rsa
[root@vpn-server easy-rsa]#
[root@vpn-server easy-rsa]# ll
total 84
-rwxr-xr-x. 1 root root 76946 Apr 11 01:51 easyrsa
-rw-r--r--. 1 root root 4616 Apr 11 01:51 openssl-easyrsa.cnf
drwxr-xr-x. 2 root root 122 Apr 11 01:51 x509-types
[root@vpn-server easy-rsa]#
[root@vpn-server easy-rsa]# ./easyrsa init-pki
init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/openvpn/easy-rsa/pki
[root@vpn-server easy-rsa]# ll /etc/openvpn/easy-rsa/pki
total 16
-rw-------. 1 root root 4616 Apr 11 01:53 openssl-easyrsa.cnf
drwx------. 2 root root 6 Apr 11 01:53 private
drwx------. 2 root root 6 Apr 11 01:53 reqs
-rw-------. 1 root root 4640 Apr 11 01:53 safessl-easyrsa.cnf
認証局の作成
[root@vpn-server easy-rsa]# ./easyrsa build-ca
Using SSL: openssl OpenSSL 1.1.1k FIPS 25 Mar 2021
Enter New CA Key Passphrase: #任意のパスワード入力
Re-Enter New CA Key Passphrase: #再入力
Generating RSA private key, 2048 bit long modulus (2 primes)
..................................................+++++
.........................................................................................................................................................................+++++
e is 65537 (0x010001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:OCIVPNTEST #任意の名前
CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/etc/openvpn/easy-rsa/pki/ca.crt
生成された鍵を確認
[root@vpn-server easy-rsa]# ll /etc/openvpn/easy-rsa/pki/ca.crt
-rw-------. 1 root root 1200 Apr 11 01:55 /etc/openvpn/easy-rsa/pki/ca.cr
DHパラメータの作成
[root@vpn-server easy-rsa]# ./easyrsa gen-dh
Using SSL: openssl OpenSSL 1.1.1k FIPS 25 Mar 2021
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
中略
DH parameters of size 2048 created at /etc/openvpn/easy-rsa/pki/dh.pem
[root@vpn-server easy-rsa]# ll /etc/openvpn/easy-rsa/pki/dh.pem
-rw-------. 1 root root 424 Apr 11 01:59 /etc/openvpn/easy-rsa/pki/dh.pem
サーバ用の証明書と秘密鍵の作成
[root@vpn-server easy-rsa]# ./easyrsa build-server-full server_r nopass
Using SSL: openssl OpenSSL 1.1.1k FIPS 25 Mar 2021
Generating a RSA private key
..+++++
........................................................................+++++
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-1842.WlCYCW/tmp.G6Ehv2'
-----
Using configuration from /etc/openvpn/easy-rsa/pki/easy-rsa-1842.WlCYCW/tmp.Bz3C3z
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key: #認証局の作成で使用したパスワード
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName :ASN.1 12:'server_r'
Certificate is to be certified until Jul 15 02:01:03 2026 GMT (825 days)
Write out database with 1 new entries
Data Base Updated
[root@vpn-server easy-rsa]#
生成されたサーバ証明書と秘密鍵を確認
[root@vpn-server easy-rsa]# ll /etc/openvpn/easy-rsa/pki/issued/server_r.crt
-rw-------. 1 root root 4614 Apr 11 02:01 /etc/openvpn/easy-rsa/pki/issued/server_r.crt
[root@vpn-server easy-rsa]# ll /etc/openvpn/easy-rsa/pki/private/server_r.key
-rw-------. 1 root root 1704 Apr 11 02:00 /etc/openvpn/easy-rsa/pki/private/server_r.key
クライアント用の証明書と秘密鍵の作成
[root@vpn-server easy-rsa]# ./easyrsa build-client-full client1 nopass
Using SSL: openssl OpenSSL 1.1.1k FIPS 25 Mar 2021
Generating a RSA private key
........................................+++++
...........................+++++
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-1954.CPehFP/tmp.LnIJco'
-----
Using configuration from /etc/openvpn/easy-rsa/pki/easy-rsa-1954.CPehFP/tmp.ZpEkz3
Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key: #認証局の作成で使用したパスワード
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName :ASN.1 12:'client1'
Certificate is to be certified until Jul 15 02:06:55 2026 GMT (825 days)
Write out database with 1 new entries
Data Base Updated
生成されたクライアント用の証明書とクライアント用の秘密鍵の確認
[root@vpn-server easy-rsa]# ll /etc/openvpn/easy-rsa/pki/issued/client1.crt
-rw-------. 1 root root 4487 Apr 11 02:06 /etc/openvpn/easy-rsa/pki/issued/client1.crt
[root@vpn-server easy-rsa]# ll /etc/openvpn/easy-rsa/pki/private/client1.key
-rw-------. 1 root root 1708 Apr 11 02:06 /etc/openvpn/easy-rsa/pki/private/client1.key
OpenVPNの設定
[root@vpn-server easy-rsa]# cd /etc/openvpn/
[root@vpn-server easy-rsa]#
[root@vpn-server openvpn]# ll
total 0
drwxr-x---. 2 root openvpn 6 Nov 10 00:39 client
drwxr-xr-x. 4 root root 77 Apr 11 01:53 easy-rsa
drwxr-x---. 2 root openvpn 6 Nov 10 00:39 server
[root@vpn-server openvpn]# ll /usr/share/doc/openvpn/sample/sample-config-files/server.conf
-rw-r--r--. 1 root root 10784 Mar 17 2022 /usr/share/doc/openvpn/sample/sample-config-files/server.conf
[root@vpn-server openvpn]# cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf server.conf
[root@vpn-server openvpn]#
[root@vpn-server openvpn]# ll
total 12
drwxr-x---. 2 root openvpn 6 Nov 10 00:39 client
drwxr-xr-x. 4 root root 77 Apr 11 01:53 easy-rsa
drwxr-x---. 2 root openvpn 6 Nov 10 00:39 server
-rw-r--r--. 1 root root 10784 Apr 11 02:12 server.conf
[root@vpn-server openvpn]# cp -ip server.conf server.conf_org
[root@vpn-server openvpn]#
[root@vpn-server openvpn]# vi server.conf
下記を参考にさせていただいた
[root@vpn-server ~]# cat /etc/openvpn/server/server.conf |grep -v -e '^\s*#' -e'^\s*$' |grep -v ^";"
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server_r.crt
key /etc/openvpn/easy-rsa/pki/private/server_r.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/pki/dh.pem
server 10.0.8.0 255.255.255.0 #接続元に10.0.0.0/24のネットワークからIPを振る
ifconfig-pool-persist ipp.txt
push "route 10.0.1.0 255.255.255.0"
client-to-client
keepalive 10 300
tls-auth /etc/openvpn/ta.key 0 # This file is secret
cipher AES-256-CBC
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 3
explicit-exit-notify 1
[root@vpn-server ~]#
[root@vpn-server ~]# diff -y /etc/openvpn/server/server.conf /etc/openvpn/server.conf_org |grep "|"
ca /etc/openvpn/easy-rsa/pki/ca.crt | ca ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server_r.crt | cert server.crt
key /etc/openvpn/easy-rsa/pki/private/server_r.key # This fi | key server.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/pki/dh.pem | dh dh2048.pem
server 10.0.8.0 255.255.255.0 | server 10.8.0.0 255.255.255.0
;server-bridge 10.0.1.0 255.255.255.0 10.8.0.50 10.8.0.100 | ;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge 10.0.0.0 255.255.255.0 10.0.0.200 10.0.0.230 | ;server-bridge
;push "route 192.168.0.0 255.255.255.0" | ;push "route 192.168.10.0 255.255.255.0"
push "route 10.0.1.0 255.255.255.0" | ;push "route 192.168.20.0 255.255.255.0"
client-to-client | ;client-to-client
keepalive 10 300 | keepalive 10 120
tls-auth /etc/openvpn/ta.key 0 # This file is secret | tls-auth ta.key 0 # This file is secret
comp-lzo | ;comp-lzo
user nobody | ;user nobody
group nobody | ;group nobody
status /var/log/openvpn-status.log | status openvpn-status.log
log /var/log/openvpn.log | ;log openvpn.log
log-append /var/log/openvpn.log | ;log-append openvpn.log
中でもこれが大事。ちゃんとしたエラーログを吐かせないとうまくいかないときの原因調査で全然時間がかかる。
log /var/log/openvpn.log
log-append /var/log/openvpn.log
TLS認証キーの作成
[root@vpn-server openvpn]# openvpn --genkey --secret /etc/openvpn/ta.key
[root@vpn-server openvpn]# ll /etc/openvpn/ta.key
-rw-------. 1 root root 636 Apr 11 02:50 /etc/openvpn/ta.key
この後、ディレクトリ /etc/openvpn/server へ、必要なファイルを移動させる
[root@vpn-server ~]# ll /etc/openvpn/server
total 20
-rw------- 1 root root 17 Apr 22 16:17 ipp.txt
-rw-r--r-- 1 root root 10980 Apr 22 15:56 server.conf
-rw------- 1 root root 636 Apr 19 18:46 ta.key
このディレクトリからserver.confを読み込まれる。
ta.keyはserver.confで絶対パスで/etc/openvpn/ta.keyへと指定しているので不要
ipp.txtは指定があるのでここに必要になる。
ただし、絶対パスで指定すれば別
[root@vpn-server ~]# cat /etc/openvpn/server/server.conf |grep ipp.txt
ifconfig-pool-persist ipp.txt
上記で設定している証明書類はすべてServerディレクトリに置けば要はそのままできる。
IPフォワードの設定
[root@vpn-server ~]# vi /etc/sysctl.conf
[root@vpn-server ~]# cat /etc/sysctl.conf |grep -v -e '^\s*#' -e '^\s*$'
net.ipv4.ip_forward=1
・反映
[root@vpn-server ~]# sysctl -p
net.ipv4.ip_forward = 1
iptablesコマンドを実行して、NAT(マスカレード)ルールを追加
[root@vpn-server ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@vpn-server ~]# iptables -t nat -A POSTROUTING -s 10.0.8.0/24 -o eth0 -j MASQUERADE
[root@vpn-server ~]#
[root@vpn-server ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.8.0/24 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
設定ファイルを指定して起動テスト
[root@vpn-server ~]# openvpn /etc/openvpn/server/server.conf
[root@vpn-server ~]#
ログ確認
[root@vpn-server openvpn]# less /var/log/openvpn.log
Thu Apr 11 18:31:13 2024 OpenVPN 2.4.12 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Nov 10 2023
Thu Apr 11 18:31:13 2024 library versions: OpenSSL 1.1.1k FIPS 25 Mar 2021, LZO 2.08
Thu Apr 11 18:31:13 2024 Diffie-Hellman initialized with 2048 bit key
Thu Apr 11 18:31:13 2024 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Apr 11 18:31:13 2024 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Apr 11 18:31:13 2024 ROUTE_GATEWAY 10.0.0.1/255.255.255.0 IFACE=eth0 HWADDR=02:00:17:02:e6:1e
Thu Apr 11 18:31:13 2024 TUN/TAP device tun0 opened
Thu Apr 11 18:31:13 2024 TUN/TAP TX queue length set to 100
Thu Apr 11 18:31:13 2024 /sbin/ip link set dev tun0 up mtu 1500
Thu Apr 11 18:31:13 2024 /sbin/ip addr add dev tun0 local 10.0.0.1 peer 10.0.0.2
Thu Apr 11 18:31:13 2024 /sbin/ip route add 10.0.0.0/24 via 10.0.0.2
Thu Apr 11 18:31:13 2024 Could not determine IPv4/IPv6 protocol. Using AF_INET
Thu Apr 11 18:31:13 2024 Socket Buffers: R=[212992->212992] S=[212992->212992]
Thu Apr 11 18:31:13 2024 UDPv4 link local (bound): [AF_INET][undef]:1194
Thu Apr 11 18:31:13 2024 UDPv4 link remote: [AF_UNSPEC]
Thu Apr 11 18:31:13 2024 GID set to nobody
Thu Apr 11 18:31:13 2024 UID set to nobody
Thu Apr 11 18:31:13 2024 MULTI: multi_init called, r=256 v=256
Thu Apr 11 18:31:13 2024 IFCONFIG POOL: base=10.0.0.4 size=62, ipv6=0
Thu Apr 11 18:31:13 2024 IFCONFIG POOL LIST
Thu Apr 11 18:31:13 2024 Initialization Sequence Completed
Initialization Sequence Completed
がでているのでOK
起動
[root@vpn-server ~]# systemctl start openvpn-server@server
[root@vpn-server ~]#
[root@vpn-server ~]# systemctl status openvpn-server@server
● openvpn-server@server.service - OpenVPN service for server
Loaded: loaded (/usr/lib/systemd/system/openvpn-server@.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2024-04-11 18:46:24 JST; 36min ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Main PID: 5822 (openvpn)
Status: "Initialization Sequence Completed"
Tasks: 1 (limit: 50260)
Memory: 1.0M
CGroup: /system.slice/system-openvpn\x2dserver.slice/openvpn-server@server.service
mq5822 /usr/sbin/openvpn --status /run/openvpn-server/status-server.log --status-version 2 --suppress-timestamps --cipher AES-256-GCM --ncp-ciphers AES-256-GCM:>
Apr 11 18:46:24 vpn-server systemd[1]: Starting OpenVPN service for server...
Apr 11 18:46:24 vpn-server systemd[1]: Started OpenVPN service for server.
■作業端末にClientツールを導入する
下記を参考にさせていただきました。
https://qiita.com/horus19761108/items/86c4ae1f44707d5d847e
下記からダウンロード
https://www.vpnux.jp/download
インストールの際はバージョンは2.6を選択します。
あらかじめ必要なファイルを再確認しておきます。
■中間証明書
/etc/openvpn/easy-rsa/pki/ca.crt
■クライアントサーバ証明書
/etc/openvpn/easy-rsa/pki/issued/client1.crt
■クライアント秘密鍵
/etc/openvpn/easy-rsa/pki/private/client1.key
上記ファイルを開きメモしておく。
TUNドライバはWinTunを指定しなければ接続に失敗します。
接続ができたことをクライアント側でも確認します。
C:\Users\81803>ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .:
不明なアダプター OpenVPN Wintun:
接続固有の DNS サフィックス . . . . .:
リンクローカル IPv6 アドレス. . . . .: fe80::c553:61e6:88f8:c934%50
IPv4 アドレス . . . . . . . . . . . .: 10.0.8.6
サブネット マスク . . . . . . . . . .: 255.255.255.252
デフォルト ゲートウェイ . . . . . . .:
不明なアダプター ローカル エリア接続 2:
メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .:
Wireless LAN adapter ローカル エリア接続* 1:
メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .:
Wireless LAN adapter ローカル エリア接続* 2:
メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .:
Wireless LAN adapter Wi-Fi:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.0.25
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.0.1
一旦serverだけ立てて疎通確認
C:\Users\81803>ping 10.0.1.149
10.0.1.149 に ping を送信しています 32 バイトのデータ:
10.0.1.149 からの応答: バイト数 =32 時間 =13ms TTL=63
10.0.1.149 からの応答: バイト数 =32 時間 =12ms TTL=63
10.0.1.149 からの応答: バイト数 =32 時間 =13ms TTL=63
10.0.1.149 の ping 統計:
パケット数: 送信 = 3、受信 = 3、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 12ms、最大 = 13ms、平均 = 12ms
Ctrl+C
^C
C:\Users\81803>
対象サーバへローカルIPで接続できたことを確認。
SSHも接続できた。
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Thu Apr 25 11:30:32 2024 from 自宅IP
[opc@server ~]$ sudo su -
Last login: Thu Apr 25 11:30:35 JST 2024 on pts/0
[root@server ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:17:00:b4:fb brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
inet 10.0.1.149/24 brd 10.0.1.255 scope global dynamic noprefixroute eth0
valid_lft 76895sec preferred_lft 76895sec
inet6 fe80::17ff:fe00:b4fb/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@server ~]#
長くなったので、次の工程は下記で行います。
https://qiita.com/Cache-Hit/items/e1830cafe52f20366c45