HOMERSSサイトマッププロフィールお問い合せ

「VPN」 カテゴリー

1つ前のカテゴリーは、ダイナミック DNS です。 次のカテゴリーは、メール・サーバー です。

2008年9月 3日

再びOpenVPNを使うことに

退職後はVPNが必要になる場面はまったくなかったのだが、お客の事情から再び設定することになった。

お客はVPNに有名なのか知らないがNetScreenを使っている。
家から接続するとネットログインは100%出来るのだがサーバーに接続すると殆ど使い物にならない状態で、サーバーからの信号が行方不明になっている感じがした。
迷子のパケットは調子がいい時は暫くすると届いたりするのだが・・・
我が家のNAT越えが難しくなっているのかとルータを外して試してみると、少しはましになったがやはり難儀この上ない状態だった。
お客にはNetScreenを設定できる人がいなく、テストするだけでお金が掛かるようなので諦めた。

そこで、、、かって厄介になったOpenVPNを再び使うことに・・・
我が家のサーバーにOpenVPNを立ち上げ、お客のサーバーと我が家のPCをこれに接続してリモート操作出来るようにした。

VPNサーバーの設定は次の2点を設定変更した程度であっと言う間に使えるようになった。(これは嘘で、、、かってほど苦労しなかったと言うだけ)

    1).NAT越えが必要なので、それに強いと言われているTCP(UDPで確認するとパケット迷子が発生)を使用。
    2).クライアント間の通信なので設定ファイルの"client-to-client"のコメントを外す。
以上でるんるんに接続完了。


なお、
Windows Vistaをクライアントに使うとき(最新バージョンで対応できている。):

1).openvpn-2.1_rc9-install.exeを使ってインストール。
2).openvpn.exeのプロパティを「管理者権限で起動」に設定する。
3).設定ファイル"client.ovpn"を右クリックし、「Start OpenVPN on this config」で接続。(なお、openvpn-guiで起動すると、切断できなくなるので止めとこ!)
4).切断はF4キーを下押し。
5).その他で、、、ファイアウォール(Windows、antivirusソフト)に注意のこと。

こんなところか。

投稿者: 管理者 日時: 2008年9月 3日 14:53 | | コメント (0) | トラックバック (0)

2007年1月10日

OpenVPN の最終的な調整・・・になることを祈って・・・

Vine Linux 4.0 へのアップデートもそろそろ終盤に入った。

前々から気になっていた OpenVPN 関連の設定には相変わらず混乱しているが、現在のところ納得できる状況にはなったので以前のメモに追加しておく。


1). ローカルネット上の全てのPCのデフォルト・ゲートウェイはブロードバンドルータを指すようにする。

2). IPフォワードを有効にする。( /etc/sysctl.conf )

    net.ipv4.ip_forward = 1

    すぐに有効にするのであれば
    # sysctl net.ipv4.ip_forward=1

3). サーバ側の静的NATを設定する。

    # iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 192.168.1.0/24 -j SNAT --to-source 192.168.1.100

4). もし、、、VPN 経由で他のPCをリモートするのなら VPN サーバのファイアウォールに穴を開けておくこと。

    たとえば、Windows リモートディスクトップの場合はポート 3389 番

投稿者: 管理者 日時: 2007年1月10日 20:42 | | コメント (0) | トラックバック (0)

2006年12月29日

( Vine Linux 4.0 ) に向けて・・・OpenVPN の移行メモ

前回と同じように OpenVPN をダウンロードしてインストールしようとしたが、依存しているパッケージのうち lzo-devel は apt-get で用意されていなかったので http://ftp.jaist.ac.jp/pub/Linux/Vine/VinePlus/3.2/i386/RPMS.extras/ にあった lzo-2.02-0vl1.i386.rpm と lzo-devel-2.02-0vl1.i386.rpm を持ってきてインストールした。

注意1).

    前のようにキーを作成し環境を整えて起動下のだが、キーファイルロード出来ないと言うようなエラーが帰ってきて起動できなかった。

    一度 OpenVPN を再インストールして一から設定しなおすと起動できた。インストール時に OpenVPN はサービスに登録されていたので登録を一旦削除した。

注意2).

    ローカルネットではすでに OpenVPN が起動しているので、バーチャルネットを 10.8.1.0/24 に変更して起動した。


・・・なんか引っかかるものがあるが多分大丈夫だろう・・・と思う。

投稿者: 管理者 日時: 2006年12月29日 16:32 | | コメント (0) | トラックバック (0)

2006年9月16日

(復興作業)OpenVPN のインストール(4)

こんがらがってきたネット設定・・・

とりあえず、インターネット側から VPN を張って、ping を飛ばすとサーバー側の LAN が見えた。しかし、一台のマシンが見えなかったことから調査をすると、見えたマシンは以前の状態のままだったようでデフォルトのゲートウェイがこのサーバーを指していた。
一方、見えなかったマシンはデフォルト・ゲートウェイはインターネットへの出口のルーターを指していた(これが普通)。そこで、とりあえずこのマシンもサーバーを指すように変えた。まだテストしていないが、見えるようになったと思う。

さて、、、よく分からん事に・・・

    1) サーバーのデフォルト・ゲートウェイはインターネット・ルーターを指し、同じローカルネット上のその他のマシンのデフォルト・ゲートウェイはサーバーを指している。

    2) サーバーには ルーティングVPN サーバーが動いていて、実LAN と違ったローカルネットを持っている。

    3) インターネット側から VPN でサーバー側の LAN が見える。

    4) サーバー側の LAN上のPCはインターネットに出れる。

    5) インターネットVPN 側からルーターが見える。


よく分からないのは、何故 4) が可能なのか???

なにより、、、何故 5) が出来るのか???・・・ ping を飛ばされたルーターはどうして VPN のありか(サーバーだが)が分かるのか???

この状態では会社では使えない。

ネットは、、、やはり難しい!

投稿者: 管理者 日時: 2006年9月16日 09:10 | | コメント (0) | トラックバック (0)

2006年9月15日

(復興作業)OpenVPN のインストール(3)

OpenVPN が益々混迷を深めることになっていった。

ブリッジVPN での接続は出来たのだが、どうもスピードが今一なところもあり、サーバーの CPU も変に高負荷状況になっていることからルーティングVPN を再起動してみたところ・・・

1). ブリッジ( tap0,br0 ) を残したまま、ルーティングVPNを起動
2). Windows クライアントをルーティング用に変更して接続
3). ping を飛ばすとサーバー側の LAN が見えた
4). ブリッジが残っていたので "# ./bridge-stop" したところ VPN が死んだ
5). 再びルーティングVPNを起動
6). Windows クライアントから接続が出来なくなった
7). "# ./bridge-start" でブリッジを作った
8). 今度は、Windows クライアントで接続できた
9). そのうちに、、、Windows クライアントのネット接続自体がおかしくなってリブートした
・・・
・・・

・・・訳の分からん状態でこの日は終わった・・・

今日、、、サーバーもリブートして再挑戦すると、通常のルーティングVPN 起動手順どおりで VPN ネットが張れ、サーバー側の LAN も見えた(とりあえず、ping は飛んだ)・・・

やれやれ、、、どうなっているのやら・・・の気持ちだが、スピードもルンルンで、サーバーのCPU も正常なこともあり、当面はこのまま使用することにした。

投稿者: 管理者 日時: 2006年9月15日 08:00 | | コメント (0) | トラックバック (0)

2006年9月14日

(復興作業)OpenVPN のインストール(2)

前に引き続き、、、ルーティングからブリッジ型VPN へ変更。

レイヤー2を使うブリッジの方が、非IPのプロトコルも含めなんでもござれという状態になるので、設定後はなにかと便利かと思うが、なにか重たそうで気が進まなかった。

とりあえず、、、サーバーには2枚の NIC が刺さっているので、2枚目の NIC でブリッジVPNを構築する。

1). まず、休眠状態だった NIC を GUIで設定した。幸い、Linux のインストール時に認識してくれていたようで、IP等を与えるだけで稼動した。

2). パッケージ bridge-utils がインストールされているか確認して、なければインストールする。

    # apt-get install bridge-utils
3). サンプル・スクリプト( bridge-start, bridge-stop )をコピーし、修正する。
    bridge-start 及び bridge-stop のコピー
    # cp /usr/share/doc/openvpn-2.0.7/sample-scripts/bridge* /etc/openvpn

    bridge-start の修正
    br="br0"
    tap="tap0"
    eth="eth1"
    eth_ip="192.168.1.200"
    eth_netmask="255.255.255.0"
    eth_broadcast="192.168.1.255"
4). server.conf を変更
    ルーティングVPN時の設定からの変更箇所
    ;dev tun
    dev tap0
    ;server 10.8.0.0 255.255.255.0
    server-bridge 192.168.1.200 255.255.255.0 192.168.1.201 192.168.1.254 → server-bridge 192.168.1.1・・・に変更した。(サーバーが使っているゲートウェイのIP)
    push "route 192.168.1.0 255.255.255.0"
5). 新しく作った tap0 と br0 インターフェースをパケットが自由に流せるように Linux ファイアウォールを設定する。
    (注) これは HOW TO にあったもので、意味は分かったような、そうでもないような・・・とりあえず設定した。
    # iptables -A INPUT -i tap0 -j ACCEPT
    # iptables -A INPUT -i br0 -j ACCEPT
    # iptables -A FORWARD -i br0 -j ACCEPT

6). 手動で起動
    # /etc/openvpn/bridge-start
    # openvpn /etc/opencpn/server.conf

    (注) 停止する時は  ctrl + c に続いて # /etc/openvpn/bridge-stop


7). Windows クライアントから接続と確認
    Windows の設定ファイル ( client.ovpn ) の "dev tun" を "dev tap" に変更して接続する。

    ping を飛ばして確認したところ、ルーティングVPN の時と同じように、サーバー側LAN が見えなかった・・・


8). パケット転送(フォワーディング)機能の確認
    "# sysctl -a" で設定を確認したところ、機能が停止されていたので、"# sysctl -w net.ipv4.ip_forward=1" と設定し、再起動、確認したところやっと見えるようになった。

    そこで、設定ファイル( /etc/sysctl.conf )を修正しておく。


9). 自動実行
    OpenVPN の起動実行スクリプト ( /etc/init.d/openvpn ) には起動時には /etc/openvpn/openvpn-shartup 、停止時には /etc/openvpn/openvpn-shutdown スクリプトがそれぞれ起動されるようになっているのでリンクを作っておけば自動実行できる。
    # cd /etc/openvpn
    # ln -s bridge-start openvpn-startup
    # in -s bridge-stop openvpn-shutdown

・・・これでめでたく完成!と思いきや、使い始めると重たいこと重たいこと。使えない状態ではないが、前のルーティングVPNの時とは大違いで気が重くなった。

もう一度、、、ルーティングVPN にトライしようかとも考えている・・・ガッカリ

投稿者: 管理者 日時: 2006年9月14日 20:52 | | コメント (0) | トラックバック (0)

2006年9月12日

(復興作業)OpenVPN のインストール(1)

*** 本文は、キャッシュに残っていた OpenVPN のインストール手順を再現したもので、少し手を入れて分かりやすくしたものです。***

仕事柄、会社から家のサーバーに接続する必要に迫られることが多く、少しでも安全にということから VPN(バーチャル・プライベート・ネットワーク)を利用している。(会社では実際テストすることがセキュリティ上困難な場合が多く、家のサーバーをモルモットにしている)

当初、かの有名な SoftEther を使って VPNを張っていたのだが、新しいバージョン PacketiX になってからライセンスが複雑なものとなり、というよりは Free License が殆ど使用できないような状況になったこと。また、我が家のサーバーも Windows から Linux に交替することもあり、この際フリーな OpenVPN に切り替えることにした。

PacketiX についても60日ライセンスを取得して Linux 上にインストールして数週間使ってみたがなななか安定動作をしていた。インストールについては SoftEther社のWebサイトのマニュアルに加え、JINOの憂鬱というサイトを参考にコマンドモードでインストールおよび設定をしたが、難なく出来た。

さて、OpenVPN のインストールだが、OpenVPN 2.0 HOWTO 日本語訳 を宇都宮大学工学部の学生さん(それとも先生?)が出していたので参考にさせてもらいながら手本どおりにインストールした。

インストールのあらましは次のとおり・・・

1). OpenVPN のダウンロード(openvpn-2.0.5.tar.gz) → openvpn-2.0.7.tar.gz にバージョンが上がっていた。

2). バイナリーRPMパッケージのビルド(openssl,lzo,pamなどの依存パッケージが必要)

    依存パッケージをインストール
    # apt-get install openssl-devel
    # apt-get install pam-devel

    lzo-devel も必要なのだが apt-get では見つからなかったので探す。
    Vine Linux では lzo パッケージは extras にあるようなので、ソースリスト ( /etc/apt/sources.list ) に exreas を追加して
    # apt-get update
    # apt-get install lzo-devel

    次に、rpm ファイルをビルドする。
    $ rpmbuild -tb openvpn-2.0.7.tar.gz
3). インストール
    ホームから・・・
    # rpm -ivh rpm/RPMS/i386/openvpn-2.0.7-1.i386.rpm

