物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

OpenWRTでのmwl8kドライバは11a対応していないようです

OpenWRT10.03にドライバを組み込んでみましたが無線NICは動きませんでした のあと、無線NICを動かす方法が無いか探してみました。

OpenWrt / Compiling Firmware (or porting OpenWRT) on a WNR854T/WNR834M の#45以降で、mwl8kドライバを書き換えたり、ヘルパープログラムを使用することで動くように出来るとありました。

コンパイルした環境の build_dir/linux-orion_generic/linux-2.6.32.10/drivers/net/wireless/mwl8k.c を見たところ、次のように2.4GHzしか対応していないようです。

static const struct ieee80211_channel mwl8k_channels[] = {
{ .center_freq = 2412, .hw_value = 1, },
{ .center_freq = 2417, .hw_value = 2, },
{ .center_freq = 2422, .hw_value = 3, },
{ .center_freq = 2427, .hw_value = 4, },
{ .center_freq = 2432, .hw_value = 5, },
{ .center_freq = 2437, .hw_value = 6, },
{ .center_freq = 2442, .hw_value = 7, },
{ .center_freq = 2447, .hw_value = 8, },
{ .center_freq = 2452, .hw_value = 9, },
{ .center_freq = 2457, .hw_value = 10, },
{ .center_freq = 2462, .hw_value = 11, },
};

WZR-AMG144NHは、mini-PCIが2スロットあり、同じチップの無線NICで2.4GHzと5GHzが搭載さえていますので、早く5GHzにも対応してほしいところです。

つづきを表示

スポンサーサイト

PageTop

OpenVPNで同一証明書のクライアントを同時に使用する設定

通常、複数のクライアントでOpenVPNサーバーに接続する場合は、PC毎に個別の証明書を発行して使用します。
同じ証明書で同時に接続すると、クライアントに同じIPが割り当てられてしまい、通信が出来なくなります。

証明書を随時発行すれば良いのですが、プライベートで使用するのにめんどくさいため、何とか出来ないかを調べてみました。

OpenVPN 2.1 や http://www.teeda.jp/~genta/openvpn/1.6-beta7/openvpn.8 の設定項目を確認したところ、ifconfig-pool や ifconfig パラメーターで、クライアント毎に別のIPが割り当てられないかと考えました。

しかし、 duplicate-cn というパラメーターが有り、説明を読むとマルチクライアントの許可がされるようです。
メモめもMemo・・・ >> openvpn  ではこの設定を使用しており、問題なく使用できるそうです。

この設定を行い、同一証明書の複数Cを同時に接続したところ、各PCに別のIPが割り当てられ問題なく通信が行えるようになりました。

PageTop

dd-wrtのページにV24でのOpenVPN設定がありました

OpenWRTとdd-wrtのOpenVPN設定ですが、いろいろなページを捜して設定していました。
dd-wrtのサイトにも情報がありますが、GUIでの設定に関しては良い物が見つけられませんでした。

dd-wrtでのGUIによるOpenVPN設定が出来ましたが、その後もOpenVPN設定に関して調べていたところ、dd-wrtのサイトにV24のGUI設定がありました。
OpenVPN - DD-WRT Wiki
VPN (the easy way) v24+ - DD-WRT Wiki

VPN版で無い場合にパッケージでインストールする方法も含めて、いろいろと載っていました。
先に見つけていれば、もう少し楽に設定できていたかもしれないです。

PageTop

OpenWRT10.03にドライバを組み込んでみましたが無線NICは動きませんでした

OpenWRT10.03にはWZR-AMG144NHの無線NICドライバが無いようです でWZR-AMPG144NH上のOpenWRT10.03で無線NICが使用できませんでした。
調べたところ、コンパイル時にドライバ一緒に作成する方法がありました。

OpenWrt / Compiling Firmware (or porting OpenWRT) on a WNR854T/WNR834M の#44に有るように、snvで取得したソースファイルのうち、下記2ファイルを書き換えるそうです。
target/linux/orion/Makefile
package/mac80211/Makefile

書き換えてコンパイルしたところ、問題なく終了したのでddで書き込んで起動したのですが、無線NICは使用できませんでした。
lsmodで確認すると、mwl8kドライバは組み込まれていました。
mwl8k 24140 0
mac80211 184352 3 mwl8k,ath9k,ath9k_common
cfg80211 114500 5 mwl8k,ath9k,ath9k_common,ath,mac80211
compat_firmware_class 4796 1 mwl8k

無線NICが使用できるまでには、まだ手間がかかりそうです。

PageTop

OpenVPNのフラグメント対策2

OpenVPNのフラグメント対策 で行った設定では、通信が出来なくなってしまいました。

いろいろと調べたところ、Windows版OpenVPNのログに下記が有りました。
Sun Apr 25 08:28:29 2010 TAP-Win32 MTU=1500

クライアント設定ファイルでMTUを設定しているのですが、MTUが1500になってしまいます。
OpenVPN用のネットワークインターフェースの構成で、詳細設定にMTUがあったのでこれを変更したところ、クライアント設定ファイルでMTUを設定しなくてもMTUが指定されました。

サーバー側のMTUとネットワークインターフェースのMTUを合わせたところ、問題なく接続出来るようになりました。
サーバー側もMTU設定だけにしました。

Windows版OpenVPNでMTUを設定する場合は、クライアント設定ファイルで無くネットワークインターフェースで設定する必要があるようです。

PageTop

OpenWRT10.03にはWZR-AMG144NHの無線NICドライバが無いようです

WZR-AMPG144NHにOpenWRT10.03が書き込めました で無線LANが動きませんでした。
コンパイルしたファームを書いたためかと考えましたが、ダウンロードしたファームを書き込んでいました。

無線NICを確認したところ、Marvell 88W8363-BEM1 F633742.4 と 88W8363-BEM1 F634063.11 が搭載されています。
パッケージに kmod-libertas 2.6.32.10+2010-03-24-5 Marvell 88W8015 Wireless Driver があったのでインストールしたのですが、動きませんでした。

調べたところ、OpenWrt / Compiling Firmware (or porting OpenWRT) on a WNR854T/WNR834M によると、Marvellの無線NICドライバは10.03に含まれておらず、コンパイルする時にダウンロードしてコンパイルされるように変更する必要があるようです。

せっかくMarvellに対応したバージョンなので、無線NICドライバも含まれればそのまま使えたのですが、問題があったのでしょうか。

PageTop

OpenVPNのフラグメント対策

OpenVPNで接続した場合、通信が遅かったり途切れる場合があります。
使用している回線がPPPoEのため、MTUを1454にしていましたので、OpenVPNでもMTU設定を変更することを考えました。

OpenVPN 2.1 や http://www.teeda.jp/~genta/openvpn/1.6-beta7/openvpn.8 などにMTU関連の設定がいろいろと書かれています。
とはいえ、いろいろと調整するのが面倒なので、OpenVPNとは [Gentoo Linuxな生活/OpenVPNで悩む] - 特集記事 - Nest Of Hawk を参考に、下記を設定しました。

tun-mtu 1280
tun-mtu-extra 32
mssfix 1280
fragment 1280

インターネット側から接続した場合、通信が出来ないため設定を確認中


とりあえずこれで様子を見ることにします。

PageTop

WZR-AMPG144NHへのWebアップグレードは出来ませんでした

WZSR-AMPG144NHにOpenWRT10.03が書き込めました で、LuCIのファームウェアアップデートでエラーとなりましたが、ダウンロードしたファイルをいろいろ試したところ、下記はエラーとならず書き込むことが出来そうでした。

openwrt-dt2-uImage
openwrt-orion-squashfs.img
openwrt-wnr854t-uImage
openwrt-wrt350nv2-squashfs.img
openwrt-wrt350nv2-squashfs-recovery.bin
openwrt-wrt350nv2-uImage


openwrt-wnr854t-uImage を書き込んだところ、書き込み完了後の再起動で起動しなくなりました。
### JFFS2 loading 'uImage' to 0x400000
Scanning JFFS2 FS: . done.
find_inode failed for name=uImage
load: Failed to find inode
### JFFS2 LOAD ERROR<0> for uImage!
# LED(0x80) Blink[2] (Please press 'Ctrl+c' to stop)


openwrt-orion-squashfs.img でも同じエラーとなり、書き込めるフォーマットのファームでも、書き込んでしまうと動かなくなるようです。

PageTop

WZSR-AMPG144NHにOpenWRT10.03が書き込めました

ramfsのOpenWRT10.03ではWebアップグレードが出来ませんでした が、OpenWrt / Support for Marvell 88F5xx81 based routers の32 に sysupgradeコマンドで書きこむ方法がありました。

