Help us understand the problem. What is going on with this article?

図解!UbuntuでOpenVPNを使う:4. 接続確認

More than 3 years have passed since last update.

はじめに

図解!UbuntuでOpenVPNを使う:3. 設定の続きです.

前回まででVPN接続に必要な設定はすべて完了しています.いよいよVPNでの接続確認です^^

図解!UbuntuでOpenVPNを使う:目次

  1. 準備
    1. VPNの接続方式
    2. OpenVPN のインストール
    3. ファイアウォール設定
    4. VPNサーバ側のルータのグローバルIP確認
    5. ルータからVPNサーバへのポートフォワード設定
  2. 証明書と認証鍵の作成
    1. 簡易認証局(easy-rsa)関連
    2. VPNサーバ関連
    3. VPNクライアント関連
  3. 設定
    1. OpenVPN サーバ設定
    2. OpenVPN クライアント設定
  4. 接続確認 ← イマココ
    1. OpenVPNの起動
    2. 仮想tunデバイスの確認
    3. ping 確認
    4. netcat 確認

環境

  • OS: VPNサーバ/クライアント共に Ubuntu 14.04
  • VPNアプリケーション:OpenVPN 2.3.2

1. OpenVPN 接続確認

仮想tunデバイスの確認,pingnetcatによる双方からの接続確認を行います.

OpenVPNの起動

VPNサーバ/クライアント共に,下記コマンドを実行して下さい.

(command)
$ service openvpn start

サーバ側のログの最後に次のような表示が出れば,接続成功です.

(command)
$ cat /etc/openvpn/openvpn.log
(output)
(日付) mycli/210.150.14.177:58485 SENT CONTROL [mycli]: 'PUSH_REPLY,route 192.168.179.0 255.255.255.0,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 192.168.179.1,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5' (status=1)

2. 仮想tunデバイスの確認

04_vpn_tun_check.png

VPNサーバ

仮想tunデバイスで接続できたことを確認します.

(command)
$ ifconfig
(output)
tun0      Link encap:不明なネット  ハードウェアアドレス 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inetアドレス:10.8.0.1  P-t-P:10.8.0.2  マスク:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  メトリック:1
          RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:12 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:100 
          RXバイト:0 (0.0 B)  TXバイト:1284 (1.2 KB)

VPNクライアント

こちらのネットワークでも仮想tunデバイスで接続できたことを確認します.

(command)
$ ifconfig
(output)
tun0      Link encap:不明なネット  ハードウェアアドレス 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inetアドレス:10.8.0.6  P-t-P:10.8.0.5  マスク:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  メトリック:1
          RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:12 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:100 
          RXバイト:2892 (2.8 KB)  TXバイト:504 (504.0 KB)

3. ping 確認

VPNクライアント→VPNサーバ

仮想tunゲートウェイへの接続を確認します.

05_ping_cli_to_srv.png

(command)
$ ping 10.8.0.1
(output)
PING 10.8.0.6 (10.8.0.6) 56(84) bytes of data.
64 bytes from 10.8.0.6: icmp_seq=1 ttl=64 time=188 ms
...

VPNサーバの実アドレスのゲートウェイへの接続も確認します.

06_ping_cli_to_srv2.png

(command)
$ ping 192.168.179.7
(output)
PING 10.8.0.6 (10.8.0.6) 56(84) bytes of data.
64 bytes from 10.8.0.6: icmp_seq=1 ttl=64 time=188 ms
...

VPNサーバ→VPNクライアント

こちらは仮想tunデバイスの接続のみ確認です.実アドレスが確認できるのは,VPNサーバのゲートウェイである192.168.179.7のみのようです.

07_ping_srv_to_cli.png

(command)
$ ping 10.8.0.6
(output)
PING 192.168.179.7 (192.168.179.7) 56(84) bytes of data.
64 bytes from 192.168.179.7: icmp_seq=1 ttl=64 time=200 ms
...

4. netcat 確認

簡易チャットツールnetcatを使って,VPN経由での相互のデータ授受を確認します.

VPNサーバ側をnetcatサーバとした場合

08_netcat_vpnserver1.png

VPNサーバ(netcatサーバ)で下記コマンドを実行します.

(command)
$ nc -l 1194

VPNクライアント(netcatクライアント)で下記コマンド実行します.

(command)
$ nc 10.8.0.1 1194
  • VPNクライアントから適当に文字を打ち込んでENTERしたら,VPNサーバ側に同じ文字列が表示されるはずです.
  • VPNサーバからも同様に適当に文字を打ち込めば,VPNクライアントに同じ文字列が表示されます.

ついでに,実アドレスびゲートウェイにも打っておきましょう.

09_netcat_vpnserve2r.png

VPNクライアント(netcatクライアント)で下記コマンド実行し,再度チャットをしてみます.タイプされた文字列が送受信できることを確認します.

(command)
$ nc 192.168.179.7 1194

VPNクライアント側をnetcatサーバとした場合

10_netcat_vpncli.png

VPNクライアント(netcatサーバ)で下記コマンドを実行します.

(command)
$ nc -l 1194
  • VPNサーバ(netcatクライアント)で下記コマンド実行します.
(command)
$ nc 10.8.0.6 1194

あとは同様に文字を打ち込んで,相手側で表示されれば成功です.

お疲れ様でした!

おわりに

ようやくOpenVPNを利用したルーティング方式による接続ができました.

01_システム構成.png

11_all_files_with_conf.png

いかがでしたでしょうか?初見だと結構壮大な設定のように思えます^^;

ただ,今回はサーバとクライアントが1対1で接続するという極めてシンプルな構成での設定です.ここからクライアントの数を増やそうと思うとOS側でルーティング設定を追加する必要があります ^^;

当方ではとりあえず1対1通信ができればいいので,今回はコレにてお開きといたします^^

最後までお読み頂いた方,本当にありがとうございます.

参考文献

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした