目次

62 CentOS OpenVPNブリッジ接続

事前に 60 CentOS OpenVPN の事前準備が完了している前提です。

①bridge-utilsインストール

# yum install bridge-utils

②設定ファイル修正

# 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 ← 最終行へ追加(管理インタフェースの有効化※後述)

③ブリッジスクリプト用意

1.ファイルコピー

# 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

2.ブリッジ開始設定

# 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に合わせる

3.ブリッジ停止設定

# vi bridge-stop ※ブリッジ停止の設定を編集
br="br0" ※bridge-startに合わせる
tap="tap0" ※bridge-startに合わせる

4.起動スクリプト修正

# 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が停止した後でブリッジ停止