ramfsで起動してopenwrt-wrt350nv2-squashfs.imgを書き込んだのですが、起動できませんでした。
oot@OpenWrt:/tmp# sysupgrade -n openwrt-wrt350nv2-squashfs.img
Performing system upgrade...
Unlocking image ...
Writing from to image ...
Upgrade completed
Rebooting system...

cut

### JFFS2 loading 'uImage' to 0x400000
Scanning JFFS2 FS: done.
find_inode failed for name=uImage
load: Failed to find inode
### JFFS2 LOAD ERROR<0> for uImage!
# LED(0x80) Blink[2] (Please press 'Ctrl+c' to stop)

つづきを表示

PageTop

ramfsのOpenWRT10.03ではWebアップグレードが出来ませんでした

WZR-AMPG144NHへOpenWRT10.03は書き込めませんでした では、リリースされているOpenWRT10.03のイメージが書き込めませんでした。
ramfsでコンパイルしたものから書き込めるかのテストをしてみました。

svn://svn.openwrt.org/openwrt/branches/backfire にてソースをダウンロードして、事前準備を整えました。
コンパイルの設定は、svn://svn.openwrt.org/openwrt/branches/backfire を使用してみましたが、下記のエラーでコンパイル出来ませんでした。
sablevm-sdk: sablevm-sdk requires jikes.

make[3]: *** [prereq] Error 1
Checking '/usr/include/openssl/ssl.h'... ok.
Package prerequisite check failed.
make[2]: *** [tmp/.prereq_packages] Error 1
make[1]: *** [prereq] Error 2
make: *** [world] エラー 2

つづきを表示

PageTop

dd-wrtのbroadcom_K26のサポートリストがありました

dd-wrtのbroadcom_K26が使えませんでした ので調べたところ、次の情報がありました。

DD-WRT Forum :: View topic - V24-K26 svn13309 Generic によると、http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24-K26/svn13309/supported_list.txt に対応ハードウェアリストがあるそうです。
これを見たところ下記のように書かれており、書かれているルーター以外で使用してはダメ、使用するとbrickすると書かれています。
ただこのファイルが全てのバージョンのディレクトリにないので、初めて使用する人は見落とす可能性があります。

Supported routers list:

Asus RT-N16

Linksys WRT160Nv3
Linksys WRT320N

Netgear WNR3500L
Netgear WNR3500U
Netgear WNR3500v2
Netgear WNR3500v2_VC

Don't use on any other router, it will brick it.

PageTop

WZR-AMPG144NHへOpenWRT10.03は書き込めませんでした

OpenWRTでOrionがサポートされました ので、WZR-AMPG144NHへ書き込んでみました。

http://backfire.openwrt.org/10.03/orion/ にある下記ファイルをダウンロードして、いろいろ試したのですが、うまく行きませんでした。
openwrt-dt2-squashfs-webupgrade.img
openwrt-dt2-squashfs.img
openwrt-dt2-uImage
openwrt-orion-squashfs.img
openwrt-wnr854t-squashfs-webupgrade.img
openwrt-wnr854t-squashfs.img
openwrt-wnr854t-uImage
openwrt-wrt350nv2-squashfs-recovery.bin
openwrt-wrt350nv2-squashfs-webupgrade.img
openwrt-wrt350nv2-squashfs.img
openwrt-wrt350nv2-uImage

つづきを表示

PageTop

WAN側からOpenVPNを使用する場合のiptable設定

dd-wrtでOpenVPN証明書サーバーが設定できました ので、WAN側から使用できるようにしました。

まず、WAN側から接続できるように、iptableのINPUT設定に下記を追加します。
iptables -I INPUT 1 -i tun0 -j logaccept

次に、tun0インターフェースからのパケットをWAN側へルーティングできるように、iptableのFORWARD設定に下記を追加します。
iptables -I FORWARD 1 -i tun0 -o ppp+ -s 10.8.0.0/24 -j logaccept

tun0からLAN側へ通信が出来ないようにbr0宛のパケットをdropするように、iptableのFORWARD設定に下記を追加します。
iptables -I FORWARD 1 -i tun0 -o br0 -s 10.8.0.0/24 -j logdrop

これでWAN側からOpenVPNを接続して、インターネットに接続出来るようになりました。
ただし、この状態でもdd-wrtのIPには接続できてしまうので、これもブロックするにはtun0からLAN側IPへの通信をFORWARDでブロックする必要があるようです。

PageTop

dd-wrtのWeb管理画面でOpenVPNのステータス表示をする方法

