OpenVPN サンプル
OpenVPN サンプル ドキュメント
I. サーバーの展開
-
- パッケージのインストール
1sudo apt-get install openvpn
-
- 証明書の生成
1# cp -R `/usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/`
2# `cd /etc/openvpn/easy-rsa/2.0/`
3# `./clean-all`
4# `./build-ca`; プロンプトに従って情報を入力し、ルート証明書を作成します。
5# `./build-key-server server`; プロンプトに従って情報を入力し、サーバーキーを作成します。
6# `./build-key shanghai`; 上海用のクライアントキーを作成します。
7# `./build-key shenzhen`; 深セン用のクライアントキーを作成します。
8# `./build-key other`; バックアップ用のクライアントキーを作成します。
9異なるキーを作成する目的は、接続地域を区別し、固定IPアドレスを割り当てることです。共通名(例:ユーザー名、サーバーのホスト名)は、各クライアントで同じにすることはできません。また、サーバーキーと同じにすることもできません。同じにすると、生成に失敗します。
10# ./build-dh ; DH を生成
11# openvpn --genkey --secret ta.key ; TLS-AUT 証明書を生成
12# cp server.crt server.key dh2048.pem ca.crt ta.key /etc/openvpn/
-
- サービス設定
1 # vi /etc/openvpn/server.conf ;创建配置文件
2 port 1195
3 proto udp
4 dev tap
5 ca ca.crt
6 cert server.crt
7 key server.key # This file should be kept secret
8 dh dh2048.pem
9 server 10.10.101.0 255.255.255.248
10 ifconfig-pool-persist ipp.txt
11 push "route 192.168.1.0 255.255.255.0"
12 client-config-dir ccd
13 keepalive 10 120
14 tls-auth ta.key 0
15 comp-lzo
16 user nobody
17 group nobody
18 persist-key
19 persist-tun
20 status openvpn-status.log
21 verb 3
22 # vi /etc/openvpn/ipp.txt ;分配客户端IP
23 shanghai,10.10.101.2
24 shenzhen,10.10.101.3
25 other,10.10.101.4
-
- ゲートウェイ設定:サーバー起動時に、IP転送を有効にし、ローカルマシンをオフィスネットワークへのゲートウェイとして設定します。
1# vi /etc/openvpn/startserver.sh ;起動スクリプトを作成
2#!/bin/bash
3/usr/sbin/openvpn --daemon --config /etc/openvpn/server.conf
4sleep 5
5echo 1 > /proc/sys/net/ipv4/ip_forward
6ip ro add 10.10.0.0/16 via 10.10.101.2 dev tap0 src 192.168.1.213
7ip ro add 192.168.20.0/24 via 10.10.101.3 dev tap0 src 192.168.1.213
8
9(`src` の設定は非常に重要です。設定しないと、IDC 内の他のマシンは OA システムに ping できますが、ゲートウェイマシンは ping できません。できません。)
-
- サービスを起動します
1/etc/openvpn/startserver.sh
-
- 起動時にサービスを起動します
1echo "/etc/openvpn/startserver.sh" >> /etc/rc.local
-
- すべての IDC サーバーでスタティックルートを設定し、オフィスネットワークの IP アドレス範囲を作成したゲートウェイに向けます
1# /sbin/ip` `ro add 10.10.0.0/16 via 192.168.1.213
2# /sbin/ip `ro add 192.168.20.0/24 via 192.168.1.213
II.クライアントの展開
-
- パッケージのインストール
1apt-get install openvpn
-
- サーバーで生成されたクライアントキー (ca.crt、shanghai.crt、shanghai.key、ta.key) をクライアントの
/etc/openvpn/conf/ディレクトリにアップロードします。
- サーバーで生成されたクライアントキー (ca.crt、shanghai.crt、shanghai.key、ta.key) をクライアントの
-
- クライアント設定ファイルを作成します。
1/etc/openvpn/conf/client.ovpn
2client
3remote 183.57.37.213 1194
4dev tap
5proto udp
6resolv-retry infinite
7nobind
8persist-key
9persist-tun
10ca /etc/openvpn/conf/ca.crt
11cert /etc/openvpn/conf/shanghai.crt
12key /etc/openvpn/conf/shanghai.key
13ns-cert-type server
14comp-lzo
15verb 3
16tls-auth /etc/openvpn/conf/ta.key 1
-
- クライアントを起動します。
1/usr/sbin/openvpn /etc/openvpn/conf/client.ovpn &
2出力結果を確認し、サーバーへの接続が正常で、IPアドレスが取得されていることを確認します。また、`ifconfig` を使用して、TAPデバイスが存在するかどうかを確認することもできます。
-
- ゲートウェイ設定
1IDCには、OAシステムにパケットを転送するゲートウェイがあります。オフィスネットワークにも、IDCにパケットを転送するためのゲートウェイが必要です。
2
3接続が成功すれば、このクライアントマシンはIDCデバイスに接続できるようになります。また、オフィスネットワーク上の他のデバイスがクライアントマシンを介してIDCに接続できるように、このクライアントマシンをゲートウェイサーバーとして設定する必要があります。
4
5echo 1 > /proc/sys/net/ipv4/ip_forward
6ip ro add 192.168.1.0/24 via 10.10.101.1 dev tap0
7
8オフィスネットワークルーターにスタティックルートを設定し、IDCイントラネットセグメントからのパケットを10.10.1.1に転送します。
9
10テスト済み。通信が可能になりました。
-
- 起動スクリプトを作成する
1/etc/openvpn/conf/startclient.sh
2#!/bin/bash
3/usr/sbin/openvpn /etc/openvpn/conf/client.ovpn &
4sleep 5
5echo 1 > /proc/sys/net/ipv4/ip_forward
6ip ro add 192.168.1.0/24 via 10.10.101.1 dev tap0
最終更新日: Tuesday, November 11, 2025
著作権に関する声明:
- 出典のないコンテンツはすべてオリジナルです。、無断転載はご遠慮ください(転載後にレイアウトが崩れたり、内容が制御不能になったり、継続的に更新できない等の理由から)。
- このブログのコンテンツを非営利目的で解釈したい場合は、(読者の便宜のため)「オリジナル ソース」または「参照リンク」の形式でこのサイトの関連 Web ページ アドレスを提供してください。
このシリーズの投稿:
- ターミナルを素早く隠したり呼び出したりする
- ヒステリーサイエンスインターネットブリーフ
- greetd と regreet の使い方チュートリアル
- 私のツールボックス
- Labwc 簡単設定
- labwc ウィンドウマネージャーの使用