4). マスタCA証明書と鍵を生成

    先ず、/usr/share/doc/openvpn-2.0.7/easy-rsa/vars ファイルの次の箇所を編集する。
    export KEY_COUNTRY=JP
    export KEY_PROVINCE=Shiga
    export KEY_CITY=Konan
    export KEY_ORG="Bit-Consul-NET"
    export KEY_EMAIL="xxxxxxxx@bit-consul.net"

    次に、PKI を初期化し、認証局(CA)の証明書と鍵を生成する。
    # cd /usr/shara/doc/openvpn-2.0.7/easy-rsa
    # . ./vars
    # ./clean-all
    # ./build-ca

    (手動での設定例)
    Common Name (eg, your name or your server's hostname) []:OpenVPN-CA

5). サーバー証明書と鍵を生成

    # ./build-key-server server

    (手動での設定例)
    Common Name (eg, your name or your server's hostname) []:server
    Sign the certificate? [y/n]:y
    1 out of 1 certificate requests certified, commit? [y/n]y

6). クライアントの証明書と鍵を生成(コマンド './build-key client1')

    client1,client2,client3 の3つのキーを作成
    # ./build-key client1
    # ./build-key client2
    # ./build-key client3

    (手動での設定例)
    Common Name (eg, your name or your server's hostname) []:client1

7). DH(Diffie Hellman)パラメータを生成
    OpenVPNサーバーにはこれが必要らしい。
    # ./build-dh

8). サーバー設定ファイルの編集と準備
    a) keys サブディレクトリに新規に作成した鍵と証明書のうち、サーバーに必要なもの( ca.crt, dh1024.pem, server.crt, server.key ) を /etc/openvpn にコピー

    b) /usr/shara/doc/openvpn-2.0.5/sample-config-files/server.conf を /etc/openvpn にコピーして編集する。
    デフォルトからの変更箇所

    proto tcp → 以前もそうだったように udp から tcp 利用に変更
    ca /etc/openvpn/ca.crt
    cert /etc/openvpn/server.crt
    key /etc/openvpn/server.key
    dh /etc/openvpn/dh1024.pem

9). サーバーの起動確認
    # openvpn /etc/openvpn/server.conf

    出力が、Initialization Sequence Completed で終われば正常。
    (注) RPMパッケージでインストールする場合、インストーラーが initscript を設定するようで、ランレベル3,4,5 でサービス起動できる。

10). Windows クライアントを作成
    a) OpenVPN の公式サイトから Windows版のインストーラーをダウンロードする。

      なんと、作業をしている最中に新しいバージョンがリリースされていた( openvpn-2.0.8-install.exe )が、今回はWindowsクライアントは壊れてはいないので、旧バージョンのまま(var 2.0.5)使用することにした。

    以前の設定では、、、
    b) インストールされたクライアントの設定ファイル "C:\Program Files\OpenVPN\sample-config\client.ovpn" 適当な場所にコピーして、編集

      設定されている項目のリスト
      client
      dev tun
      proto tcp
      remote robibuta.com 1194 → 旧のドメインで、このHPはもう復興できない・・・
      resolv-retry infinite
      nobind
      persist-key
      persist-tun
      ca ca.crt
      cert client2.crt
      key client2.key
      comp-lzo
      verb 3

    c) 同じ場所に、作成した鍵と証明書のうち、クライアントに必要なもの( ca.crt, client2.crt, client2.key ) をコピー

    d) 接続を確認

      client.ovpn を右クリックし、Start OpenVPN on this config file をクリックして接続する。サーバーと同じように出力が、Initialization Sequence Completed で終われば正常。

      プロキシサーバーを使っているのであればプロキシ経由の接続確認も・・・


    e) VPNアクセスをテストしてみよう
      C:\ ping 10.8.0.1 → サーバーのVPNアドレス

      ping が成功すればOK!

11). サーバー側 LAN にアクセスするために、/etc/openvpn/server.conf に追加設定
    push "route 192.168.1.0 255.255.255.0"

・・・というところで、サーバーの実アドレスへの ping が成功した。しかし、サーバー側の LAN に ping を飛ばしたところことごとく失敗した。
そこで、フォワーディング機能の確認とか、ゲートウェイの設定とか、、、いろいろやったのだがうまくいかず、ルーティングVPNの方が設定が楽なはずだが、これ以上時間を失いたくないので、ブリッジVPNに設定変更することにした。

それにしても、、、崩壊前のサーバーではルンルン気分でルーティングVPNが動いていたのにどうなっているのだろう???・・・ひょっとすると、前は PacketiX(SoftEther) をガチャガチャとインストールした後に OpenVPN を入れたので気がつかないうちに何らかの設定をしていたのかも知れない。

記録も記憶も失われたので・・・なんともできない。 次に行こう・・・

投稿者: 管理者 日時: 2006年9月12日 20:04 | | コメント (0) | トラックバック (0)