Synology DS212NASボックスは会社のVPNへのVPNゲートウェイとしても機能します。残念ながら、彼らはCisco ASAそしてさらに複雑にするために、個人証明書を使用する必要があります(もちろん、より安全ですが、始めるのはより複雑です…)。
そこで、OpenConnect v4.06を http://www.infradead.org/openconnect/ からコンパイルしました。非常に基本的なテストとして、次のように、openconnectを手動で呼び出し、キーファイルと証明書ファイルを渡して接続を構築しようとしました。
/lib/ld-linux.so.3 --library-path /opt/lib \
/opt/openconnect/sbin/openconnect \
--certificate=$VPN_CFG/alexander.crt \
--sslkey=$VPN_CFG/alexander.key \
--cafile=$VPN_CFG/Company_VPN_CA.crt \
--user=alexander --verbose <ip>:443
失敗します:(
Attempting to connect to <ip>:443
Using certificate file $VPN_CFG/alexander.crt
Using client certificate '/[email protected]/OU=Company VPN'
5919:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1315:
Loading private key failed (see above errors)
Loading certificate failed. Aborting.
Failed to open HTTPS connection to <ip>
Failed to obtain WebVPN cookie
Ubuntu 12.04ボックスで同じ証明書/キーファイルを使用して同じコマンドを実行すると、次のように機能します。
openconnect \
--certificate=$VPN_CFG/alexander.crt \
--sslkey=$VPN_CFG/alexander.key \
--cafile=$VPN_CFG/Company_VPN_CA.crt \
--user=alexander --verbose <ip>:443
Attempting to connect to <ip>:443
Using certificate file $VPN_CFG/alexander.crt
Extra cert from cafile: '/CN=Company AG VPN CA/O=Company AG/L=Zurich/ST=ZH/C=CH'
SSL negotiation with <ip>
Server certificate verify failed: self signed certificate
Certificate from VPN server "<ip>" failed verification.
Reason: self signed certificate
Enter 'yes' to accept, 'no' to abort; anything else to view: yes
Connected to HTTPS on <ip>
GET https://<ip>/
[…]
ええと…NASのエラーはこれです:
5919:error:0D0680A8:asn1エンコーディングルーチン:ASN1_CHECK_TLEN:間違ったタグ:tasn_dec.c:1315:
何かアイデア、これを引き起こしているのは何ですか?
Synoでは、OpenConnect4.06を使用しています。 Ubuntuでは、OpenConnect4.06もコンパイルしてカスタムの場所にインストールしました。
ありがとう、アレクサンダー
同じ問題があり、秘密鍵のPEMファイルを少し操作することで解決できました。通常のヘッダーとフッターのボイラープレートが含まれていました
"----- BEGIN PRIVATE KEY -----"
"-----秘密鍵の終了-----"
これは、opensslでの検証に完全に有効でした。 opensslコマンドから正常な出力を得ることができました。
openssl rsa -in private.key -noout -text
しかし、openconnectの場合、それは十分に具体的ではありませんでした。
ボイラープレートをに変更しました
"----- BEGIN RSA PRIVATE KEY -----"
"----- END RSA PRIVATE KEY -----"
つまり、「RSA」識別子を追加しました。 (もちろん、PEMファイルに引用符はありません)。
まず、Ubuntuなどの通常のLinuxディストリビューションを介してCiscoAnyConnectネットワークに接続してみることをお勧めします。
$ Sudo openconnect http:// $ Gateway/Full-Access --script/etc/vpnc/vpnc-script --user $ USERNAME
これが、openconnectを介してAnyConnectインストールにログインする方法です。
これを機能させるには、openconnectとvpncの両方をインストールする必要があります。