dd-wrtでOpenVPN証明書サーバーが設定できました のですが、dd-wrtのWeb管理画面の機器診断>OpenVPNでは、ステータスなどがなにも表示されません。

ログファイルが必要かと思い、下記の設定を追加したのですが状況は変わりませんでした。
log /tmp/openvpn/openvpn.log
status /tmp/openvpn/openvpn-status.log

調べたところ、managementの設定を行う必要があるそうです。
DD-WRT Forum :: View topic - OpenVPN Status Tab (OpenVPN Daemon) for the developers 11793
下記の設定を追加したところ、表示されるようになりました。
management localhost 5001

PageTop

OpenVPNのセキュリティ向上

dd-wrtでOpenVPN証明書サーバーが設定できました ので、さらにセキュリティ向上の設定を追加しました。

FrontPage - OpenVPN Japanese Information (wiki) のセキュリティ強化を元に、tls-auth の設定を行いました。

openvpn --genkey --secret ta.key にて共有秘密鍵を作成しました。
dd-wrtのOpenVPN設定画面で、OpenVPN TLS Auth欄に ta.keyを貼り付け、OpenVPN Config欄に tls-auth /tmp/openvpn/ta.key 0 を追加しました。
クライアント側の設定ファイルにtls-auth ta.key 1 を追加し、ta.keyをコピーしました。

次に大きな対称鍵を使用するように、サーバー・クライアントの設定に cipher AES-256-CBC を追加しました。

大きなRSA鍵を使用することが出来ますが、証明書作成前に設定を変更する必要があるため、今回は行いませんでした。
udpを使用する設定は行ってあったので、今回の作業は完了です。現在の設定は下記のようになりました。

dev tun
proto udp
resolv-retry infinite
persist-key
persist-tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
dh /tmp/openvpn/dh.pem
comp-lzo
server 10.8.0.0 255.255.255.0
ルート追加
keepalive 10 120
cipher AES-256-CBC
tls-auth /tmp/openvpn/ta.key 0

PageTop

WZR2-G108のファーム書き換え

WZR2-G108の調子が悪かったのですが、OpenVPN設定を行った時にca.certが書き込めない、無線設定が一部変わってしまいもどそうとした変更が反映されない、などのもんだいがありました。

ファームウェアの変更を、mini->NEWD openvpn_jffs_small と変更したこともあり、設定をリセットして書き込みなおすことにしました。

dd-wrtでVPNとjffsを使用できるファームに関して で、NEWD・NEWD-2などがあることもわかったので、preSP2megaも含めて、EKO氏のbigファームなどいろいろと書き込んでみました。


まず、preSP2megaを書き込んだのですが、300sのカウントが終了しても再起動がかからず、さらに吸う粉末必要がありました。その後もNEWDbig・NEWD-2.bigを書き込んだのですが、jffsの空き容量は次のようになりました。
mega:576.00 KB / 252.00 KB
NEWDbig:1,920.00 KB / 1,596.00 KB
NEWD-2big:1,792.00 KB / 1,468.00 KB

NEWDbigであれば日本語表示なども使えるので、8MフラッシュのWZR2-G108ではjffsの空き容量を考えてNEWDbigを使用することにしました。
手作業で全て設定を入れて、インターネット接続ルーターとして再度使用を開始しました。


作業の途中で気がついたのですが、設定にSeamonkey2.0.4を使用していると、設定が反映されないなどの問題がありました。
IE8に変更したところ、問題なく設定が出来ました。SeamonkeyではWeb管理が面の日本語表示が文字化けする時が良く有るので、設定にはIEを使うのがよさそうです。
書き換える前のca.certや無線設定がうまく出来なかったのも、同じ理由かもしれないです。

PageTop

dd-wrt上のtinyproxyを1.8へバージョンアップ

OpenWRTでOrionがサポートされました で、OpenWRT10.03のリリースに合わせて、Tinyproxy1.8パッケージもリリースされていました。
現在使用しているのが1.3なので、バージョンアップをしてみました。

tinyproxy_1.8.0-1_brcm-2.4.ipk をダウンロードし、パッケージをインストールしたところ、/jffs/etc/init.d/tinyproxy で起動することが出来ませんでした。
設定ファイルの位置が /jffs/etc/configに変更され、この内容と起動スクリプトtinyproxyの内容がLuCI向けに変更されているためでした。
1.6.4-1からLuCI対応になっているため、そのままでは動かすことが出来ませんでした。

