Twitterに投稿 はてなブックマークに追加 Yahoo!ブックマークに追加 Google Bookmarksに追加

目次 >> OpenVPN

OpenVPNの設定

LinuxにWindowsから共有キーを使ったOpenVPNで接続することを考える。

この接続方法は、LAN外のクライアントパソコンからLAN内のサーバに直接接続し、ファイルの読み書きをするのに適している。
もしLAN内のパソコンに外部のサーバを共有したい場合はより安定したsftp+sambaの構成をおすすめする。くわしくははこちら

インストール

FC4、FC5、openSUSE 10.0ともyumおよびyastからインストールできる。FC5の場合は下記のような形でインストールできるはずである。

# yum install openvpn
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core [1/3]
updates [2/3]
extras [3/3]
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for openvpn to pack into transaction set.
openvpn-2.1-0.10.beta14.f 100% |=========================| 19 kB 00:00
---> Package openvpn.i386 0:2.1-0.10.beta14.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: liblzo.so.1 for package: openvpn
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for lzo to pack into transaction set.
lzo-1.08-7.fc5.i386.rpm 100% |=========================| 3.7 kB 00:00
---> Package lzo.i386 0:1.08-7.fc5 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
openvpn i386 2.1-0.10.beta14.fc5 extras 355 k
Installing for dependencies:
lzo i386 1.08-7.fc5 extras 63 k

Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 418 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): lzo-1.08-7.fc5.i38 100% |=========================| 63 kB 00:03
(2/2): openvpn-2.1-0.10.b 100% |=========================| 355 kB 00:10
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: lzo ######################### [1/2]
Installing: openvpn ######################### [2/2]

Installed: openvpn.i386 0:2.1-0.10.beta14.fc5
Dependency Installed: lzo.i386 0:1.08-7.fc5
Complete!

Windowsの場合はGUI版があるのでここからダウンロードしてインストールする。

以降、ともにデフォルトの設定のままであると仮定する。

共有キーの作成

$ openvpn --genkey --secret openvpn.key

とタイプ。これで、openvpn.keyというファイルが作成される。この共有キーファイルは自由に名前を付けてよい。

Linuxサーバ側の設定

作成した共有キーファイルを/etc/openvpnフォルダに置く。また、chmodは600にしておく。

次に、/etc/openvpn/openvpn.confというファイルを作成する。内容は

proto udp
port 5500

dev tap

secret /etc/openvpn/openvpn.key
link-mtu 1200

ping 10
ping-restart 60
ping-timer-rem
persist-key
persist-tun
verb 3

ifconfig 192.168.200.1 255.255.255.0

起動、停止、再起動は、

# /etc/init.d/openvpn start
# /etc/init.d/openvpn stop
# /etc/init.d/openvpn restart

/etc/openvpn/ディレクトリ内のconfファイルは拡張子がconfで終わっていれば名前は何でもよい。複数のconfファイルがあると、その数だけOpenVPNサーバが起動される。その場合、ポート番号を重ならないようにしておくこと。

サーバ起動時に自動起動するようにするには、

# chkconfig openvpn on

念のため確認

# chkconfig openvpn --list
openvpn 0:off 1:off 2:off 3:on 4:off 5:on 6:off

WindowsからGUIで使う

まずは、Linux側で作成した共有キーファイルを

C:\Program Files\OpenVPN\config

にコピーする。

同じフォルダにexample.ovpnというファイルを作り、下記のような内容にする。

remote example.com
port 5500
dev tap
verb 3
ping 60

secret openvpn.key

ifconfig 192.168.200.100 255.255.255.0

タスクトレイから接続する。

なお、ここで、たとえ100MbpsのLANカードが刺さっていても、10Mbpsで接続されたと出るが、実際には10Mbps以上でも通信可能であるので気にする必要はない。

すべての接続をOpenVPN経由にするには?

これだけでは、サーバには接続できても、サーバのsambaのディレクトリが見える程度であり、依然としてインターネットなどへのアクセスは、OpenVPNを経由せずに、直接接続される。これをすべてOpenVPN経由でつなぐようにするには、Windows側のルーティングテーブルを変更する必要がある。



最終更新日


本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて17.04、18.04のようにバージョン番号をつけて区別しています。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2014 Chikuma Engineering Co., Ltd. All Rights Reserved.