実践Linux
CentOS5/6.5 CentOS5/6.5 目次へ TOP(HOME)へ
OpenVPNサーバー(CentOS6.5の場合) 2015年10月更新
かなり古い記事なので、新しい情報はRockyLinuxのopenVPNを参照
外部から、通常のLAN接続のようにサーバーにアクセスできれば便利だ。
これを可能にするのがVPN技術である。
ルーティング方式とブリッジ方式
ルーティング方式(TUN)はopenVPNサーバーとクライアントが既存のネットワークとは異なるネットワークを構成する。上の図でいえば、VPNクライアントが10.8.0.*(仮想)とかになる。一方、ブリッジ方式(TAP)はクライアントがopenVPNサーバーのネットワークに追加される形でネットワークを構成する。
以下、http://www.openvpn.jp/document/how-to/による
一般的には「ルーティング」が適している場合が多く、設定も容易です。 また、クライアントごとのアクセス制御もこちらのほうが高機能です。しかし「ブリッジ」でないと利用できない機能もあります。下記のような機能が必要な場合は「ブリッジ」を使用する必要があります。
・非IPプロトコル(IPXなど)をVPN上で使用する必要がある場合
・ブロードキャストパケットをVPN上で使用する必要がある場合(ネットワークゲームなど)
・SambaやWINSを使用せずに、VPN経由でWindowsファイル共有のブラウズをしたい場合
必要なもの
・OpenSSL
・LZO圧縮(リアルタイムでデータを圧縮・展開)
・pam
以上は、インストール済み。
確認
# yum list installed | grep openssl
# yum list installed | grep lzo
# yum list installed | grep pam
(自分でパッケージをビルドする場合にはさらに次の依存関係があります。openssl-devel、lzo-devel、pam-devel)
・TUN/TAPデバイス これもインストール済み。
TUN/TAPデバイスがカーネルモジュールとしてインストールされていれば(/dev/net/tun)、わざわざカーネルを作り直す必要はない。
# modprobe tun として、エラーが出なければカーネルモジュールが入っているので、それを使えばよい。
# modprobe tun 自身の実行は、openvpnの起動スクリプトで自動的になされるようになっているので、通常はあえて実行する必要はない。
tap/tunの違いは、tun=レイヤ3トンネル、tap=レイヤ2トンネル。大雑把に言うと、tunならTCP/IPレベルなのでTCP/IPカプセルだが、tapなら仮想ethernetトンネルなのでNetwareやNetBEUIなども流すことができる。ちなみに相互互換しないので、クライアントとサーバ間でtap/tunのどちらかに統一すること。
OpenVPN(openvpn-2.3.8-1 2015.9現在)のインストール
OpenVPNは、通常のyumではインストールできないので、外部レポジトリの追加(EPEL)が必要となる。
ただし、AWStats入手のときすでにEPELはインストールしたので、ここではEPELの導入は省略。(AWStats参照)
EPELからOpenVPNをインストール
# yum --enablerepo=epel list | grep openvpn 調査
# yum --enablerepo=epel -y install openvpn インストール
さらにeasy-rsaをインストールしておく(証明書作成用)
# yum --enablerepo=epel list | grep easy-rsa 調査
# yum --enablerepo=epel -y install easy-rsa インストール
/etc/rc.d/init.d/openvpn 内容を確認すると、modprobe tunや/etc/openvpnなどが書き込まれている。
/etc/openvpnディレクトリに、/usr/share/doc/openvpn-2.3.8/sample/sample-config-filesディレクトリにあるserver.confを適当な名称(ここではそのままserver.conf)でコピーする。
自分でCA(認証局)を作り、OpenVPNサーバーとクライアント用の証明書とカギを作る。
@ マスタCA証明書と秘密鍵の生成
/usr/share/easy-rsa/2.0ディレクトリを/etc/openvpn/にeasy-rsa名でコピー(ここに生成用のスクリプトがある)。
/etc/openvpn/easy-rsa/配下の各スクリプトが実行可であることを確認しておく。(そうでなければ、実行可にしておく。# chmod +x /etc/openvpn/easy-rsa/*)
/etc/openvpn/easy-rsa/varsの編集
export KEY_COUNTRY=JP 国名
export KEY_PROVINCE=Saitama 都道府県名
export KEY_CITY=Saitamashi 市区町村名
export KEY_ORG="my-dom.xxx" 組織名
export KEY_EMAIL="root@my-dom.xxx" サーバー管理者メールアドレス
export KEY_OU="" 所属部署
/etc/openvpn/easy-rsa で
# . ./vars(または# source vars) 証明書/鍵作成用環境変数設定ファイル内容をシステムに反映
★注意 いったん端末を閉じてからまた作業を再開するときは、「# . ./vars」を実行して証明書/鍵作成用環境変数設定ファイルを読み込み直す必要がある。
# ./clean-all 証明書/鍵作成先ディレクトリ初期化(インストール後最初の1回のみ)
/keysディレクトリができる。
# ./build-ca CA証明書・秘密鍵作成
もう一度国名とか聞いてくるが、[]の内容でOKならENTERを押していく。
# cp keys/ca.crt /etc/openvpn/ CA証明書をOpenVPN設定ファイル格納ディレクトリにコピー
CA秘密鍵(ca.key)は、サーバー証明書・秘密鍵とクライアント証明書・秘密鍵を作成するときにここで使用するのみなのでコピーしなくてよい。
Aサーバ証明書と秘密鍵を生成する
easy-rsa]# ./build-key-server server
前のステップと同様,ほとんどのパラメータはデフォルト値のまま。
A challenge passwordとAn optional company nameはenterキーでよい。
最後に肯定的な回答を必要とする質問が二つある。
"Sign the certificate? [y/n]"と "1 out of 1 certificate requests certified, commit? [y/n]"。
easy-rsa]# cp keys/server.key /etc/openvpn/ サーバー秘密鍵を/etc/openvpn/にコピー
easy-rsa]# cp keys/server.crt /etc/openvpn/ サーバー証明書を/etc/openvpn/にコピー
BDH (Diffie Hellman) パラメータを生成する
OpenVPNサーバにはDiffie Hellmanパラメータを生成しなければならない。
easy-rsa]# ./build-dh
easy-rsa]# cp keys/dh2048.pem /etc/openvpn/
C証明書廃止リスト作成
将来的にクライアント証明書を廃止できるようにするため、証明書廃止リストを作成しておく。
このリストはいったんクライアント証明書を作成してから廃止を行わないと作成できないので、いったんダミーのクライアント証明書を作成・廃止する。
easy-rsa]# ./build-key dmy ダミーのクライアント証明書作成
これまでと同様。ほとんどのパラメータはデフォルト値のまま。
A challenge passwordとAn optional company nameはenterキーでよい。
最後に肯定的な回答を必要とする質問が二つある。
"Sign the certificate? [y/n]"と "1 out of 1 certificate requests certified, commit? [y/n]"。
クライアント証明書廃止時にエラーメッセージが出力されてしまうことの対処(ここでは、対処せず。)
/etc/openvpn/easy-rsa/openssl.confの編集
#[ 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
easy-rsa]# ./revoke-full dmy ダミーのクライアント証明書廃止
easy-rsa]# cp keys/crl.pem /etc/openvpn/ 証明書廃止リストを/etc/openvpn/にコピー
Dクライアントの証明書と鍵を作る
easy-rsa]# ./build-key vpnclient1
easy-rsa]# ./build-key vpnclient2
これまでと同様。ほとんどのパラメータはデフォルト値のまま。
A challenge passwordとAn optional company nameはenterキーでよい。
最後に肯定的な回答を必要とする質問が二つある。
"Sign the certificate? [y/n]"と "1 out of 1 certificate requests certified, commit? [y/n]"。
………………………………………
パスワード付きにしたい場合は
easy-rsa]# ./build-key-pass client1 等
Enter PEM pass phrase: ←パスフレーズを入力
Verifying - Enter PEM pass phrase: ←もう一度パスフレーズを入力
DOpenVPNのセキュリティを強化する(tls-auth)
tls-auth HMAC署名はSSL/TLSによって提供されるセキュリティに加えてさらに高度なセキュリティを提供。
tls-authを使用する場合は、標準のRSA証明書と鍵に加えて、共有静的鍵を生成しておく必要があります。
TLS認証鍵を/etc/openvpn/に作成
# openvpn --genkey --secret /etc/openvpn/ta.key
この鍵ファイルをサーバーとすべてのクライアントにコピーしておく必要があります(安全な方法でコピーするように注意してください)。
ファイアウォール設定(OpenVPNサーバーを公開する)
●各ルーター/ゲートウェイでUDPの1194番ポートへのアクセスをサーバーに転送するようにする(NAPT設定)。
外部からOpenVPNサーバーのUDP1194番ポート(OpenVPN)への転送を許可
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1194 -j DNAT --to $SERVER
iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 1194 -j ACCEPT
eth0:WAN側ネットワークデバイス $SERVER:サーバーアドレス
ブロードバンドルータの場合は、「ルータ設定/NAPT設定」などでudp 1194の穴を開ける(個別またはDMZとかになる)。
●OpenVPNサーバー側では、UDPの1194番ポートへのアクセスを許可するようにする。
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
【ルーティング方式】
OpenVPN設定
/etc/openvpn/server.conf (OpenVPN設定ファイルの編集)
port 1194 proto udp dev tun VPNインタフェースとしてTUNを指定(デフォルト) ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh2048.pem server 10.8.0.0 255.255.255.0 VPNクライアントアドレスとして10.8.0.0/24を指定(デフォルト) ifconfig-pool-persist ipp.txt push "route 10.8.0.0 255.255.255.0" ;client-config-dir ccd 固定アドレスを割り付けるとき(後述) keepalive 10 120 tls-auth ta.key 0 コメント解除(TLS認証有効化) comp-lzo user nobody コメント解除(OpenVPN実行権限を下げる) group nobody コメント解除(OpenVPN実行権限を下げる) persist-key これと次の項目は、VPNが落ちた場合の再接続設定 persist-tun status openvpn-status.log ;log-append openvpn.log 解除すると、ログは/etc/openvpn/openvpn.logに保存される log-append /var/log/openvpn.log 保存先を/var/log/openvpn.logに変更する verb 3 #######以下は追加####### management localhost 7505 TCPポート7505で管理インタフェースクライアントの要求をリスニングするようになる(ポート番号は任意の使われていないものでよい) crl-verify crl.pem 証明書廃止リストの有効化 |
ルーティング設定
・ルーティング方式でクライアント間同士の通信をする場合に必要となる。
・ルーティング方式でクライアントとVPNサーバーとの1対1接続だけでよい場合やブリッジ方式の場合は不要。
ルータ(内部にVPNクライアントがいるゲートウェイ)に10.8.0.LANゲートウェイとしてVPNサーバーを追加してやる=宛先がVPN(例:10.8.0.0/24)のアクセスはVPNサーバーを経由するようにルートを追加する。
# route add -net 10.8.0.0 netmask 255.255.255.0 gw VPNサーバーアドレス
# route ← ルート追加確認
ファイアウォール自動設定スクリプトの作成
/usr/share/doc/openvpn-2.3.8/sample/sample-config-files/firewall.sh、openvpn-startup.sh、openvpn-shutdown.shがそのサンプルとなるが、使いにくいので以下のスクリプトを自分で作成する。
これらは/etc/ec.d/init.d/openvpnで自動的に実行されるようになっている。
/etc/openvpn/openvpn-startup
#!/bin/bash /etc/openvpn/openvpn-shutdown iptables -I OUTPUT -o tun+ -j ACCEPT +はワイルドカード、eth+だとすべてのethインターフェイス。 iptables -I FORWARD -o tun+ -j ACCEPT 上とこの2行はVPNサーバーからの送信を許可。 iptables -I INPUT -i tun+ -j ACCEPT VPNクライアントからVPNサーバーへのアクセスを許可 iptables -I FORWARD -i tun+ -d 192.168.7.0/24 -j ACCEPT VPNクライアントからサーバー側LAN内へのアクセスを許可 |
/etc/openvpn/openvpn-shutdown
#!/bin/bash delete() { rule_number=`iptables -L $target --line-numbers -n -v | grep tun. | awk '{print $1}' | sort -r` for num in $rule_number do iptables -D $target $num done } target='INPUT' delete target='FORWARD' delete target='OUTPUT' delete |
実行権限を与えておく。
# chmod +x /etc/openvpn/openvpn-startup
# chmod +x /etc/openvpn/openvpn-shutdown
OpenVPNログのローテート設定(/etc/logrotate.d/httpd等を参照)
/etc/logrotate.d/openvpn OpenVPNログローテート設定ファイル新規作成
/var/log/openvpn.log { missingok notifempty sharedscripts postrotate /etc/rc.d/init.d/openvpn restart 2>&1 > /dev/null || true endscript } |
SELinux
openVPNを起動して、/var/log/openvpn.logを見てみる。
7505のポート(管理インタフェース)でエラーが出ている場合は、SELinuxの問題。このエラーがあると、起動は成功しているように見えても、クライアントからは接続できない。
# semanage port -l | grep openvpn 調査
1194 TCP,UDPしか通っていない場合は、7505 TCPも設定しておく。
# semanage port -a -t openvpn_port_t -p tcp 7505
●VPNクライアントに固定IPアドレスを割当てる場合
外部から内部LANへVPN接続する場合等では、VPNクライアントごとにアクセス先マシンを制限したい場合がある。その場合は、VPNクライアントに固定IPアドレスを割当て、IPアドレスごとにファイアウォールでアクセス先マシンを制限するようにする。
例として、クライアント名vpnclient1に固定IPアドレス10.8.0.5を割当て、10.8.0.5からは192.168.7.3へのみアクセスを許可するようにする。
(1)OpenVPN設定
/etc/openvpn/server.conf ← OpenVPN設定ファイル編集
client-config-dir ccd ← 行頭の;を削除してコメント解除(クライアント毎設定格納ディレクトリの有効化)
# mkdir /etc/openvpn/ccd ← クライアント毎設定格納ディレクトリ作成
(2)vpnclient1固定IPアドレス割当て
/etc/openvpn/ccd/vpnclient1 ← vpnclient1設定ファイル新規作成
ifconfig-push 10.8.0.5 10.8.0.6 ← 固定IPアドレス10.8.0.5を割当てる※
※10.8.0.5と10.8.0.6の5と6の部分は以下の各組み合わせから指定すること(例えば、10.8.0.9と10.8.0.10と指定すると10.8.0.9が割当てられる)。
ただし、10.8.0.1と10.8.0.2の組合せはVPNサーバーのアドレスなので指定しないこと。
[ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18] [ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
[ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58] [ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
[ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98] [101,102] [105,106] [109,110] [113,114] [117,118]
[121,122] [125,126] [129,130] [133,134] [137,138] [141,142] [145,146] [149,150] [153,154] [157,158]
[161,162] [165,166] [169,170] [173,174] [177,178] [181,182] [185,186] [189,190] [193,194] [197,198]
[201,202] [205,206] [209,210] [213,214] [217,218] [221,222] [225,226] [229,230] [233,234] [237,238]
[241,242] [245,246] [249,250] [253,254]
(3)vpnclient1用ファイアウォール設定
# iptables -I FORWARD -i tun+ -s 10.8.0.5 -d 192.168.7.3 -j ACCEPT
← 10.8.0.5から192.168.7.3へのアクセスを許可
/etc/openvpn/openvpn-startup
iptables -I FORWARD -i tun+ -s 10.8.0.5 -d 192.168.7.3 -j ACCEPT
← 上記ファイアウォール設定をOpenVPN起動時実行スクリプトへ追加
これで、vpnclient1の証明書を使用してVPN接続したクライアントには固定IPアドレス10.8.0.5が割当てられ、LAN内の192.168.7.3へのみアクセスができるようになる。
なお、クライアント設定ファイルが存在しない場合はVPNサーバーが空きIPアドレスを割当てるので、固定/非固定混在が可能。
windowsクライアント (Windows10の場合)
https://www.openvpn.jp/download/より「vpnux Client」をダウンロードする。
Ver. 1.3.0.0 (2015.07.13)
クライアント設定
あらかじめ、サーバーで作成したCA証明書(/etc/openvpn/ca.crt)、クライアント証明書(/etc/openvpn/easy-rsa/keys/client1.crt)、クライアント秘密鍵(/etc/openvpn/easy-rsa/keys/client1.key)、TLS認証鍵(/etc/openvpn/ta.key)をUSBメモリなどにコピーしておく。
C:\Program Files (x86)\vpnux Client\vpnuxClient.exeを起動。
「プロファイル → 追加」で設定をする。
プロファイル名 適当に「vpnclient1」
VPNサーバー 192.168.7.1
ポート 1194
デバイス TUN (ルーティング方式のとき。ブリッジ方式のときはTAPにする。)
プロトコル UDP
拡張設定 LZO圧縮を有効にする
認証 CA証明書 ca.crtを読み込む。
証明書認証(PKI)を使用
証明書 vpnclient1.crtを読み込む。
秘密鍵 vpnclient1.keyを読み込む。
いちばん上の「詳細設定」
YLS-Auth HMAC署名を使用 ta.keyを読み込む。
接続確認
ping 10.8.0.1
\\10.8.0.1 でsambaに接続してみる。(ただし、smb.confの設定が必要。次項参照。)
サーバーとクライアントのアドレス
10.8.0.1と10.8.0.2の組合せはVPNサーバーのアドレスとなる。
クライアントは、 [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18] ・・・・の組合せになる。
VPNが正常に稼働しているなら,サーバからは 10.8.0.2 に,クライアントからは 10.8.0.1 にpingが通るはず。
切断するには
右下の山矢印より「隠されているインジケータを表示」させ、[vpnux Connector]アイコンをダブルクリックします(または、右クリック → 表示)。
■VPNクライアントからのアクセス許可
VPNクライアントがVPN通信を行う場合はVPN用の仮想アドレス(10.8.0.0/24)で通信を行うので、VPNクライアントからアクセスしたいマシン側のファイアウォールや各アプリケーションのアクセス制限等で、VPNクライアントアドレス(10.8.0.0/24)からのアクセスを許可するように設定しておく。
(1)VPNクライアントからSambaへアクセスしたい場合
/etc/samba/smb.conf ← Samba設定ファイル編集
hosts allow = 192.168.0. 127. 10.8.0. ← アクセス許可アドレスにVPNを追加
(2)TCP Wrapperによるアクセス制限対象外とする場合
/etc/hosts.allow
ALL: 10.8.0. ← 10.8.0.*からのアクセスを許可
■VPNクライアントの削除
なんらかの理由(VPN通信要件がなくなった、または、証明書のパスフレーズを忘れた等※)で特定のVPNクライアントからのVPN接続を廃止したい場合は、該当VPNクライアントが使用しているクライアント証明書を廃止すればよい。
※廃止したクライアント名で証明書を再作成することができるので、パスフレーズを忘れてしまった場合も、いったん証明書を廃止後に同じクライアント名でクライアント証明書を再作成すればよい。
クライアント証明書廃止
クライアント証明書を廃止して、該当クライアント証明書を使用したVPN接続をできないようにする。
# cd /etc/openvpn/easy-rsa/ ← 証明書/鍵作成用ディレクトリへ移動
# source vars ← 証明書/鍵作成用環境変数設定ファイル内容をシステムに反映
# ./revoke-full vpnclient1 ← vpnclient1のクライアント証明書廃止
【ブリッジ方式】
OpenVPN設定
ブリッジ方式を利用する場合,serverとdev tunの代わりに,server-bridgeとdev tapを使う。
UDPではなくTCPポートをリスニングするようにしたい場合、proto udpの代わりにproto tcpを使う(UDPとTCPの両方をリスニングするようにするには,二つ別々のOpenVPNインスタンスを実行しなくてはならない)。
クライアントがお互いにみれるようにしたいなら、client-to-clientのコメントを外す。デフォールトではクライアントがサーバだけをみることができる。
/etc/openvpn/server.conf
port 1194 proto udp dev tap0 VPNインタフェースとしてtapを指定 ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh2048.pem ;server 10.8.0.0 255.255.255.0 無効にする ifconfig-pool-persist ipp.txt server-bridge 192.168.7.1 255.255.255.0 192.168.7.220 192.168.7.250 有効にする(サーバーのアドレスとクライアントに割り振るアドレス範囲) push "route 192.168.7.0 255.255.255.0" クライアントにサーバー側ネットワークへの経路を伝える client-to-client クライアント同士の通信を可能にする keepalive 10 120 VPN接続間の生存確認のための設定 tls-auth ta.key 0 TLS認証有効化 comp-lzo LZO圧縮を有効化 user nobody OpenVPN実行権限を下げる group nobody OpenVPN実行権限を下げる persist-key これと次の項目は、VPNが落ちた場合の再接続設定 persist-tun status openvpn-status.log log-append /var/log/openvpn.log ログを/var/log/openvpn.logに記録する verb 3 management localhost 7505 TCPポート7505で管理インタフェースクライアントの要求をリスニングするようになる(ポート番号は任意の使われていないものでよい). crl-verify crl.pem 証明書廃止リストの有効化 |
bridge-utilsのインストール
ブリッジ機能を使用するには、bridge-utilsとsysfsutilsパッケージがインストールされている必要がある。
調査
# yum list installed | grep bridge
# yum list installed | grep sysfsutils
CentOS6.5では、bridge-utilsはインストール済み。sysfsutilsはインストールされていない。
# yum list | grep sysfsutils 調査
# yum install sysfsutils インストール
ブリッジ有効化スクリプトの編集(tap0とeth1をブリッジ)
ブリッジを起動させた際、どのネットワークデバイスを使用するか等の挙動に関する設定。
bridge-startとbridge-stopスクリプトを/usr/share/doc/openvpn-2.3.8/sample/sample-criptフォルダからコピー。デフォルトではtap0とeth0をブリッジで使用するように設定されているので、以下の箇所を環境に合わせて設定する。
/etc/openvpn/bridge-start
(〜省略〜)
eth="eth1"
eth_ip="192.168.7.1" ←br0に設定するIPアドレス(上のserver-bridge設定と一致するように)
eth_netmask="255.255.255.0" ←br0に設定するネットワークアドレス
eth_broadcast="192.168.7.255" ←br0に設定するブロードキャストアドレス
(〜省略〜)
ルータ、ゲートウェイ、VPNサーバー等の基本設定はtunの場合と同様。
ファイアウォール自動設定スクリプトの変更(tunの場合を参照)
/etc/openvpn/openvpn-startup
#!/bin/bash /etc/openvpn/openvpn-shutdown iptables -I OUTPUT -o br0 -j ACCEPT iptables -I FORWARD -o br0 -j ACCEPT iptables -I INPUT -i br0 -j ACCEPT iptables -I FORWARD -i br0 -d 192.168.7.0/24 -j ACCEPT iptables -A FORWARD -i br0 -o eth0 -s 192.168.7.0/24 -j ACCEPT LAN内部から外への通路 |
/etc/openvpn/openvpn-shutdown (上でtap0の記述はないので、この場合delete1は必要ないが)
#!/bin/bash delete1() { rule_number=`iptables -L $target --line-numbers -n -v | grep tap0 | awk '{print $1}' | sort -r` for num in $rule_number do iptables -D $target $num done } delete2() { rule_number=`iptables -L $target --line-numbers -n -v | grep br0 | awk '{print $1}' | sort -r` for num in $rule_number do iptables -D $target $num done } target='INPUT' delete1 delete2 target='FORWARD' delete1 delete2 target='OUTPUT' delete1 delete2 |
# chmod +x /etc/openvpn/openvpn-startup
# chmod +x /etc/openvpn/openvpn-shutdown
起動
ブリッジ・モードでOpenVPNサーバを起動させるには以下の順番で各サービスを起動させる必要がある。
ネットワーク機能 → ブリッジ機能 → OpenVPNサーバ
また、ネットワーク機能を再起動する場合など、一旦ネットワーク機能停止させる際は逆方向の順番で停止させる。
OpenVPNサーバ → ブリッジ機能 → ネットワーク機能
openvpn起動時にブリッジ・スクリプトを自動実行するようにする。
/etc/openvpn/openvpn-startupの変更
/etc/openvpn/openvpn-shutdownの下に続けて
/etc/openvpn/bridge-startを加える。
/etc/openvpn/openvpn-shutdownの変更
最後に/etc/openvpn/bridge-stopを加える。
起動したとき、br0がありませんとのメッセージがでるが、これはopenvpn-startupで最初に実行される停止作業(openvpn-shutdown=念のための初期化)によるもので無視してかまわない。
Windowsクライアント(vpnux Client)
プロファイルの編集
デバイスをTAPにする。
あとは、ルーティング方式のときと同じ。
TOP(HOME)へ