OpenVPNで通信を暗号化したい。
OpenVPNをつかって、通信を暗号化したい。とくに、検閲への不安が一番大きい。最近のLTE回線はどう運用されているのか、ほんとうにわからないよね。インターネットもCDN経由で通信はどこで見られてるのか想像がつかない。CDN事業者がサーバー鍵を漏らさない保証は何処にもないわけで。NSAがその気になればサーバー鍵を取り押さえたり、CDNにデータ提供を強制する悪夢も考えられる。本邦の捜査機関は、自由闊達というか自由奔放なので、無限ループすら逮捕してて、昨今の事情を考えると、セキュリティ関連のあれこれを試すのに、VPNくらい持っておいたほうが良いかなと。
OpenVPNで暗号化通信。
OpenVPNは、小規模なネットワークに最適な、VPN構築ツール。
TUN/TAP を使える
tunでトンネルを使える。tapでイーサネットブリッジを使える
UDP/TCPを選べる
パケットを転送を選べる
NAT/DHCPなど
OpenVPNは通常のルータと同等に、DHCPやNATを使えるし、ルーティングテーブルの書き換えもやってくれる。
多様なOS
Windowsはもちろんのこと、LinuxもmacOSも、iOSでもソフトウェアが用意されている。
情報が多い
玉石混淆だけど、情報は多い。
GPL
ソフトウェアはGNU Public License で提供されてる
TLS
TLSによる暗号化をサポートしている。HTTPSと同じなのでHTTPSが通ればパケットフィルタリングされない。
https://wiki.archlinux.jp/index.php/OpenVPN
特に問題なのは、ソフトウェアが多くて情報が過多になっている。あれれと思ったときに調べるのに苦労する。
とりあえずインストールしたいとき
openvpn-install.sh が一番らくちんで何も考えずにできる。あとは1194 ポートを開けるだけ。
# curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh # chmod +x openvpn-install.sh # ./openvpn-install.sh
情報が多すぎるOpenVPN
- 認証方式に、共有鍵、鍵交換、TLSなど、多岐にわたる
- 接続に、tun/tap と peer to peer など多岐にわたる
- サーバーOSに、WindowsやらQNAPやOpenWRTやUbuntuなど多岐にわたる
- クライアントに、WindowsやMacやiOSなど多岐にわたる
- 差異を吸収するために、自動化ツールが多種多様ある。
- これらの設定を簡便化するために、*.ovpn ファイルを多様な方法で作成してる。
- OpenVPNで設定してくれるけどiptablesやetables やルーティングテーブルでも設定できる。
- 速度が出ないからチューニングも多岐にわたる
ほんと、多種多様な設定方法があって、ちょっとググってもほんとうにわからないよね。。。。
openvpn-install.shとかあるしさー
OpenVPNを難しいと感じたわけ。
いろいろ試しているうちに、OpenVPNが難しいなと感じたのは、次の点でした。
- サーバー設定とクライアント設定がある
- ルーティング関連
- TLS 関連
サーバーとクライアントを別個に設定を作っていると何処で間違えたのかとか、自動生成に頼ってると見失いそうです。
そこで、シンプルなところから初めて、徐々に慣れていければと思って調べました。
コマンドから試すOpenVPN
まずはじめに、コマンドからシンプルに使います。そこから順に試していきたいと思います。
それぞれ、長いので、別記事になっています。