この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
01_linux:01_net:62_centos_openvpnブリッジ接続 [2014/03/10 16:59] matsui [②設定ファイル修正] |
01_linux:01_net:62_centos_openvpnブリッジ接続 [2014/03/26 14:10] (現在) matsui [②設定ファイル修正] |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
+ | ====== 62 CentOS OpenVPNブリッジ接続 ====== | ||
+ | 事前に [[01_linux:01_net:60_centos_openvpn|]] の事前準備が完了している前提です。 | ||
+ | |||
+ | ===== ①bridge-utilsインストール ===== | ||
+ | |||
+ | <code console> | ||
+ | # yum install bridge-utils | ||
+ | </code> | ||
+ | |||
+ | ===== ②設定ファイル修正 ===== | ||
+ | <code console> | ||
+ | # vi /etc/openvpn/server.conf | ||
+ | |||
+ | port 1194 | ||
+ | |||
+ | dev tap0 ← VPNインタフェースとして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 ← Bridge IP 10.8.0.4を指定し、クライアントを10.8.0.50-100割り当て | ||
+ | |||
+ | push "route 192.168.1.0 255.255.255.0" ← 追加(LAN(例:192.168.1.0/24)へのルートをVPNサーバー経由にする) | ||
+ | push "dhcp-option DNS 8.8.8.8" | ||
+ | push "dhcp-option DNS 8.8.4.4" | ||
+ | |||
+ | tls-auth ta.key 0 # This file is secret ← 行頭の;を削除してコメント解除(TLS認証有効化) | ||
+ | |||
+ | user nobody ← 行頭の;を削除してコメント解除(OpenVPN実行権限を下げる) | ||
+ | group nobody ← 行頭の;を削除してコメント解除(OpenVPN実行権限を下げる) | ||
+ | |||
+ | client-to-client | ||
+ | |||
+ | log-append /var/log/openvpn.log ← 行頭の;を削除してコメント解除(ログを/var/log/openvpn.logに記録する) | ||
+ | crl-verify /etc/openvpn/crl.pem | ||
+ | |||
+ | management localhost 7505 ← 最終行へ追加(管理インタフェースの有効化※後述) | ||
+ | </code> | ||
+ | |||
+ | ===== ③ブリッジスクリプト用意 ===== | ||
+ | |||
+ | ==== 1.ファイルコピー ==== | ||
+ | |||
+ | <code console> | ||
+ | # cp /usr/share/doc/openvpn-2.2.2/sample-scripts/bridge-start /etc/openvpn | ||
+ | # cp /usr/share/doc/openvpn-2.2.2/sample-scripts/bridge-stop /etc/openvpn | ||
+ | # chmod 755 /etc/openvpn/bridge-start /etc/openvpn/bridge-stop | ||
+ | </code> | ||
+ | |||
+ | === 2.ブリッジ開始設定 === | ||
+ | <code console> | ||
+ | # vi bridge-start ※ブリッジ開始の設定を編集 | ||
+ | br="br0" ※ブリッジインターフェース名。 | ||
+ | tap="tap0" ※ブリッジするOpenVPNのTAPインターフェース名。 | ||
+ | eth="eth1" ※ブリッジするローカルセグメントのインターフェース名。 | ||
+ | eth_ip="10.8.0.4" | ||
+ | eth_netmask="255.255.255.0" | ||
+ | eth_broadcast="10.8.0.255" | ||
+ | |||
+ | # vi bridge-stop ※ブリッジ停止の設定を編集 | ||
+ | br="br0" ※bridge-startに合わせる | ||
+ | tap="tap0" ※bridge-startに合わせる | ||
+ | </code> | ||
+ | |||
+ | === 3.ブリッジ停止設定 === | ||
+ | <code console> | ||
+ | # vi bridge-stop ※ブリッジ停止の設定を編集 | ||
+ | br="br0" ※bridge-startに合わせる | ||
+ | tap="tap0" ※bridge-startに合わせる | ||
+ | </code> | ||
+ | |||
+ | === 4.起動スクリプト修正 === | ||
+ | <code console> | ||
+ | # vi /etc/rc.d/init.d/openvpn | ||
+ | [略] | ||
+ | case "$1" in | ||
+ | start) | ||
+ | echo -n $"Starting openvpn: " | ||
+ | /etc/openvpn/bridge-start ※開始時OpenVPNが始まる前にブリッジ開始 | ||
+ | /sbin/modprobe tun >/dev/null 2>&1 | ||
+ | [略] | ||
+ | stop) | ||
+ | echo -n $"Shutting down openvpn: " | ||
+ | for pidf in `/bin/ls $piddir/*.pid 2>/dev/null`; do | ||
+ | if [ -s $pidf ]; then | ||
+ | kill `cat $pidf` >/dev/null 2>&1 | ||
+ | fi | ||
+ | rm -f $pidf | ||
+ | done | ||
+ | |||
+ | # Run shutdown script, if defined | ||
+ | if [ -f $work/openvpn-shutdown ]; then | ||
+ | $work/openvpn-shutdown | ||
+ | fi | ||
+ | /etc/openvpn/bridge-stop ※OpenVPNが停止した後でブリッジ停止 | ||
+ | </code> |