280W =終焉の宴=

12345678910111213141516171819202122232425262728293031

Profile

Project

サークル活動

::
Home > Linux > OpenVPNの設定@第一回

OpenVPNの設定@第一回

投稿者:Aki
投稿日時:2006-04-27 - 01:40:45
カテゴリー:Linux - トラックバック(No Trackbacks)
今回はサーバ側の設定。

二つの拠点間をレイヤ2でブリッジしようの巻。

とりあえず何かをバックアップ。
# cp -r /usr/share/doc/openvpn-2.0.7 /etc

以下の場所に移動して、
# /usr/share/openvpn/easy-rsa

varsファイルを編集する。
# vi ./vars

======================
export KEY_COUNTRY=KG
export KEY_PROVINCE=NA
export KEY_CITY=BISHKEK
export KEY_ORG="OpenVPN-TEST"
export KEY_EMAIL="me@myhost.mydomain"
======================
この部分を
======================
export KEY_COUNTRY=JP
export KEY_PROVINCE=TOKYO
export KEY_CITY=KATAYANAGI
export KEY_ORG="IT03"
export KEY_EMAIL="IT03@IT03"
======================
とかにする。

そしてPKI(公開鍵基盤)を初期化。
# . ./vars
# ./clean-all

認証局(CA)の証明書を鍵を生成する。
# ./build-ca

例によってOpenSSLの鍵生成みたいな対話式の"アレ"がでてくるから
いつも通り入力する。
Common Nameの部分は適当に「OpenVPN-CA」とか入れておけばいいよ。きっと。

次はサーバ証明書と鍵を生成。
# ./build-key-server server
前回と一緒だが、Common Nameのところは
server
と入力する。

なんかパスワードを聞かれたので適当に入れた。
Sign the certificate? [y/n] も y
1 out of 1 certificate requests certified, commit? [y/n] も y


えー、今度はクライアントの証明書と鍵を生成。一個ずつでいいや。
# ./build-key client1
またパスワード聞かれるので適当に。忘れるなょぅ。
Sign the certificate? [y/n] も y
1 out of 1 certificate requests certified, commit? [y/n] も y

DH (Diffie Hellman) パラメータを生成しよう。
# ./build-dh
これは若干時間がかかるので放置。1分ぐらいじゃないかなぁ?

作った鍵とか証明書を/etc/openvpnにコピー。
# cd ./keys
# cp ./ca.crt /etc/openvpn
# cp ./ca.key /etc/openvpn
# cp ./dh1024.pem /etc/openvpn
# cp ./server.crt /etc/openvpn
# cp ./server.key /etc/openvpn

# chmod 600 ca.crt
# chmod 600 dh1024.pem
# chmod 600 server.crt

次はconfの設定あたり。/etc/openvpnにコピーしてから変更しよう。
# cp /usr/share/doc/openvpn-2.0.7/sample-config-files/server.conf /etc/openvpn
# vi /etc/openvpn/server.conf

修正箇所のみAge。
以下のように変えていく。
=========
dev tap
;dev tun
=========

=========
;server 10.8.0.0 255.255.255.0
=========

=========
server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
=========

=========
user nobody
group nobody
=========


次にブリッジの設定へ。

# cp /usr/share/doc/openvpn-2.0.7/sample-scripts/bridge-start /etc/openvpn
# cp /usr/share/doc/openvpn-2.0.7/sample-scripts/bridge-stop /etc/openvpn
# chmod 755 bridge-start
# chmod 755 bridge-stop

ここら辺で気づいたが、ブリッジ関連のパッケージがない。
つーことでインストール。
# yum install bridge-utils
多分一緒にsysfsutilsもインストールされると思う。

んで、/etc/openvpn/bridge-startの設定を変更する。
server.confで設定したserver-bridge 10.8.0.4の部分のIPをeth_ipに入れるのかな?
# vi /etc/openvpn/bridge-start
==============
eth="eth0"
eth_ip="10.8.0.4"
eth_netmask="255.255.255.0"
eth_broadcast="10.8.0.255"
==============

みたいな感じで。各自の環境に合わせてよろ

とりあえずルーティング許可に。
# echo 1 > /proc/sys/net/ipv4/ip_forward
# vi /etc/sysctl.conf

=========================
net.ipv4.ip_forward = 1
=========================

そして起動スクリプトを改造。
起動時は先にブリッジ機能を作動。
停止時は後にブリッジ機能を止める。

大体適当につっこんでみた。

# vi /etc/init.d/openvpn
==========================
start)
if [ -f /etc/openvpn/bridge-start ]; then
/etc/openvpn/bridge-start
fi

echo -n $"Starting openvpn: "
==========================

==========================
if [ -f /etc/openvpn/bridge-stop ]; then
/etc/openvpn/bridge-stop
fi

success; echo
rm -f $lock
;;
restart)
==========================

ホントはもっとしっかり書こうね!眠いから適当にすませた。今は反省している。

こんなところでOKかね。

/etc/init.d/openvpn start
とかで正常に起動できて、
/etc/init.d/openvpn stop
で、ちゃんと止まればOK。

長くなったからサーバの設定で終わり。
次回はクライアントの設定と動作確認ですー。

Comments

No comments yet

Add Comments

Trackback

トラックバック
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.