openwrt-19:openvpn-server
文書の過去の版を表示しています。
目次
OpenVPN サーバーのインストール
VPN ソフトの OpenVPN をインストールする。
環境
インストール環境
- OpenWrt 19.07.0
- Linksys WRT1900ACS
パッケージ名 | バージョン |
---|---|
openvpn-openssl | 2.4.7-2 |
openvpn-easy-rsa | 3.0.4-1 |
インストール
ファイアフォールの設定
ファイアフォールの設定を行う。以下のコマンドを実行する。
- lan ゾーンに OpenVPN のインターフェースの tun0 を追加
- OpenVPN 用に Allow-OpenVPN ルールを追加
- ファイアウォールを再起動
uci add_list firewall.@zone[0].device="tun0" uci set firewall.ovpn="rule" uci set firewall.ovpn.name="Allow-OpenVPN" uci set firewall.ovpn.src="wan" uci set firewall.ovpn.dest_port="1194" uci set firewall.ovpn.proto="udp" uci set firewall.ovpn.target="ACCEPT" uci commit firewall /etc/init.d/firewall restart
OpenVPN をインストール
先にパッケージをインストールして /etc 以下に OpenVPN 用のディレクトリを作成する。
opkg update opkg install openvpn-openssl
公開鍵基盤(PKI)を作成
パッケージをインストール。
opkg update opkg install openvpn-easy-rsa
cp -r /etc/easy-rsa/ /etc/openvpn/ cd /etc/openvpn/easy-rsa/
パラメータとして使われる環境変数を設定する。
vim ./vars
#set_var EASYRSA_REQ_CN "ChangeMe"
を以下に変更する。
set_var EASYRSA_REQ_CN "OpenWRT-OpenVPN"
他にも国コード等を変更したければ同様に変更する。
PKI ディレクトリを削除して初期化する。
vars ファイルは自動で読み込まれると書いてあるが読み込まれなかったので明示的に指定する。
easyrsa --vars=./vars --batch init-pki
サーバ側で必要な鍵を証明書を作成する。
gen-dh はルーターの性能によって数時間かかる場合がある
easyrsa --vars=./vars --batch gen-dh easyrsa --vars=./vars --batch build-ca nopass easyrsa --vars=./vars --batch build-server-full server nopass
クライアント側で必要な鍵と証明書を作成する。
easyrsa --vars=./vars --batch build-client-full client01 nopass easyrsa --vars=./vars --batch build-client-full client02 nopass easyrsa --vars=./vars --batch build-client-full client03 nopass
OpenVPN サーバのインストール
暗号を強化するための TLS 鍵を作成する。
openvpn --genkey --secret /etc/openvpn/easy-rsa/pki/tc.pem
server.conf を作成する。
OVPN_DH="$(cat /etc/openvpn/easy-rsa/pki/dh.pem)" OVPN_TC="$(sed -e "/^#/d;/^\w/N;s/\n//" /etc/openvpn/easy-rsa/pki/tc.pem)" OVPN_CA="$(openssl x509 -in /etc/openvpn/easy-rsa/pki/ca.crt)" OVPN_CERT="$(openssl x509 -in /etc/openvpn/easy-rsa/pki/issued/server.crt)" OVPN_KEY="$(cat /etc/openvpn/easy-rsa/pki/private/server.key)" NL=$'\n' cat << EOF > /etc/openvpn/server.conf verb 3 user nobody group nogroup dev tun0 port 1194 proto udp server 10.8.0.0 255.255.255.0 topology subnet client-to-client keepalive 10 120 persist-tun persist-key push "dhcp-option DNS 10.8.0.1" push "redirect-gateway def1 bypass-dhcp" push "block-outside-dns" push "persist-tun" push "persist-key" <dh>${NL}${OVPN_DH}${NL}</dh> <tls-crypt>${NL}${OVPN_TC}${NL}</tls-crypt> <ca>${NL}${OVPN_CA}${NL}</ca> <cert>${NL}${OVPN_CERT}${NL}</cert> <key>${NL}${OVPN_KEY}${NL}</key> EOF chmod 600 /etc/openvpn/server.conf /etc/init.d/openvpn restart
# /etc/init.d/openvpn restart
- /etc/easy-rsa/pki/ca.crt
- /etc/easy-rsa/pki/ta.key
- /etc/easy-rsa/pki/private/client.key
- /etc/easy-rsa/pki/issued/client.crt
TROUBLE SHOOT
opkg update opkg install ipset
参考
openwrt-19/openvpn-server.1580640694.txt.gz · 最終更新: 2020/02/02 19:51 by admin