OpenVPN : VPN クライアントの設定 (Ubuntu)2024/07/19 |
OpenVPN クライアントの設定です。Ubuntu を例にします。
当例では以下のような環境で OpenVPN サーバーを設定しています。
設定により、サーバー/クライアント上の [tun] インターフェースは自動設定され、クライアントは VPN 接続後、VPN サーバーのローカルネットワーク宛てへアクセス可能となります。
下例の場合は、前提として、ルーター側で NAT の設定が必要です。
(WAN 側から x.x.x.x:1194 (udp) 宛にきたパケットを LAN 側の 10.0.0.29:1194 (udp) へフォワード) +----------------------+ | [ OpenVPN Server ] |172.16.100.1 | dlp.srv.world +--------+ | |tun | +-----------+----------+ | enp1s0|10.0.0.30 | | | | Local Network | 10.0.0.1| | +------+-----+ | -------| Router |-------------|----- +------+-----+ | | | | Internet | --------------+-------------------|----- | | | Local Network | 192.168.0.31| | +-----------+----------+ | | |tun | | VPN Client +--------+ | |172.16.100.x +----------------------+ |
[1] |
事前に、サーバー側で作成した [ca.crt], [client1.crt], [client1.key], [ta.key] を、設定するクライアントに転送しておきます。
|
[2] | OpenVPN をインストールします。 |
root@client:~# apt -y install openvpn
|
[3] | OpenVPN クライアントの設定です。 |
# サンプル設定ファイル コピー root@client:~# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/
root@client:~#
vi /etc/openvpn/client/client.conf # 36行目 : OpenVPN サーバーの設定ファイルで指定したプロトコル ;proto tcp proto udp # 42行目 : OpenVPN サーバーのグローバル IP とポート remote 172.16.2.1 1194 # 54行目 : 名前解決を継続 resolv-retry infinite # 58行目 : ローカルポートをバインドしない nobind # 65行目 : persist オプションを有効にする persist-key persist-tun # 88行目 : サーバーから転送した証明書と鍵ファイルのパス ca ca.crt cert client1.crt key client1.key # 88行目 : サーバーから転送した TLS-Auth キーファイルのパス tls-auth ta.key 1 # 124行目 : ログレベル verb 3 # VPN インターフェース起動 # openvpn-client@(設定ファイルの拡張子 [.conf] を除いた名前) root@client:~# systemctl enable --now openvpn-client@client
ip addr 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 noprefixroute valid_lft forever preferred_lft forever 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:25:f5:7e brd ff:ff:ff:ff:ff:ff inet 192.168.0.31/24 brd 192.168.0.255 scope global enp1s0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe25:f57e/64 scope link valid_lft forever preferred_lft forever 5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500 link/none inet 172.16.100.6 peer 172.16.100.5/32 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::b773:ac4a:760a:dd2/64 scope link stable-privacy valid_lft forever preferred_lft forever |
[4] | VPN 接続が確立できたら、クライアントからサーバー側のローカルネットワークにアクセスできるか確認しておくとよいでしょう。 |
root@client:~# ping -c 3 10.0.0.30 PING 10.0.0.30 (10.0.0.30) 56(84) bytes of data. 64 bytes from 10.0.0.30: icmp_seq=1 ttl=64 time=1.29 ms 64 bytes from 10.0.0.30: icmp_seq=2 ttl=64 time=1.36 ms 64 bytes from 10.0.0.30: icmp_seq=3 ttl=64 time=1.35 ms --- 10.0.0.30 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 1.287/1.331/1.361/0.031 msroot@client:~# ping -c 3 10.0.0.10 PING 10.0.0.10 (10.0.0.10) 56(84) bytes of data. 64 bytes from 10.0.0.10: icmp_seq=1 ttl=63 time=1.31 ms 64 bytes from 10.0.0.10: icmp_seq=2 ttl=63 time=1.57 ms 64 bytes from 10.0.0.10: icmp_seq=3 ttl=63 time=1.55 ms --- 10.0.0.10 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 1.314/1.476/1.570/0.115 ms |
Sponsored Link |