Chromebook (ChromeOS)から接続できない

1,488 views
Skip to first unread message

Hiro Sugawara

unread,
Jan 20, 2015, 2:08:33 PM1/20/15
to openvpn-japa...@googlegroups.com
自宅のVPNサーバにChromebookを接続しようとしていますがうまく行きません。

このサーバは外部のLinux、iPhone、Android、Windowsなどからの接続で実績があります。

http://blog.dwolla.com/openvpn-on-chromeos-a-step-by-step-guide/
こちらのガイドに従い、まず通常どおり鍵や証明ファイルを生成し、次いでP12ファイルを生成しました。

さらに上記のテンプレートファイルに
・ca.crt
・ta.key
の内容を挿入してONCファイルを作成しました。

Linuxで上記で生成したファイルでTUNサーバを起動。

P12ファイルをChromebookにchrome://certificate-managerから読み込ませると、当該「hardware-backed」の証明が読み込まれたと表示されました。

ONCファイルをChromebookにchrome://net-internals#ChomeOSから読み込ませると、chrome://settingsの「Private network」に当該VPNが表示され、これを選択し、ユーザ名とパスワードにダミーのでたらめな値を入力すると接続が開始されます。

しかしサーバ側のログを見ると
Authenticate/Decrypt packet error: packet HMAC authentication failed
TLS Error: incoming packet authentication failed from ip.add.re.ss:port
が何回か表示され、結局接続できません。

どなたか経験をお持ちでしょうか?

Chromebookからの接続は非常に情報が少なく、ほとんどは公開された証明による商用VPNなのであまり参考にならず困っています。

hiro


Taro Yamazaki

unread,
Jan 20, 2015, 10:29:19 PM1/20/15
to openvpn-japa...@googlegroups.com

こんにちは、やまざきです。

私自身はChromebookの使用経験がない(とても興味はあるのですが...)のであ
まり参考にならないかもしれませんが、

> しかしサーバ側のログを見ると
> Authenticate/Decrypt packet error: packet HMAC authentication failed
> TLS Error: incoming packet authentication failed from ip.add.re.ss:port
> が何回か表示され、結局接続できません。

このケースはTLS-Authを有効にしていて、かつdirectionパラメータが設定され
ていない(またはサーバーとクライアントで整合が取れていない)ときなどに遭
遇します。

既に稼働中のサーバーだと難しいかもしれませんが、TLS-Authを使用されている
ようでしたらいったん切ってみる、tls-authディレクティブのdirectionパラ
メータを設定してみる、といったあたりが手がかりになるかもしれません。



On 2015/01/21 4:08, Hiro Sugawara wrote:
> 自宅のVPNサーバにChromebookを接続しようとしていますがうまく行きません。
>
> このサーバは外部のLinux、iPhone、Android、Windowsなどからの接続で実績が
> あります。
>
> http://blog.dwolla.com/openvpn-on-chromeos-a-step-by-step-guide/
> こちらのガイドに従い、まず通常どおり鍵や証明ファイルを生成し、次いでP12
> ファイルを生成しました。
>
> さらに上記のテンプレートファイルに
> ・ca.crt
> ・ta.key
> の内容を挿入してONCファイルを作成しました。
>
> Linuxで上記で生成したファイルでTUNサーバを起動。
>
> P12ファイルをChromebookにchrome://certificate-managerから読み込ませる
> と、当該「hardware-backed」の証明が読み込まれたと表示されました。
>
> ONCファイルをChromebookにchrome://net-internals#ChomeOSから読み込ませる
> と、chrome://settingsの「Private network」に当該VPNが表示され、これを選
> 択し、ユーザ名とパスワードにダミーのでたらめな値を入力すると接続が開始さ
> れます。
>
> しかしサーバ側のログを見ると
> Authenticate/Decrypt packet error: packet HMAC authentication failed
> TLS Error: incoming packet authentication failed from ip.add.re.ss:port
> が何回か表示され、結局接続できません。
>
> どなたか経験をお持ちでしょうか?
>
> Chromebookからの接続は非常に情報が少なく、ほとんどは公開された証明による
> 商用VPNなのであまり参考にならず困っています。
>
> hiro
>
>
> --
> このメールは Google グループのグループ「OpenVPN Japan Users Group」に登
> 録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> openvpn-japan-user...@googlegroups.com
> <mailto:openvpn-japan-user...@googlegroups.com> にメール
> を送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセ
> スしてください。


