ユーザ用ツール

サイト用ツール


openwrt:install-openvpn-server-tap

OpenVPN サーバをインストールする (TAP)

OpenVPN サーバをインストールし、外出先からでもルータ以下のネットワークに暗号化回線でアクセスできるようにする。

イーサネットブリッジネットワークを設定する。(TAP - レイヤ2ブリッジネットワーク)

環境

  • OpenWrt: ATTITUDE ADJUSTMENT (12.09, r36088)

パッケージをインストール

関連パッケージをインストール。

# opkg update
# opkg install openvpn openvpn-easy-rsa

鍵生成に必要な情報の設定を行う。

# vi /etc/easy-rsa/vars 

ファイル下方の以下の情報を修正。

export KEY_COUNTRY="JP"
export KEY_PROVINCE="Tokyo"
export KEY_CITY="Shinjuku"
export KEY_ORG="My OpenWrt Router"

サーバ用の鍵を生成

以前生成した鍵を消去し、鍵生成のための初期化を行う。

# clean-all
# build-ca
# build-dh

サーバの鍵を生成する。

# build-key-server server

クライアント用の鍵を生成する。

# build-key Alice
# build-key Bob
# build-key Charlie

PKCS12 形式の鍵を生成する場合は以下のコマンド。

# build-key-pkcs12 Alice
# build-key-pkcs12 Bob
# build-key-pkcs12 Charlie

生成した鍵を、 OpenVPN の設定ファイルディレクトリにコピー。

# cd /etc/easy-rsa/keys
# cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn/

ファイアウォールを設定

ファイアウォールの設定を変更し、外出先からのアクセスを受け付けるようにする。

# vi /etc/config/firewall

以下の設定をファイルの末尾に追記。

config 'rule'
        option 'target' 'ACCEPT'
        option 'dest_port' '1194'
        option 'src' 'wan'
        option 'proto' 'tcpudp'
        option 'family' 'ipv4'

ファイアウォールを再起動し、設定を有効にする。

# /etc/init.d/firewall restart

DHCP サーバの設定を変更する

OpenVPN の制御と競合する場合があるため、DHCP サーバで IP を配る範囲を限定する。

# vi /etc/config/dhcp

dhcp 'lan' セクションを以下に変更。

config dhcp 'lan'                                
        option interface 'lan'                   
        option leasetime '12h'                   
        option start '50'    
        option limit '150'     
        option ignore '0'

DHCP の設定を有効にする。

# /etc/init.d/dnsmasq restart

OpenVPN のサーバ設定

# vi /etc/config/openvpn
config 'openvpn' 'vpntap'
        option 'enable' '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/dh1024.pem'
        option 'ifconfig_pool_persist' '/tmp/ipp.txt'
        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'
        option 'server_bridge' '192.168.1.1 255.255.255.0 192.168.1.151 192.168.1.170'
        list push 'comp_lzo adaptive'
  • server_bridge の設定内容
ネットワークアドレス192.168.1.1
サブネットマスク255.255.255.0
OpenVPN クライアント IP192.168.1.151 〜 192.168.1.170

サーバを開始し、ブート時に自動起動するように設定。

# /etc/init.d/openvpn start
# /etc/init.d/openvpn enable

OpenVPN をルータの LAN に接続する。

Web 設定画面から、 Network → Interface → LAN → Edit を選択。

Physical Settings のタブで Ethernet Adapter: “tap0” のチェックをオンにする。

クライアントの設定

クライアントの設定ファイルは以下になる。

クライアントソフトには TunnelBlick を使用した。

設定ファイルの openwrt.ovpn は以下の内容で作成。

client
tls-client
dev tap
proto udp

remote <server address> 1194 # OpenVPN サーバのホスト名か IP アドレスを記述
resolv-retry infinite
nobind

persist-tun
persist-key

ca ca.crt
cert Jimmy.crt
key Jimmy.key
dh dh1024.pem
#pkcs12 Jimmy.p12    # PKCS #12 形式の鍵を使う場合は、上記4行をコメントアウトし、この行を用いる

verb 3
openwrt/install-openvpn-server-tap.txt · 最終更新: 2014/08/03 19:12 by admin