OpenWrtで OpenVPN(2) サーバ設定

「OpenWrtで OpenVPN(2) サーバ設定」の編集履歴(バックアップ)一覧はこちら

OpenWrtで OpenVPN(2) サーバ設定」(2015/04/17 (金) 23:06:39) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*OpenWrtで OpenVPN(2) サーバ設定 ネットワークAに設置するサーバのインストール、設定を行います。 **主な流れ 以下の順で説明します。   OpenWrtをインストールしたルータを用意する (当ウィキの他頁を参考に、OpenWrtをセットアップしてください)  ↓ OpenVPN関連のパッケージをインストール  ↓ CA証明書などを作成する ↓ ネットワークの設定を行う ↓ OpenVPNの設定を行う ↓ OpenVPNを起動する **1.OpenVPN関連のパッケージをインストール &bold(){この章では、以下のパッケージをインストールします} OpenVPN本体  openvpn-openssl 認証局作成ツール  openvpn-easy-rsa &bold(){パッケージのインストール} システム→ソフトウェア と選択し、&bold(){リストの更新}ボタンを押下します。 しばらくするとパッケージリストが更新されます。 (ログがずらずら~っと画面に表示されるので、すぐに分かります) リストが更新されたら&bold(){ステータス欄}の&bold(){インストール可能なパッケージ}タブを開きます。 フィルタ欄に&bold(){openvpn}と入力して検索します。 検索結果から openvpn-easy-rsa openvpn-openssl をインストールします。 **2.CA証明書などを作成する(認証局の構築) 以下は、すべてOpenWrtルータにSSHでログインして作業を行います。 &italic(){/etc/easy-rsa/vars} を、以下の要領で編集します。 export EASY_RSA="/etc/easy-rsa" export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" export KEY_CONFIG=`/usr/sbin/whichopensslcnf $EASY_RSA` export KEY_DIR="$EASY_RSA/keys" echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" export KEY_SIZE=2048 export CA_EXPIRE=3650 export KEY_EXPIRE=3650 export KEY_COUNTRY="JP" ←認証局が設置される「国」を指定 export KEY_PROVINCE="kinki" ←同「州」を指定 export KEY_CITY="Osaka" ←同「都市」を指定 export KEY_ORG="Private Router" ←同「組織」を指定 export KEY_EMAIL="me@myhost.mydomain" export KEY_OU="MyOrganizationalUnit" export KEY_NAME="EasyRSA" 今回デフォルトから変更したのは、コメントを右側に記入した行のみです。 あとは、必要に応じて変更してください。 設定が完了したら、以下のコマンドでCA証明書/DHパラメータを作成します。 # clean-all # build-ca →表示される問いには全てデフォルト値を回答する # build-dh →相当な時間が掛かります(WZR-HPAG300Hで2~3時間程度) 引き続き、以下のコマンドでサーバ鍵を生成します。 #build-key-server server  ~質問内容省略~ A challenge password []: ←サーバ鍵に設定するパスワードを指定 Sign the certificate? [y/n]: ←「y」を回答 1 out of 1 certificate requests certified, commit? [y/n] ←「y」を回答 これで、&bold(){server.key}、&bold(){server.crt}というファイル名でサーバ鍵が生成されます。 ※ファイルは&bold(){/etc/easy-rsa/keys}に作成されます 続いて、以下のコマンドでクライアント鍵を生成します。 # build-key my-router ※パラメータはすべてサーバ鍵と同一 これで、&bold(){my-router.key}、&bold(){my-router.crt}というファイル名でサーバ鍵が生成されます。 ※ファイルは&bold(){/etc/easy-rsa/keys}に作成されます 作成したサーバ鍵/CA証明書を、所定のディレクトリにコピーします。 # cd /etc/easy-rsa/keys # cp -p ca.crt ca.key dh2048.pem server.crt server.key /etc/openvpn/ また、/etc/easy-rsa/keys/に作成された&bold(){my-router.key}、&bold(){my-router.crt}はクライアント側の設定に必要となりますので、ftpなどでPCなどにコピーしておいてください。 **3.ネットワークの設定を行う ファイアウォールの設定を変更し、クライアント(ネットワークBのルータ)からのアクセスを許可します。 &italic(){/etc/config/firewall} の末尾に、以下の設定を追記します。 #OpenVPN connection setting config rule option name openvpn-udp option src wan option target ACCEPT option proto udp option dest_port 1194 option family ipv4 DHCPサーバでのIPアドレス配布範囲を制限します。 &italic(){/etc/config/dhcp}を、以下の要領で編集します。 config dhcp 'lan' option interface 'lan' option start '50' ←配布開始アドレス option limit '50' ←配布個数 option leasetime '12h' option dhcpv6 'server' option ra 'server' このルータのLAN側IPアドレスは、192.168.1.1/255.255.255.0に設定されています。 この設定で start 50 / limit 50 としていることにより、 192.168.1.50~192.168.1.100 の範囲でDHCPからIPアドレスの払い出しが行われることになります。 **4.OpenVPNの設定を行う &italic(){/etc/config/openvpn}を以下の要領で編集します。 config openvpn vpntap option enabled 1 option port 1194 option proto udp option dev tap0 option ca /etc/openvpn/ca.crt option cert /etc/openvpn/server.crt option key /etc/openvpn/server.key option dh /etc/openvpn/dh2048.pem option ifconfig_pool_persist /tmp/ipp.txt option server_bridge "192.168.1.1 255.255.255.0 192.168.1.150 192.168.1.250" option keepalive "10 120" option comp_lzo adaptive option persist_key 1 option persist_tun 1 option status /tmp/openvpn-status.log option verb 3 list push comp_lzo adaptive server_bridgeの設定内容は以下の通りです。 第1引数: ネットワークアドレス 第2引数: サブネットマスク 第3,4引数: OpenVPNクライアントに払い出すIPアドレスの範囲 この設定例では、クライアントに192.168.1.150~192.168.1.250の範囲でIPアドレスを払い出します。 **5.OpenVPNを起動する 以下のコマンドにより、OpenVPNを起動します。 # /etc/init.d/openvpn start # /etc/init.d/openvpn enable ※OpenWrtのGUI(LuCI)からも起動可能です。 これで、ネットワークA(サーバ側)の設定は完了です。
*OpenWrt/OpenVPNで拠点間接続 (2)サーバ設定 ネットワークAに設置するサーバのインストール、設定を行います。 **主な流れ 以下の順で説明します。   OpenWrtをインストールしたルータを用意する (当ウィキの他頁を参考に、OpenWrtをセットアップしてください)  ↓ OpenVPN関連のパッケージをインストール  ↓ CA証明書などを作成する ↓ ネットワークの設定を行う ↓ OpenVPNの設定を行う ↓ OpenVPNを起動する **1.OpenVPN関連のパッケージをインストール &bold(){この章では、以下のパッケージをインストールします} OpenVPN本体  openvpn-openssl 認証局作成ツール  openvpn-easy-rsa &bold(){パッケージのインストール} システム→ソフトウェア と選択し、&bold(){リストの更新}ボタンを押下します。 しばらくするとパッケージリストが更新されます。 (ログがずらずら~っと画面に表示されるので、すぐに分かります) リストが更新されたら&bold(){ステータス欄}の&bold(){インストール可能なパッケージ}タブを開きます。 フィルタ欄に&bold(){openvpn}と入力して検索します。 検索結果から openvpn-easy-rsa openvpn-openssl をインストールします。 **2.CA証明書などを作成する(認証局の構築) 以下は、すべてOpenWrtルータにSSHでログインして作業を行います。 &italic(){/etc/easy-rsa/vars} を、以下の要領で編集します。 export EASY_RSA="/etc/easy-rsa" export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" export KEY_CONFIG=`/usr/sbin/whichopensslcnf $EASY_RSA` export KEY_DIR="$EASY_RSA/keys" echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" export KEY_SIZE=2048 export CA_EXPIRE=3650 export KEY_EXPIRE=3650 export KEY_COUNTRY="JP" ←認証局が設置される「国」を指定 export KEY_PROVINCE="kinki" ←同「州」を指定 export KEY_CITY="Osaka" ←同「都市」を指定 export KEY_ORG="Private Router" ←同「組織」を指定 export KEY_EMAIL="me@myhost.mydomain" export KEY_OU="MyOrganizationalUnit" export KEY_NAME="EasyRSA" 今回デフォルトから変更したのは、コメントを右側に記入した行のみです。 あとは、必要に応じて変更してください。 設定が完了したら、以下のコマンドでCA証明書/DHパラメータを作成します。 # clean-all # build-ca →表示される問いには全てデフォルト値を回答する # build-dh →相当な時間が掛かります(WZR-HPAG300Hで2~3時間程度) 引き続き、以下のコマンドでサーバ鍵を生成します。 #build-key-server server  ~質問内容省略~ A challenge password []: ←サーバ鍵に設定するパスワードを指定 Sign the certificate? [y/n]: ←「y」を回答 1 out of 1 certificate requests certified, commit? [y/n] ←「y」を回答 これで、&bold(){server.key}、&bold(){server.crt}というファイル名でサーバ鍵が生成されます。 ※ファイルは&bold(){/etc/easy-rsa/keys}に作成されます 続いて、以下のコマンドでクライアント鍵を生成します。 # build-key my-router ※パラメータはすべてサーバ鍵と同一 これで、&bold(){my-router.key}、&bold(){my-router.crt}というファイル名でサーバ鍵が生成されます。 ※ファイルは&bold(){/etc/easy-rsa/keys}に作成されます 作成したサーバ鍵/CA証明書を、所定のディレクトリにコピーします。 # cd /etc/easy-rsa/keys # cp -p ca.crt ca.key dh2048.pem server.crt server.key /etc/openvpn/ また、/etc/easy-rsa/keys/に作成された&bold(){my-router.key}、&bold(){my-router.crt}はクライアント側の設定に必要となりますので、ftpなどでPCなどにコピーしておいてください。 **3.ネットワークの設定を行う ファイアウォールの設定を変更し、クライアント(ネットワークBのルータ)からのアクセスを許可します。 &italic(){/etc/config/firewall} の末尾に、以下の設定を追記します。 #OpenVPN connection setting config rule option name openvpn-udp option src wan option target ACCEPT option proto udp option dest_port 1194 option family ipv4 DHCPサーバでのIPアドレス配布範囲を制限します。 &italic(){/etc/config/dhcp}を、以下の要領で編集します。 config dhcp 'lan' option interface 'lan' option start '50' ←配布開始アドレス option limit '50' ←配布個数 option leasetime '12h' option dhcpv6 'server' option ra 'server' このルータのLAN側IPアドレスは、192.168.1.1/255.255.255.0に設定されています。 この設定で start 50 / limit 50 としていることにより、 192.168.1.50~192.168.1.100 の範囲でDHCPからIPアドレスの払い出しが行われることになります。 **4.OpenVPNの設定を行う &italic(){/etc/config/openvpn}を以下の要領で編集します。 config openvpn vpntap option enabled 1 option port 1194 option proto udp option dev tap0 option ca /etc/openvpn/ca.crt option cert /etc/openvpn/server.crt option key /etc/openvpn/server.key option dh /etc/openvpn/dh2048.pem option ifconfig_pool_persist /tmp/ipp.txt option server_bridge "192.168.1.1 255.255.255.0 192.168.1.150 192.168.1.250" option keepalive "10 120" option comp_lzo adaptive option persist_key 1 option persist_tun 1 option status /tmp/openvpn-status.log option verb 3 list push comp_lzo adaptive server_bridgeの設定内容は以下の通りです。 第1引数: ネットワークアドレス 第2引数: サブネットマスク 第3,4引数: OpenVPNクライアントに払い出すIPアドレスの範囲 この設定例では、クライアントに192.168.1.150~192.168.1.250の範囲でIPアドレスを払い出します。 **5.OpenVPNを起動する 以下のコマンドにより、OpenVPNを起動します。 # /etc/init.d/openvpn start # /etc/init.d/openvpn enable ※OpenWrtのGUI(LuCI)からも起動可能です。 これで、ネットワークA(サーバ側)の設定は完了です。

表示オプション

横に並べて表示:
変化行の前後のみ表示: