今回 OpenWrt をインストールした Linksys WRT320N です。 |
過去の WRT320N の記事です。
Linksys WRT320N へ DD-WRT をインストール
http://near-unix.blogspot.jp/2015/02/linksys-wrt320n-dd-wrt.html
Linksys WRT320N の 5GHz 帯の通信転送速度
http://near-unix.blogspot.jp/2015/03/linksys-wrt320n-5ghz.html
Linksys WRT320N の Tomato ファームウェアで J52 対応
http://near-unix.blogspot.jp/2015/03/linksys-wrt320n-tomato-j52.html
Linksys WRT320N の電源ソケットの修理
http://near-unix.blogspot.jp/2015/03/linksys-wrt320n.html
Linksys WRT320N へシリアルコンソールの端子を設置
http://near-unix.blogspot.jp/2015/04/linksys-wrt320n.html
インストールの目標
OpenWrt をインストールした後、OpenVPN で WRT320N が管理している LAN へログインできるようにすることを目標としました。そのため、通常の OpenWrt のインストールの他、OpenVPN やダイナミック DNS のインストールと設定を行いました。OpenWrt Chaos Calmer 15.05 のインストール
以下の OpenWrt Wiki を参考にしてインストールを行いました。直前まで Tomato ファームウェアをインストールしていましたが、ファームウェアのアップグレード機能で OpenWrt のファームウェア(openwrt-15.05-brcm47xx-mips74k-linksys-wrt320n-v1-squashfs.bin)を指定してアップグレード処理することにより、OpenWrt をインストールすることができました。Linksys WRT320N/E2000 [OpenWrt Wiki]
https://wiki.openwrt.org/toh/linksys/wrt320n
ファームウェアのダウンロード
https://downloads.openwrt.org/chaos_calmer/15.05/brcm47xx/mips74k/
openwrt-15.05-brcm47xx-mips74k-linksys-wrt320n-v1-squashfs.bin
OpenWrt をインストールした WRT320N のステータス画面です。 |
以下の設定では telnet でログインを行って端末上からパッケージ類のインストールを行い、ブラウザ画面の LuCiから各種の設定を行いました。
無線 LAN ドライバを brcm-wl へ変更
標準の無線 LAN のドライバは b43が使用されているため、2.4GHz 帯の IEEE 802.11 b/g のみの対応となっています。これを 5 GHz 帯の 11a や 11n モードへ対応するために brcm-wl ドライバへ変更しました。この変更は過去にも Broadcom のチップを使用している無線 LAN ルータでも同様に行っています。# opkg update
# opkg install kmod-brcm-wl wlc nas
# opkg remove kmod-b43 kmod-b43legacy
# reboot
ダイナミック DNS の設定
インターネット経由で WRT320N へアクセスするためにダイナミック DNS を使って IP アドレスを取得できるようにしました。OpenWrt では ddns-scripts をインストールして使用します。そして使用するダイナミック DNS のサーバ は No-IP を使用しました。そのため No-IP 専用の ddns-scripts_no-ip_com をインストールしました。# opkg update
# opkg install ddns-scripts ddns-scripts_no-ip_com luci-app-ddns
# reboot
ダイナミック DNS の設定は、ブラウザ画面の LuCi から設定を行いました。種類に "No-IP.com" を選んで、ユーザ名やパスワードを設定すれば、すぐに設定は反映されて、WAN 側の IP アドレスが No-IP の DNS サーバへ登録されました。
ダイナミック DNS の設定画面 IPv4 の設定のみを行いました。 |
"Edit" ボタンを押して編集画面へ移行した画面です。 ここで詳細な設定を行いました。 |
OpenVPN の設定
OpenVPN をインストールするにあたって、証明書類は WRT320N 上で作成すると時間がかかりそうだったので、パソコンで作成しました。この証明書に作成については記述を割愛しました。証明書の作成や OpenVPN の設定は、過去の記事と OpenWrt Wiki を参考にしてください。FreeBSD の自宅サーバへ OpenVPN をインストール(ルーティング方式)
http://near-unix.blogspot.jp/2014/08/freebsd-openvpn.html
OpenVPN Setup Guide for Beginners [OpenWrt Wiki]
https://wiki.openwrt.org/doc/howto/vpn.openvpn
OpenVPN のパッケージをインストールしました。
# opkg update
# opkg install openvpn-openssl luci-app-openvpn collectd-mod-openvpn
まず最初に OpenVPN で使用する tun0 のインターフェースを uci 設定コマンドで作成しました。
# uci set network.vpn0=interface
# uci set network.vpn0.ifname=tun0
# uci set network.vpn0.proto=none
# uci set network.vpn0.auto=1
次に OpenVPN のパケットを通過させるトラフィック・ルール(Allow-OpenVPN-Inbound)をファイアウォールへ作りました。使用するポート番号は、標準の 1194 ではなく 1196 を使用しました。初めて設定する読者さんは、とりあえず標準の 1194 で設定することをお奨めします。
# uci add firewall rule
# uci set firewall.@rule[-1].name=Allow-OpenVPN-Inbound
# uci set firewall.@rule[-1].target=ACCEPT
# uci set firewall.@rule[-1].src=*
# uci set firewall.@rule[-1].proto=udp
# uci set firewall.@rule[-1].dest_port=1196
さらに OpenVPN のトンネルのファイアウォール・ゾーン(vpn)を作成しました。
# uci add firewall zone
# uci set firewall.@zone[-1].name=vpn
# uci set firewall.@zone[-1].input=ACCEPT
# uci set firewall.@zone[-1].forward=REJECT
# uci set firewall.@zone[-1].output=ACCEPT
# uci set firewall.@zone[-1].network=vpn0
# uci add firewall forwarding
# uci set firewall.@forwarding[-1].src='vpn'
# uci set firewall.@forwarding[-1].dest='wan'
以上の uci コマンドで設定した内容を反映させました。
# uci commit network
# /etc/init.d/network reload
# uci commit firewall
# /etc/init.d/firewall reload
OpenVPN の詳細設定をブラウザ設定画面の LuCi で行いました。主に証明書類(ca, dh, cert, key)の設定を行ったのですが、設定画面の左下にある追加項目を選択して "Add" ボタンを押して、追加しては、証明書のファイルを指定しました。
OpenVPN の設定画面 インストール直後には三種類の設定がありましたが、不要なものは削除しました。 "sample_server" を変更して "WRT320N_Server" としました。 |
OpenVPN の詳細設定画面です。 |
証明書類は項目を追加しながらファイルを指定しました。 |
以上の設定で OpenVPN のだいたいの設定が終わりました。しかしまだ細かな部分の設定が残っていますので、直接 OpenVPN の設定ファイル(/etc/config/openvpn)を編集して、設定を行いました。
# vi /etc/config/openvpn
以下は OpenVPN の設定ファイル(/etc/config/openvpn)の参考例です。最下段(四段)の青文字部分が、追加した部分です。WRT320N のサブネットは、192.168.1.0 を使用して、さらに OpenVPN のトンネルには 192.168.11.0 のサブネットを使用するようにしています。DNS サーバは WRT320N の DNS 機能を使用するようにしました。
config openvpn 'WRT320N_Server'
option proto 'udp'
option dev 'tun'
option ifconfig_pool_persist '/tmp/ipp.txt'
option keepalive '10 120'
option comp_lzo 'yes'
option persist_key '1'
option persist_tun '1'
option user 'nobody'
option status '/tmp/openvpn-status.log'
option verb '3'
option port '1196'
option dh '/lib/uci/upload/cbid.openvpn.sample_server.dh'
option cert '/lib/uci/upload/cbid.openvpn.sample_server.cert'
option key '/lib/uci/upload/cbid.openvpn.sample_server.key'
option ca '/lib/uci/upload/cbid.openvpn.sample_server.ca'
option enabled '1'
option server '192.168.11.0 255.255.255.0'
option push 'route192.168.1.0 255.255.255.0'
option push 'redirect-gateway def1'
option push 'dhcp-option DNS 192.168.1.1'
以上で設定は終了です。念の為 WRT320N を再起動させて、動作確認を行いました。
OpenWrtをインストールした WRT320N です。 |
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。