LoginSignup
3
3

More than 5 years have passed since last update.

Yosemite で F5 FirePass を動かす

Last updated at Posted at 2015-04-06

Yosemite で F5 Networks の FirePass (SSL-VPN) が動作しない問題。
https://discussions.apple.com/thread/6679959

F5 でもサポートされる様子がないため、いろいろ試して自力解決しました。

通常通り FirePass で接続後、

sudo route add -net 0/1 -interface ppp0

のようにルート情報を手動追加で OK でした。

0/1 である必要は特になく、単に Mavericks の時に FirePass が追加していたのが 0/1 だったからです。

既存の network と併用したい場合

sudo route -n add -net A.B.C -interface ppp0

のように、特定の subnet 向けの通信をルーティングすれば OK です。

ppp0 の default ルートが追加される場合もあるので、netstat -rn -f inet で確認して、存在していたら sudo route -n delete -net default -ifscope ppp0 をした方がいいかも。

ただし自分の場合は DNS の情報が変更されていて、IP アドレスベースでは接続できるものの名前解決ができず、ホスト名ベースで web や ssh 等が使えませんでした。

dig/nslookup では名前解決できるんですが、何故か ping だと Unknown Host となるので、scutil で DNS の設定を書き換えます。

ここでは 8.8.8.8 (Google の Public DNS) を指定しています。

sudo scutil <<EOF
get State:/Network/Service/F5NetworksServicePPP/DNS
d.add ServerAddresses * 8.8.8.8
set State:/Network/Service/F5NetworksServicePPP/DNS
quit
EOF

これで VPN 接続しながら、外部ネットワークにも VPN を介さず自由に通信できるようになりました。

/etc/resolv.conf は見ていないようで、Mac の名前解決の仕組みがいまいち理解できていない。。

ちなみに FirePass ではない場合でも、

scutil <<<'list ".*DNS"'

とすれば、DNS 系の Key 一覧が取得できるので、

scutil
> get [key_name]
> d.show

のように設定を確認できます。

VPN 接続時に自動で設定したい場合

毎回入力するのが面倒であれば、/etc/ppp/ip-up を作成し、

#!/bin/sh
if [ "$1" = "ppp0" ]; then
  /sbin/route add -net 0/1 -interface ppp0
fi

とかしておくと少しだけ幸せになれるかも。

要 chmod 755、複数のVPNを併用している場合はもう少し調整が必要。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3