ただしよく考えると、コンパイルで作成されるバイナリファイル自体や設定ファイル・起動方法は、他のOSとの兼ね合いもあるため変わっていることが無いと考え、1.6.3-1で使用していた起動ファイルと設定ファイルを使用することにしました。

つづきを表示

PageTop

dd-wrtでVPNとjffsを使用できるファームに関して

OpenWRT10.03でのOpenVPN証明書サーバーが設定できました と dd-wrtでOpenVPN証明書サーバーが設定できました ということで、OpenVPN証明書サーバーの検証が進みました。

dd-wrtのVPN版ではjffsが使用できませんが、デバイスの対応を増やしたファームやパッケージの組み合わせが違うものがあることを思い出しました。

DD-WRT - PukiWiki の VPN版にはjffsサポートが搭載されていない 部分に有るように、Eko氏私家ビルドを使用することでVPNとjffsが同時に使用することが出来ます。

Eko氏私家ビルドは2種類有り、上記ページと NEWD or VINT - DD-WRT Wiki に違いが書かれています。

サポートするデバイスの違いによるものなので、コマンドでチェックすることでどちらが使えるか判ります。
WLI-TX4-G54Hでは、nvram get wl0_corerev の結果が 9 ですので、NEWDが使用することができます。

今回はこの情報を確認する前だったので、VINT版をインストールしてみました。

つづきを表示

PageTop

dd-wrtでOpenVPN証明書サーバーが設定できました

OpenWRT10.03でのOpenVPN証明書サーバーが設定できましたので、その設定ファイルを参考に、dd-wrtVPN版のOpenVPNサーバーを設定してみました。

ネットワーク>PPTPサーバ/クライアントを開き、OpenVPN Daemonを有効にします。
次の項目に、それぞれ証明書などの-----BEGIN RSA PRIVATE KEY----- から -----END RSA PRIVATE KEY----- を貼り付けます。
公開サーバ証明書:ca.crt
公開クライアント証明書:cert.pem
Private Client Key:key.pem
DH PEM:dh.pem

OpenVPN Config:openvpn.confには、下記内容を貼り付けました。
dev tun
proto udp
resolv-retry infinite
persist-key
persist-tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
dh /tmp/openvpn/dh.pem
comp-lzo
server 10.8.0.0 255.255.255.0

つづきを表示

PageTop

OpenWRT10.03でのOpenVPN証明書サーバーが設定できました

OpenWRT10.03でのOpenVPN静的証明書サーバーが設定できましたので、証明書方式のサーバーをOpenWRT上のOpenVPNで設定をしてみました。

Services>OpenVPNを開き、下に設定名を登録し、プルダウンメニューから を選択し、AddEntryをクリックします。

Configure server mode に、OpenVPNで使用するネットワークセグメントを登録します。
次にプルダウンメニューから下記の項目を選択し、AddEntryをクリックします。参照ボタンを押して、それぞれのファイルを読み込ませます。
Certificate authority:ca.crt
Diffie Hellman parameters:dh1024.pem
Local certificate:server.crt
Local private key:server.key
Save & Applyをクリックしてから、Services>OpenVPNを開きなおし、作成した設定名行のEnabledをチェックします。

Services>Initscriptsで、openvpnのEnableをクリックして、StartをクリックすることでOpenVPNがサーバーとして起動しました。

つづきを表示

PageTop

Windows版のOpenVPN2

Windows版のOpenVPN1 で、静的鍵方式でのOpenVPN接続が出来ましたので、証明書方式の接続を HowTo を参考に進めて行きます。

まず、次の手順でマスター認証機関(CA)の証明書と鍵の生成を作成します。
C:\Program Files\OpenVPN\easy-rsa に移動します。
init-config を実行します。
vars.batを開き、下記を修正します。
 set KEY_COUNTRY=JP
 set KEY_PROVINCE=CA
 set KEY_CITY=Tokyo
 set KEY_ORG=OpenVPN
 set KEY_EMAIL=メールアドレス
vars.batを実行します。
clean-allを実行します。
build-caを実行します。
 下記に項目は、手入力します。
 Organizational Unit Name (eg, section) []:
 Common Name (eg, your name or your server's hostname) []:

つづきを表示

PageTop

OpenWRT10.03でのOpenVPN静的証明書サーバーが設定できました

OpenWRT10.03でのOpenVPN静的証明書接続が出来ました でWindows版OpenVPNサーバーへの静的証明書接続が出来たので、OpenWRTのOpenVPNサーバーの静的証明書を設定してみました。

Services>OpenVPNを開き、下に設定名を登録し、プルダウンメニューからSimple server configuration for a routed point-to-point VPN を選択し、AddEntryをクリックします。

Configure device to use IP address に、Windows版のOpenVPN1 のServer側の設定ファイルのifconfigの値 10.8.0.1 10.8.0.2 を登録します。
プルダウンメニューから Enable Static Key encryption mode (non-TLS) を選択し、AddEntryをクリックします。参照ボタンを押して、static.keyを読み込ませます。
Save & Applyをクリックしてから、Services>OpenVPNを開きなおし、作成した設定名行のEnabledをチェックします。

Services>Initscriptsで、openvpnのEnableをクリックして、StartをクリックすることでOpenVPNがサーバーとして起動しました。

WindowsのOpenVPNでは、Windows版同士の静的証明書で使用したClientとしての設定ファイルを使いますが、VPNサーバーを登録するremoteをOpenVPNのIPに変更します。
接続処理を実行することで、OpenWRTのOpenVPNと接続され、双方向で通信が行えました。

次は証明書方式のOpenVPNサーバーをOpenWRTに設定していきます。

PageTop

OpenWRT10.03でのOpenVPN証明書接続が出来ました2

OpenWRT10.03でのOpenVPN証明書接続が出来ました で削除したパラメータに関して、GUIでの項目を捜してみました。

option 'remote_cert_tls' 'server' は、該当するOpenVPNの接続設定で、Switch to advanced configuration で表示される Cryptography settings の Require normal and extended key usage on certificate で設定できました。

serverに設定すると、同じエラーとなり接続できません。
clientに設定すると、serverと同じエラーとなり接続できません。
removeで削除すると、問題なく接続できます。

serverまたはclientで設定する場合は、その他の設定が必要なようですが、そちらはまだわかっていません。

PageTop

OpenWRT10.03でのOpenVPN証明書接続が出来ました

OpenWRT10.03でのOpenVPN証明書接続が出来ませんでした が、dd-wrtのOpenVPNclientの設定ファイルとOpenWRTのOpenVPNclientの設定ファイルを見比べたところ、気になるパラメーターがOpenWRT側にありました。
option 'remote_cert_tls' 'server'

接続できなかった時のエラーが下記なので、以下にも影響してそうです。
Apr 10 17:49:41 OpenWrt daemon.notice openvpn(PKI_Client)[3553]: Certificate does not have key usage extension
Apr 10 17:49:41 OpenWrt daemon.notice openvpn(PKI_Client)[3553]: VERIFY KU ERROR
Apr 10 17:49:41 OpenWrt daemon.err openvpn(PKI_Client)[3553]: TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:lib(20):func(144):reason(134)
Apr 10 17:49:41 OpenWrt daemon.err openvpn(PKI_Client)[3553]: TLS Error: TLS object -> incoming plaintext read error
Apr 10 17:49:41 OpenWrt daemon.err openvpn(PKI_Client)[3553]: TLS Error: TLS handshake failed

HOWTO - OpenVPN 日本語情報サイト 《プラムシステムズ株式会社》 によると、セキュリティ強化を行う場合の手法として、下記のように書かれています(抜粋)

各クライアントにサーバー証明書を強制的に検証させることができます。これを実現するには下記の5つの方法があります(優先順)。
[OpenVPN 2.1以降] 特定の鍵用途(Key usage)および拡張鍵用途(Extended key usage)を指定してサーバー証明書を生成します。RFC3280では、TLS接続において下記の属性が提供されるべきとしています。
--cut--
サーバー証明書はbuild-key-serverスクリプトを使って生成できます(詳細についてはeasy-rsaを参照してください)。このスクリプトを使用して証明書を作成すると、適切な属性がセットされたサーバー専用証明書として作成されます。クライアントの設定ファイルに下記の設定を加えます。
remote-cert-tls server

つづきを表示

PageTop

OpenWRT10.03でのOpenVPN証明書接続が出来ませんでした

OpenWRT10.03でのOpenVPN静的証明書接続が出来ました と、 Windows版OpenVPNとdd-wrtのOpenVPNクライアントの接続2 は出来ましたので、OpenWRT10.03でのOpenVPN証明書接続を行ってみました。

Services>OpenVPNを開き、新しい設定名を入力し、プルダウンメニューからClient configuration for a routed multi-client VPN を選択し、AddEntryをクリックします。
Remote host name or ip address:OpenVPNサーバーIPを設定、Certificate authority:ca.crt、Local certificate:client1.crt、Local private key:client1.key をアップロードしました。

Save & Applyをクリックしてから、Services>OpenVPNを開きなおし、作成した設定名行のEnabledをチェックします。

Services>Initscriptsで、openvpnのEnableをクリックして、StartをクリックすることでOpenVPNが起動しますが、サーバーと接続されませんでした。

つづきを表示

PageTop

Windows版OpenVPNとdd-wrtのOpenVPNクライアントの接続2

Windows版OpenVPNとdd-wrtのOpenVPNクライアントの接続1 で、dd-wrtのOpenVPNクライアントが、静的鍵方式でうまく動きませんでしたので、証明書方式の設定をしてみまsた。

dd-wrtのOpenVPNクライアント設定欄のそれぞれに、OpenVPNサーバ名:OpenVPNサーバーIP・公開サーバ証明書:ca.crt・公開クライアント証明書:client1.crt・Private Client Key:client1.key を登録しました。
LZO 圧縮を使用も有効にしました。

しかし、dd-wrtからOpneVPNサーバーへアクセスが行われず、接続もされませんでした。
dd-wrtの/var/log/messagesを確認してもopenvpn関連が無く、プロセスも動いていません。
Jan 1 00:00:10 WLI-TX4-G54HP user.info syslog: vpn modules : vpn modules successfully unloaded
Jan 1 00:00:11 WLI-TX4-G54HP user.info syslog: vpn modules : ip_conntrack_proto_gre successfully loaded
Jan 1 00:00:12 WLI-TX4-G54HP user.info syslog: vpn modules : ip_conntrack_pptp successfully loaded
Jan 1 00:00:12 WLI-TX4-G54HP user.info syslog: vpn modules : ip_nat_pptp successfully loaded

どんくん@Blogger: DD-WRTからOpenVPNサーバーにつなぐ ではコマンドで実行しているので、これを参考に /usr/sbin/openvpn --config /tmp/openvpncl/openvpn.conf を実行したところ接続されて通信が行えました。
Apr 10 11:28:19 WLI-TX4-G54HP daemon.notice openvpn[2389]: TUN/TAP device tun0 opened
Apr 10 11:28:19 WLI-TX4-G54HP daemon.notice openvpn[2389]: /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Apr 10 11:28:19 WLI-TX4-G54HP daemon.notice openvpn[2389]: Initialization Sequence Completed

dd-wrtからOpenVPNサーバーのIPへ通信は出来るのですが、OpenVPNサーバーからの通信が行えませんでした。
iptableの設定が関係しているのでしょうか。

またdd-wrtを再起動すると、/tmpにopenvpnclディレクトリと設定ファイルが無くってしまい、設定を再度行っても作られる場合と作られない場合があり、このため起動しなかったと考えられます。
/tmp/openvpnclが作成されたのは、Tunnel DeviceをTUNからTAPに変更した時ですが、毎回作成されるというわけでもないため、確実な方法はわかりませんでした。
OpenVPNサーバーの設定は/tmp/openvpnとして作成されますが、再起動しても消えないためバグだと思われます。

このため、dd-wrtでのOpenVPNクライアントは、PreSP2 2010-03-24VPN版ではうまく動かせないようです。
静的鍵方式が動かなかったのも、/tmp/openvpnclが作成されていなかったためと考えられます。

PageTop

OpenWRT10.03でのOpenVPN静的証明書接続が出来ました

OpenWRT10.03へのパッケージインストール:OpenVPN でOpenWRTにOpenVPNをインストールしたので、WindowsのOpenVPNサーバーと静的証明書で接続してみました。

Services>OpenVPNを開き、下に設定名を登録し、プルダウンメニューからSimple client configuration for a routed point-to-point VPN を選択し、AddEntryをクリックします。

Configure device to use IP address に、Windows版のOpenVPN1 のClient側の設定ファイルのifconfigの値 10.8.0.2 10.8.0.1 を登録します。
Remote host name or ip address にOpenVPNサーバーアドレスを登録します。
プルダウンメニューから Enable Static Key encryption mode (non-TLS) を選択し、AddEntryをクリックします。参照ボタンを押して、static.keyを読み込ませます。
Save & Applyをクリックしてから、Services>OpenVPNを開きなおし、作成した設定名行のEnabledをチェックします。

Services>Initscriptsで、openvpnのEnableをクリックして、StartをクリックすることでOpenVPNが起動し、サーバーと接続されました。
ルーター側からOpenVPNサーバー側のOpenVPN IPへ通信が出来るのですが、OpenVPNサーバー側からOpenWRTのOpenVPN IPへの通信が出来ませんでしたが、フィルターの設定を変更する必要があるのでしょうか。
OpenVPNサーバーから通信できました。通信できなかったのは、Windows版OpenVPNとdd-wrtのOpenVPNクライアントの接続2 の場合でした。

PageTop

OpenWRT10.03へのパッケージインストール:OpenVPN

OpenWRT10.03へ、OpenVPNパッケージをインストールしました。

openvpn_2.1.1-1_brcm47xx.ipk と luci-app-openvpn_0.9.0-1_brcm47xx.ipk と openvpn-easy-rsa_2.1.1-1_brcm47xx.ipk をインストールしようとしたのですが、パッケージがいろいろと必要なため、次の順番でインストールしました。
kmod-tun_2.6.32.10-1_brcm47xx.ipk
zlib_1.2.3-5_brcm47xx.ipk
libopenssl_0.9.8m-3_brcm47xx.ipk
liblzo_2.03-3_brcm47xx.ipk
openvpn_2.1.1-1_brcm47xx.ipk
luci-app-openvpn_0.9.0-1_brcm47xx.ipk
openssl-util_0.9.8m-3_brcm47xx.ipk
openvpn-easy-rsa_2.1.1-1_brcm47xx.ipk

これでWeb管理画面でOpenVPNの設定が出来るようになりました。

PageTop

OpenWRT10.03へのパッケージインストール:tinyproxy

OpenWRT10.03をWZR-RS-G54にインストールしました で、OpenWRTをインストールしたので、パッケージをインストールしてみました。

tinyproxyとそのLuCIをダウンロードして、インストールしてみました。

root@OpenWrt:/overlay/pkg# opkg install tinyproxy_1.8.0-1_brcm47xx.ipk
Installing tinyproxy (1.8.0-1) to root...
Configuring tinyproxy.
root@OpenWrt:/overlay/pkg# opkg install luci-app-tinyproxy_0.9.0-1_brcm47xx.ipk
Installing luci-app-tinyproxy (0.9.0-1) to root...
Configuring luci-app-tinyproxy.

/overlay 以下ににインストールされましたが、再起動してもWeb管理画面にtinyproxyが表示されません。
Web管理画面の右上にAdministrationというのがあり、これをクリックするとServicesなど項目が表示され、また各項目の内容も拡張されました。
各種詳細設定やログなどの確認、サービスの起動停止や状態の確認などが行えます。

各設定ページはデフォルト状態では項目を少なくして有り、選択して設定項目を追加することでより詳細な設定が行えるようになっていました。


Services>tinyproxyを開くと、設定を行うことが出来ました。

Services>Initscriptsを開くと、インストール済みサービスの一覧が表示され、起動停止が行えます。
ここにもtinyproxyが追加されていました。
startボタンを押すことで起動させることが出来ました。
この方式になっていたため、dd-wrtにtinyproxyをインストールしてもそのまま動かすことが出来なかったようです。

PageTop

OpenWRT10.03をWZR-RS-G54にインストールしました

OpenWRTでOrionがサポートされました で、OpenWRTの新バージョンがリリースされていましたので、dd-wrtで動かなかったOpenVPNクライアント:静的鍵方式が動くかやってみました。

WZR-RS-G54にopenwrt-brcm-2.4-squashfs.trx を起動時のtftpで書き込みましたが、管理Web画面で設定が行えるので昔に比べて使いやすくなっていました。
Web管理画面ですが、ログの確認やFirewallの状態、サービスの起動停止や状態確認など、dd-wrtに比べてもかな率か安くなっています。

パッケージでインストールしたサービスなどもWeb管理画面で管理できるようになるため、起動スクリプトなどは今までと違う方式になっていました。
先日、tinyproxy1.6.3-1を1.6.4-2にバージョンアップしたのですが、その関係からうまく動かせませんでした。


/proc/versionで見ると、Linux version 2.4.37.9 (openwrt@wrt1.marcant.net) (gcc version 3.4.6 (OpenWrt-2
.0)) #42 Tue Apr 6 15:59:04 CEST 2010 なので、Kernel2.4ベースです。

つづきを表示

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。