デフォルトでは、私の会社のAnyConnect VPN(openconnectを使用してubuntuで接続しています)は、特定の企業サイトにトラフィックをトンネリングするだけです。
残念ながら、私は現在中国にいて、グレートファイアウォールが多くのクラウドサービス(Google Appsなど)へのアクセスをブロックしているため、すべてのコンピューターのトラフィックをVPN経由でルーティングしてブロックを回避したいと思います。どうすればよいですか?
VPNゲートウェイが特定のネットワークへのルートのみをアドバタイズする場合、openconnectはCisco_SPLIT_INC環境変数を設定することにより、この情報を vpnc-script に伝達します。
#* Cisco_SPLIT_INC -- number of networks in split-network-list
#* Cisco_SPLIT_INC_%d_ADDR -- network address
#* Cisco_SPLIT_INC_%d_MASK -- subnet mask (for example: 255.255.255.0)
#* Cisco_SPLIT_INC_%d_MASKLEN -- subnet masklen (for example: 24)
Ubuntuでは、/ etc/vpnc/vpnc-scriptを編集して、Cisco_SPLIT_INCを空の文字列にオーバーライドして、vpnc-scriptがシステムのデフォルトルートとしてtun0を設定できるようにすることができます。
# =========== script (variable) setup ====================================
# >>>INSERT THIS LINE:
Cisco_SPLIT_INC=
PATH=/sbin:/usr/sbin:$PATH
OS="`uname -s`"
ゲートウェイには、スプリットトンネルインクルードとルーティングに対して別々の設定があります。クライアント側で他のルート(またはデフォルトルート)を追加した場合でも、ゲートウェイのルーティングルールは、分割トンネル設定にリストされているネットワーク宛てのトラフィックのみを許可するように設定されている可能性があります。あなたはそれを試して見る必要があります。
OpenConnect for Android には、スプリットトンネル設定を上書きするVPNごとのプロファイルオプションがあります。スプリットトンネルモードを「オン-DNSはVPNを使用」に設定し、スプリットトンネルネットワークを「0.0.0.0/0」に設定します。これは、Ubuntuでのvpnc-scriptの変更に相当します。
会社の既存のAnyConnectゲートウェイを使用してこれが機能しない場合は、安価なVPSをセットアップし、独自のプライベート ocserv インストールを実行することを検討してください。