--
::: Taro Yamazaki [ ta...@plum-systems.co.jp ]
: <Blog> http://yamatamemo.blogspot.jp/
: <LinkedIn> http://www.linkedin.com/in/yamata
-------------------------------------------------------------
: Plum Systems Inc.
: 2-3-11-2F, Kurihira, Asao, Kawasaki, Kanagawa, 215-0031, JAPAN
: http://www.plum-systems.co.jp/

Hiro Sugawara

unread,
Jan 21, 2015, 2:33:20 PM1/21/15
to openvpn-japa...@googlegroups.com
やまざきさん、こんにちは。

VPNと言う性格上、仕事先でないとテストできず、時差の関係で返事が遅くなりました。

TLS-Auth関係がクサいとご指摘を受けましたので試してみましたがまだ動きません。

まずサーバのコンフィグファイルで
tls-auth chromebook-server-keys/ta.key 1 # This file is secret
と、方向(コメントによればサーバ側は「0」、クライアント側は「1」が正しく、事実他のサーバ・クライアントの組み合わせではそのようにして動いている)を逆にしてみたログです。

MULTI: multi_create_instance called
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Re-using SSL/TLS context
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 LZO compression initialized
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Local Options hash (VER=V4): 'd81d562e'
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Expected Remote Options hash (VER=V4): '79fd358d'
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 TLS: Initial packet from クライアント側ファイアウォールグローバルIPアドレス:ポート番号, sid=278d0667 456827c4
read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
read UDPv4 [ECONNREFUSED]: Connection refused (code=111)


次は、TLS-Authが追加的なセキュリティ目的ということなので、サーバのコンフィグファイルの件の行をコメントアウトした結果のログです。

MULTI: multi_create_instance called
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Re-using SSL/TLS context
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 LZO compression initialized
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Local Options hash (VER=V4): '530fdded'
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 Expected Remote Options hash (VER=V4): '41690919'
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 TLS: Initial packet from クライアント側ファイアウォールグローバルIPアドレス:ポート番号, sid=47074820 f0631e32
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 TLS Error: reading acknowledgement record from packet
read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
クライアント側ファイアウォールグローバルIPアドレス:ポート番号 TLS Error: reading acknowledgement record from packet
read UDPv4 [ECONNREFUSED]: Connection refused (code=111)

方向を変えてみたときと基本的に変わらないようです。どちらの場合もこれらのログのブロックが何回か表示されたのち諦めています(「 [ECONNREFUSED]」の行の出現回数は変化)。

Android では、正しい方向(「0」)と、client.confファイルのca、cert、keyのインクルード行を当該ファイルのPEM表現の内容で置換するこ とで生成したovpnファイルであっさり動いたのですが(Windowsも同様)、Chromebookのインプリメンテーションは、P12ファイルを使うことなど、まったく別物の印象を受けます。

高校生の娘が放課後スタバでクラスメートと宿題勉強をする時に自宅のデスクトップにアクセスさせてやろうとしているのですが、残念です。

なお、Chromebookにバンドルの「Chrome Remote Desktop」は、RDPでアクセスしたいリモート側も「Chrome Remote Desktop」を走らせている必要がある(つまり独自プロトコル?)らしく、サードパーティの「Chrome RDP」ならWindowsのネイティブRDP(Terminal Service)を使えるのでこちらの方がお薦めです。

また、拙宅の ファイアウォールではDDNSベースで外部クライアントからのVPNを含む接続にパケットフィルタリングを施してセキュリティを高めているのですが、 Chromebook用のDDNSクライアントも見つかりません。唯一「namecheap.com」と言うところの「FreeDNS」と言うサービスが Chromebook用のDDNSクライアントを提供していると主張しているのですが、サブスクライブしたところ「FreeDNS」自体が設定UIと説明 がが非常にお粗末で成功していません。この件は最悪の場合、拙宅のウェブサーバ(フィルタリングなし)に手動でアクセスして現在のIPアドレスからの VPN接続を許可するような仕組みも考えています。

と言うわけで、Chromebookはまだ前途多難ですが、もし何かヒントなどがあればぜひお願いします。

hiro
Reply all
Reply to author
Forward
0 new messages