06
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--
LATEST ENTRY
CATEGORY
ARCHIVE
PROFILE
SEARCH
RECENT COMMENT
  • 【情報】Excel で スクレイピング 【ぶっこ抜き】
    縫部尚登 (06/17)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • エクセルファイルのパスワードを忘れたら・・・
    里奈 (09/09)
MOBILE
qrcode
OTHERS
<< 囲碁 フェスティバル 2009 | top | 【カンタン】Excel + MySQL 【データベース接続】 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - |
【暗号】Puppy Linux + OpenVPN【通信】
軽いLinux、Puppy を利用した OpenVPN 暗号通信サーバの構築メモです

VPN(Virtual Private Network)を使って、外部からでも安全に内部ネットワークにアクセスできる環境を作ります
Puppy を普通にインストール後から
この手順は全て 4.1.2 JP を利用した場合のものとなります

■基礎環境設定
・SSH環境の設定
ターミナルで作業をしたいので、SSHでつなげられる環境を作ります
openssh の pet をダウンロードしてお手軽にインストール
http://www.puppylinux.ca/tpp/big_bass/openssh-5.1.pet

最近になってパスワードをかけられたようです
ユーザ名は puppy 、パスワードは linux でダウンロードできます
(このユーザ、パスワードは http://www.puppylinux.ca/ に書いてありました・・ ログインできなかったら変わってるかもなのでチェックしてみてください)

これインストールすると、自動的に spot ユーザが作成されます
んで、ssh ではこの spot ユーザのみがログイン可能になってます
他のユーザでもログイン可能にするためには /usr/etc/sshd_config を編集してください
この pet 、su コマンドの権限変更までやってくれるみたいですね。便利!

参考にしたのは http://puppy.sblo.jp/article/26422263.html
タロ兵衛さんに感謝♪

・不必要なサービスを止める
VPNサーバに必要ない日本語変換サービスとかもろもろ止めます
/etc/init.d/ 配下のファイルの実行権限を削除
# cd /etc/init.d
# chmod -x *

sshd だけは実行権限を復活
# chmod +x rc.sshd

/root/Startup 配下の不用な実行権限を削除
# chmod -x /root/Startup/*

・ネットワークブリッジ用のPETインストール
メニュー セットアップ Puppyパッケージマネージャ を起動
bridge-utils-1.2 をインストール 


・開発環境の作成
開発用の devx_412.sfs ファイルをダウンロード
# cd /mnt/home
# wget http://www.ring.gr.jp/archives/linux/puppylinux/sfs_modules/devx_412.sfs

このファイルはかならず /mnt/home 配下に置くこと

・カーネルソースの取得
カーネルソースのダウンロード
# cd /mnt/home
# wget http://distro.ibiblio.org/pub/linux/distributions/puppylinux/sfs_modules-4/kernel-src-2.6.25.16-patched-puppy4.1.sfs


・起動時に開発環境とカーネルソースを読み込むように設定
メニュー システム BootManager ブートアップの設定 を起動
起動時に読み込む SFS ファイルの選択で、ダウンロードした2ファイルを指定





・オートログインしないように設定
/etc/inittab を変更
変更後
                ::sysinit:/etc/rc.d/rc.sysinit
                tty1::respawn:/sbin/getty 38400 tty1
                tty2::respawn:/sbin/getty 38400 tty2
                ::ctrlaltdel:/sbin/reboot

・ログイン時に X を起動しないように設定
/etc/profile を変更( xwin を起動している部分をコメントアウト )
変更前
              exec xwin

変更後
              # exec xwin

・再起動
普通にメニューから再起動
コマンドラインでやる場合は
# wmreboot

・ネットワークブリッジ用の LLC モジュールインストール
カーネルコンパイル準備
# cd /usr/src/linux-2.6.25.16
# make menuconfig
(コンフィグ画面が開いたら即 Exit )

LLCモジュールのコンパイル
# make M=net/llc
              LD      net/llc/built-in.o
              CC [M]  net/llc/llc_core.o
              CC [M]  net/llc/llc_input.o
              CC [M]  net/llc/llc_output.o
              CC [M]  net/llc/llc_if.o
              CC [M]  net/llc/llc_c_ev.o
              CC [M]  net/llc/llc_c_ac.o
              CC [M]  net/llc/llc_conn.o
              CC [M]  net/llc/llc_c_st.o
              CC [M]  net/llc/llc_pdu.o
              CC [M]  net/llc/llc_sap.o
              CC [M]  net/llc/llc_s_ac.o
              CC [M]  net/llc/llc_s_ev.o
              CC [M]  net/llc/llc_s_st.o
              CC [M]  net/llc/af_llc.o
              CC [M]  net/llc/llc_station.o
              CC [M]  net/llc/llc_proc.o
              CC [M]  net/llc/sysctl_net_llc.o
              LD [M]  net/llc/llc.o
              LD [M]  net/llc/llc2.o
              Building modules, stage 2.
              MODPOST 2 modules
              CC      net/llc/llc.mod.o
              LD [M]  net/llc/llc.ko
              CC      net/llc/llc2.mod.o
              LD [M]  net/llc/llc2.ko
            #


LLCモジュールのインストール
# mkdir -p /lib/modules/2.6.25.16/kernel/net/llc/
# cp -p ./net/llc/*.ko /lib/modules/2.6.25.16/kernel/net/llc/
# ls -l /lib/modules/2.6.25.16/kernel/net/llc/
            total 140
            -rw-r--r-- 1 root root   9917 2009-10-13 21:16 llc.ko
            -rw-r--r-- 1 root root 119825 2009-10-13 21:16 llc2.ko


# echo /lib/modules/2.6.25.16/kernel/net/llc/llc.ko:  >> /lib/modules/2.6.25.16/modules.dep
# echo /lib/modules/2.6.25.16/kernel/net/llc/llc2.ko: >> /lib/modules/2.6.25.16/modules.dep

# modprobe llc
# modprobe bridge
# depmod

(手順の出典:http://murga-linux.com/puppy/viewtopic.php?t=27840

・ネットワークブリッジ用モジュールの起動時読み込み設定
/etc/rc.d/MODULESCONFIG ファイルの ADDLIST 部分を以下のように変更
変更後
        ADDLIST=' llc bridge '


ここまでで、OpenVPNをインストールする下準備完了

■OpenVPN インストール&環境設定
・VPN通信圧縮用ライブラリ
ソースをダウンロードしてコンパイル、インストール
# cd /usr/local/src
# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
# tar xvfz lzo-2.03.tar.gz
# cd lzo-2.03
# ./configure
# make
# make install

インストールを確認
# ls -l /usr/local/lib/liblzo*
            -rw-r--r-- 1 root root 547158 2009-10-13 21:24 /usr/local/lib/liblzo2.a
            -rwxr-xr-x 1 root root    740 2009-10-13 21:24 /usr/local/lib/liblzo2.la


・OpenVPN のコンパイル&インストール
ソースをダウンロードしてコンパイル
# cd /usr/local/src
# wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
# tar xvfz openvpn-2.0.9.tar.gz
# cd openvpn-2.0.9
# ./configure
# make
# make install

インストールを確認
# ls -l /usr/local/sbin
            total 1380
            -rwxr-xr-x 1 root root 1403304 2009-10-13 21:38 openvpn


・OpenVPN 環境の作成(証明書)
専用ディレクトリを作成
# mkdir -p /var/run/openvpn
# mkdir -p /etc/openvpn/easy-rsa

ツール類をコピー
# cp -pr easy-rsa/2.0/* /etc/openvpn/easy-rsa/

証明書用ファイルの設定
# cd /etc/openvpn/easy-rsa
# vi vars
末尾の以下の部分を修正
                export KEY_COUNTRY="US" (国名)
                export KEY_PROVINCE="CA" (都道府県名)
                export KEY_CITY="SanFrancisco" (市区町村名)
                export KEY_ORG="Fort-Funston" (団体名・会社名など)
                export KEY_EMAIL="me@myhost.mydomain" (メールアドレス)

CA証明書の作成
# . ./vars
            NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
# ./clean-all
# ./build-ca 
            Generating a 1024 bit RSA private key
            ........++++++
            .......++++++
            writing new private key to 'ca.key'
            -----
            You are about to be asked to enter information that will be incorporated
            into your certificate request.
            What you are about to enter is what is called a Distinguished Name or a DN.
            There are quite a few fields but you can leave some blank
            For some fields there will be a default value,
            If you enter '.', the field will be left blank.
            -----
            Country Name (2 letter code) [JP]:
            State or Province Name (full name) [KANAGAWA]:
            Locality Name (eg, city) [KAWASAKI]:
            Organization Name (eg, company) [test.org]:
            Organizational Unit Name (eg, section) []:
            Common Name (eg, your name or your server's hostname) [test.org CA]:
            Email Address [test@test.org]:
            #


鍵の作成 サーバ
# ./build-key-server   server
            Generating a 1024 bit RSA private key
            ...........++++++
            ...++++++
            writing new private key to 'server.key'
            -----
            You are about to be asked to enter information that will be incorporated
            into your certificate request.
            What you are about to enter is what is called a Distinguished Name or a DN.
            There are quite a few fields but you can leave some blank
            For some fields there will be a default value,
            If you enter '.', the field will be left blank.
            -----
            Country Name (2 letter code) [JP]:
            State or Province Name (full name) [KANAGAWA]:
            Locality Name (eg, city) [KAWASAKI]:
            Organization Name (eg, company) [test.org]:
            Organizational Unit Name (eg, section) []:
            Common Name (eg, your name or your server's hostname) [server]:
            Email Address [test@test.org]:

            Please enter the following 'extra' attributes
            to be sent with your certificate request
            A challenge password []:
            An optional company name []:
            Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
            Check that the request matches the signature
            Signature ok
            The Subject's Distinguished Name is as follows
            countryName           :PRINTABLE:'JP'
            stateOrProvinceName   :PRINTABLE:'KANAGAWA'
            localityName          :PRINTABLE:'KAWASAKI'
            organizationName      :PRINTABLE:'test.org'
            commonName            :PRINTABLE:'server'
            emailAddress          :IA5STRING:'test@test.org'
            Certificate is to be certified until Oct 11 13:16:42 2019 GMT (3650 days)
            Sign the certificate? [y/n]:y

            1 out of 1 certificate requests certified, commit? [y/n]y
            Write out database with 1 new entries
            Data Base Updated
            #


鍵の作成 クライアント1
# ./build-key-pass   client1
            Generating a 1024 bit RSA private key
            ...............................................................................++++++
            ..............++++++
            writing new private key to 'client1.key'
            Enter PEM pass phrase:        <−クライアント接続用パスワードを設定
            Verifying - Enter PEM pass phrase:
            -----
            You are about to be asked to enter information that will be incorporated
            into your certificate request.
            What you are about to enter is what is called a Distinguished Name or a DN.
            There are quite a few fields but you can leave some blank
            For some fields there will be a default value,
            If you enter '.', the field will be left blank.
            -----
            Country Name (2 letter code) [JP]:
            State or Province Name (full name) [KANAGAWA]:
            Locality Name (eg, city) [KAWASAKI]:
            Organization Name (eg, company) [test.org]:
            Organizational Unit Name (eg, section) []:
            Common Name (eg, your name or your server's hostname) [client1]:
            Email Address [test@test.org]:

            Please enter the following 'extra' attributes
            to be sent with your certificate request
            A challenge password []:
            An optional company name []:
            Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
            Check that the request matches the signature
            Signature ok
            The Subject's Distinguished Name is as follows
            countryName           :PRINTABLE:'JP'
            stateOrProvinceName   :PRINTABLE:'KANAGAWA'
            localityName          :PRINTABLE:'KAWASAKI'
            organizationName      :PRINTABLE:'test.org'
            commonName            :PRINTABLE:'client1'
            emailAddress          :IA5STRING:'test@test.org'
            Certificate is to be certified until Oct 11 13:18:09 2019 GMT (3650 days)
            Sign the certificate? [y/n]:y

            1 out of 1 certificate requests certified, commit? [y/n]y
            Write out database with 1 new entries
            Data Base Updated
            #


鍵の作成 dh
# ./build-dh
            Generating DH parameters, 1024 bit long safe prime, generator 2
            This is going to take a long time
            ...+...........................................................+......++*++*++*
            #



・OpenVPN 環境の作成(証明書の廃止用)
openssl.cnf の編集
編集前
                [ pkcs11_section ]
                engine_id = pkcs11
                dynamic_path = /usr/lib/engines/engine_pkcs11.so
                MODULE_PATH = $ENV::PKCS11_MODULE_PATH
                PIN = $ENV::PKCS11_PIN
                init = 0

編集後(該当部分をコメントアウトしておかないと、エラーがでるので・・)
                #[ pkcs11_section ]
                #engine_id = pkcs11
                #dynamic_path = /usr/lib/engines/engine_pkcs11.so
                #MODULE_PATH = $ENV::PKCS11_MODULE_PATH
                #PIN = $ENV::PKCS11_PIN
                #init = 0

廃止用ダミーアカウントの作成
# ./build-key-pass   dmy

ダミーアカウントを実際に廃止して、廃止リストを強制生成
# ./revoke-full   dmy
            Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
            Revoking Certificate 03.
            Data Base Updated
            Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
            dmy.crt: /C=JP/ST=KANAGAWA/L=KAWASAKI/O=test.org/CN=dmy/emailAddress=test@test.org
            error 23 at 0 depth lookup:certificate revoked
            #


・OpenVPN 設定(TAP)
OpenVPN を利用する場合、接続形式として ブリッジとルーティングがある
ここの手順ではブリッジ接続をするために TAP デバイスを利用する

概要としては、OpenVPN での接続は仮想デバイスの tap0 が処理する
物理デバイスの eth0 は内部ネットワークを処理する
物理デバイスは1つしかないのでブリッジとして br0 を作成して、eth0 と tap0 に振り分ける

詳しくは先人達の記録を参照
http://www.stackasterisk.jp/tech/systemConstruction/openVpn01_03.jsp
http://nai.homelinux.net/openvpn.html
http://kano.feena.jp/?OpenVPN
http://www.openvpn.jp/bridging.html

サンプルファイルのコピー
# cp -p /usr/local/src/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/

証明書ファイルのコピー
# mkdir /etc/openvpn/keys
# cd /etc/openvpn/keys
# cp -p /etc/openvpn/easy-rsa/keys/ca.crt .
# cp -p /etc/openvpn/easy-rsa/keys/server.crtt .
# cp -p /etc/openvpn/easy-rsa/keys/server.key .
# cp -p /etc/openvpn/easy-rsa/keys/dh1024.pemt .
# cp -p /etc/openvpn/easy-rsa/keys/crl.pem .

証明書ファイルの権限変更
# chmod +r  *

サーバ設定
# cd /etc/openvpn
/etc/openvpn/server.conf ファイルを編集
編集後
            port 1194  ポート番号はデフォルトです。公開する場合変えておいた方が安全?
            proto tcp  試験用にとりあえずTCPで実験。 本番は変える予定
            dev tap0  
            ca /etc/openvpn/keys/ca.crt
            cert /etc/openvpn/keys/server.crt
            key /etc/openvpn/keys/server.key  # This file should be kept secret
            dh /etc/openvpn/keys/dh1024.pem
            ifconfig-pool-persist ipp.txt
            server-bridge 10.10.10.222 255.255.255.0 10.10.10.230 10.10.10.240
            client-to-client  (IPアドレスは自分の環境に合わせておく)
            keepalive 10 120
            comp-lzo
            user nobody
            group nobody
            persist-key
            persist-tun
            status /var/log/openvpn-status.log
            log         /var/log/openvpn.log
            log-append  /var/log/openvpn.log
            verb 3
            crl-verify /etc/openvpn/keys/crl.pem

・OpenVPN 動作確認 − 手起動で確認
まずは TAP デバイスが作成できるか確認
起動前のネットワーク状況
# ifconfig -a
            eth0      Link encap:Ethernet  HWaddr 08:00:27:15:6B:99
                      inet addr:10.10.10.222  Bcast:10.10.10.255  Mask:255.255.255.0
                      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                      RX packets:22531 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:66557 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:1000
                      RX bytes:2194904 (2.0 MiB)  TX bytes:12841770 (12.2 MiB)
                      Interrupt:11 Base address:0xd020

            lo        Link encap:Local Loopback
                      inet addr:127.0.0.1  Mask:255.0.0.0
                      UP LOOPBACK RUNNING  MTU:16436  Metric:1
                      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:0
                      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

            #


TAPデバイス作成
# /usr/local/sbin/openvpn --mktun --dev tap0
            Tue Oct 13 22:32:29 2009 TUN/TAP device tap0 opened
            Tue Oct 13 22:32:29 2009 Persist state set to: ON


TAPデバイス作成確認
# ifconfig -a
            eth0      Link encap:Ethernet  HWaddr 08:00:27:15:6B:99
                      inet addr:10.10.10.222  Bcast:10.10.10.255  Mask:255.255.255.0
                      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                      RX packets:22586 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:66632 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:1000
                      RX bytes:2199418 (2.0 MiB)  TX bytes:12850884 (12.2 MiB)
                      Interrupt:11 Base address:0xd020

            lo        Link encap:Local Loopback
                      inet addr:127.0.0.1  Mask:255.0.0.0
                      UP LOOPBACK RUNNING  MTU:16436  Metric:1
                      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:0
                      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

            tap0      Link encap:Ethernet  HWaddr 00:FF:69:52:C9:C5
                      BROADCAST MULTICAST  MTU:1500  Metric:1
                      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:0
                      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

            #


ブリッジデバイスの作成 〜 TAPとの接続
  ※注意※ 以下作業はネットワークの切り替えを含むため、SSH接続は途中で切断されてしまう
  かならず本体での作業とするか、スクリプトを組んで実行するなどが必要

# /usr/sbin/brctl addbr br0
# /usr/sbin/brctl addif br0 eth0
# /usr/sbin/brctl addif br0 tap0
# /sbin/ifconfig tap0 0.0.0.0 promisc up
# /sbin/ifconfig eth0 0.0.0.0 promisc up
# /sbin/ifconfig br0 10.10.10.222 netmask 255.255.255.0 broadcast 10.10.10.255
# route add -net default gw 10.10.10.1
  (IPアドレスは自分の環境に合わせてください)

ネットワーク状況を確認
# ifconfig -a
            br0       Link encap:Ethernet  HWaddr 00:FF:69:52:C9:C5
                      inet addr:10.10.10.222  Bcast:10.10.10.255  Mask:255.255.255.0
                      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                      RX packets:200 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:0
                      RX bytes:30837 (30.1 KiB)  TX bytes:12410 (12.1 KiB)

            eth0      Link encap:Ethernet  HWaddr 08:00:27:15:6B:99
                      UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
                      RX packets:23292 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:66870 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:1000
                      RX bytes:2344338 (2.2 MiB)  TX bytes:12884286 (12.2 MiB)
                      Interrupt:11 Base address:0xd020

            lo        Link encap:Local Loopback
                      inet addr:127.0.0.1  Mask:255.0.0.0
                      UP LOOPBACK RUNNING  MTU:16436  Metric:1
                      RX packets:3 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
                      collisions:0 txqueuelen:0
                      RX bytes:516 (516.0 B)  TX bytes:516 (516.0 B)

            tap0      Link encap:Ethernet  HWaddr 00:FF:69:52:C9:C5
                      UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
                      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                      TX packets:0 errors:0 dropped:131 overruns:0 carrier:0
                      collisions:0 txqueuelen:0
                      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

            #


OpenVPN が起動するか確認
# /usr/local/sbin/openvpn --daemon --cd /etc/openvpn --config server.conf --writepid /var/run/openvpn/server.pid

起動プロセス確認
# ps ax | grep openvpn | grep -v grep
             9730 ?        Ss     0:00 /usr/local/sbin/openvpn --daemon --cd /etc/openvpn --config server.conf --writepid /var/run/openvpn/server.pid
            #


ログファイル確認
# ls -l /var/log/openvpn*
            -rw------- 1 root root 232 2009-10-13 23:58 /var/log/openvpn-status.log
            -rw------- 1 root root 994 2009-10-13 23:58 /var/log/openvpn.log
            #


# cat /var/log/openvpn.log
            Tue Oct 13 23:58:24 2009 OpenVPN 2.0.9 i686-pc-linux [SSL] [LZO] [EPOLL] built on Oct 13 2009
            Tue Oct 13 23:58:24 2009 Diffie-Hellman initialized with 1024 bit key
            Tue Oct 13 23:58:24 2009 TLS-Auth MTU parms [ L:1576 D:140 EF:40 EB:0 ET:0 EL:0 ]
            Tue Oct 13 23:58:24 2009 TUN/TAP device tap0 opened
            Tue Oct 13 23:58:24 2009 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:135 ET:32 EL:0 AF:3/1 ]
            Tue Oct 13 23:58:24 2009 GID set to nobody
            Tue Oct 13 23:58:24 2009 UID set to nobody
            Tue Oct 13 23:58:24 2009 Listening for incoming TCP connection on [undef]:1194
            Tue Oct 13 23:58:24 2009 TCPv4_SERVER link local (bound): [undef]:1194
            Tue Oct 13 23:58:24 2009 TCPv4_SERVER link remote: [undef]
            Tue Oct 13 23:58:24 2009 MULTI: multi_init called, r=256 v=256
            Tue Oct 13 23:58:24 2009 IFCONFIG POOL: base=10.10.10.230 size=11
            Tue Oct 13 23:58:24 2009 IFCONFIG POOL LIST
            Tue Oct 13 23:58:24 2009 MULTI: TCP INIT maxclients=1024 maxevents=1028
            Tue Oct 13 23:58:24 2009 Initialization Sequence Completed
            #



# cat /var/log/openvpn-status.log
            OpenVPN CLIENT LIST
            Updated,Tue Oct 13 23:58:34 2009
            Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
            ROUTING TABLE
            Virtual Address,Common Name,Real Address,Last Ref
            GLOBAL STATS
            Max bcast/mcast queue length,0
            END
            #


OpenVPN 終了確認
# kill -HUP `cat /var/run/openvpn/server.pid`
# ps ax | grep openvpn | grep -v grep



ここまで出来てれば、OpenVPNの設定はほぼ終了
どうも起動していないみたい・・ログがおかしい?などの場合は TCP 1194 に telnet すれば、OpenVPN が反応するはず
反応しなければ、tap0 と br0 の仮想デバイスが上手く作れているか確認する
ちゃんとプロセスも上がっていることを確認するコト 


・OpenVPN の自動起動設定
/etc/rc.d/rc.local に以下を追記
  ※ ホントは rc.openvpn を作るなり、rc.network なりにするべきですが・・
   ネットワークブリッジ作成のタイミングが合わないようなのでとりあえずの逃げです
   端末が古いためか、ネットワークデバイスの準備に時間がかかってしまうようなので・・
   もっとスマートに出来る手順があればご連絡ください


ファイルの末尾に以下を全部追記
            # Network Device Setting Wait (ネットワークデバイスの準備が終わるのを待つ)
            sleep 5
            while [ "`ps -ef | grep network | grep -vc grep`" -gt 0 ]
            do
                sleep 1
                echo -e "network setting ...." > /dev/console
            done

            # Bridge Network Device Setting (ネットワークブリッジの設定・・各操作で1秒待つ)
            echo -e "bridge start ... " > /dev/console
            /usr/local/sbin/openvpn --mktun --dev tap0
            sleep 1
            /usr/sbin/brctl addbr br0
            sleep 1
            /usr/sbin/brctl addif br0 eth0
            sleep 1
            /usr/sbin/brctl addif br0 tap0
            sleep 1
            /sbin/ifconfig tap0 0.0.0.0 promisc up
            sleep 1
            /sbin/ifconfig eth0 0.0.0.0 promisc up
            sleep 1
            /sbin/ifconfig br0 10.10.10.222 netmask 255.255.255.0 broadcast 10.10.10.255
            sleep 1
            route add -net default gw 10.10.10.1

            # OpenVPN Daemon   (OpenVPNを起動)
            sleep 1
            echo -e "openvpn start ..." > /dev/console
            /usr/local/sbin/openvpn  --daemon --cd /etc/openvpn --config server.conf --writepid /var/run/openvpn/server.pid

再起動
# reboot

再起動したらネットワーク状況を確認
# ifconfig -a

ついでにネットワークポートも確認
# netstat -anp
            Active Internet connections (servers and established)
            Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
            tcp        0      0 0.0.0.0:1194            0.0.0.0:*               LISTEN      3099/openvpn
            tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3063/sshd
            tcp        0    300 10.10.10.222:22         10.10.10.3:52042        ESTABLISHED 3162/sshd: spot [pr
            Active UNIX domain sockets (servers and established)
            Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
            unix  2      [ ]         DGRAM                    826    1750/udevd          @/org/kernel/udev/udevd
            unix  3      [ ]         DGRAM                    2643   2629/syslogd        /dev/log
            unix  3      [ ]         STREAM     CONNECTED     3295   3162/sshd: spot [pr
            unix  3      [ ]         STREAM     CONNECTED     3294   3167/0
            unix  2      [ ]         DGRAM                    2668   2644/klogd
            #



ここまでで、とりあえずサーバ側のOpenVPNサーバの環境作成は完了


まこ | puppy | 13:59 | comments(0) | trackbacks(0) |
スポンサーサイト
スポンサードリンク | - | 13:59 | - | - |
Comment









Trackback
URL: