RT2600acでtls-cryptを使用してみる

 RT2600acのOpenVPNはデフォルトでtls-authを使用していますが、現在はtls-crypt-v2が推奨されています。RT2600ac内部のOpenVPNはv2.4.11なのでtls-crypt-v2は使えないですが、tls-cryptなら使用可能のはずです。一方管理画面からはこれを設定する方法がないです。そのため設定できないかを試した覚え書きを残します。

 tls-authとtls-cryptの違いとは: 前者はこれからOpenVPNで繋げます、こういう手順で暗号化しますという宣言部分は暗号化していないため、VPN であることは隠していません。一方後者はその宣言部分も暗号化するため、会社や大学、国などのVPNの使用を禁じているところでも繋がる場合があるようです。といってもパケットの動きをしばらく統計取ればVPNであることは推定できます。stunnelその他の難読化と併用してパケットの動作からVPNぽさを減らしたとしてもネットワーク管理者からは特定のipがずっと特定のipと謎の通信していることは分かるため、推定VPNだろうとは分かります。自己満足目的です。

 まずクライント側の設定ですが、SRM からエクスポートしたOPVNファイルから以下を変更します。

key-directionの行を消します
<tls-auth> … </tls-auth>となっている部分を<tls-crypt>…</tls-crypt>に変更します

 次にRT2600ac側の設定を変更します。
1. コントロールパネル->サービスから、SSHサービスを有効化にチェックします。ファ イヤーフォールに追加するかのプロンプトがでますが、ローカルから設定する分には登録不要です。
2. windowsのcmdプロンプトを開き、以下のようにsshでRT2600acに繋げ、設定ファイルopenvpn.confを開きます。
ssh 管理者権限のアカウント名@ルーターのip -p ポート番号
cd /usr/syno/etc/packages/VPNPlusServer/openvpn/
sudo vi openvpn.conf

3. tls-auth ta.key 0 を tls-crypt ta.key に変更して保存します。viの操作方法は他で検索してください。
4. 1.で変更したSSHサービスを無効に戻します。

これで後は通常通りにOpenVPNを接続すればtls-cryptで接続出来ました。ただし、編集したopenvpn.confはRT2600acの再起動や更新でもとの状態に上書きされることがあるようです。自分の場合は再起動してもそのままでしたが、更新時はまだ分かりません。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です