Mac Yosemite ではVPNはクライアント機が固定ip address だと使えないというのは前に書いた。バグだが、解決策はあった。DHCPならばいいのだ。
ファイヤーウオール兼ルータ(以下ルータあるいはファイヤーウオール)を使ってサブネットを作成しているのだが、ファイヤーウオールでWindowsのファイル共有を遮断しているため、ファイヤーウオールの外にある学科共通のファイルサーバにアクセス出来ない。SMBを使っているからだ。しょうがないから、ファイヤーウオールに穴をあけてこの共通のファイルサーバだけにアクセスできるようにした というのも書いた。
学内のDNSサーバが知らないうちに変更されていたというのはこの前の記事だ。だから、ルータのDNS情報を書き換えてリセットしたら、このファイヤーウオールの設定がぶっとんでデフォルトにもどってしまった。共有ファイルサーバにアクセス出来ないのでわかった。ファイヤーウオールの設定を再度やったわけだ。
そこで気がついたのが…困った。
VPN(PPTP) で2箇所のネットワークに接続できるように設定してあったのだ。何故か、一方のネット(net Mとよぶことにする)にPPTPで接続できない。他方のネット(net Sと呼ぶことにする)には接続できるのだ。だからファイヤーウオール(ルータ)がパケットを落としているのではない と思っていた。
ルータの外のネットワークに接続すると逆にnet Sに接続できず、net Mに接続できるのだ。んん?なんだこりゃ。
どちらもYosemite のMac だ。理由がわからない。そこでルータやパソコンのすべての設定を見直した。パソコンの方でVPN 接続時のDNSの設定等が違っていたところがあるから、それぞれのネットのprimary と secondary DNS を正しく設定した。別に正す必要はなく空白でいいはずである。
Mac の場合 システム環境設定 → ネットワーク → 該当の接続 → 詳細… → DNS のタブ
Winの場合 コントロールパネル → インターネットオプション → 接続のタブ → 該当の接続を選択 → 設定 → プロパティ → ネットワークのタブ → インターネット・プロトコル バージョン4(TCP/IPv4) → プロパティ → 詳細設定 → DNS のタブ → DNSサーバアドレス(使用順)
接続の可否はDNS設定の正誤ではないはず。DNSがあやまっているのなら、接続ができてもブラウザが使えないとかいうことになる。
ファイヤーウオール兼ルータのフィルタの設定だ。
以前はポリシーも定めていたが、ポリシーなんか1つだけで、このフィルタの設定だけなのでOFF にした。
これでいいはず。
で接続したら、今度は
◯が接続できた。×が接続できない。DHCP&Fix とはDHCPで手入力というMacの独自の設定のことだ。
明らかに、接続先が拒否しているのではなく、接続元のルータの設定がおかしいという結果だ。悩んだ。解決しないので、帰って寝た。翌朝来たら、
と、めでたしめでたし なのだ。何故か?管理者のルータの設定の誤りではない。
んで、Win のデスクトップ機は接続できているのだが、インターネットオプションから、net Mのほうは古いDNSのままだったから、DNSを自動取得に変えて更新して、接続してみたら接続できない。今度は同じルータの下にあるMac もnet Mに接続できなくなった。んが。ルータが何かを記憶しているのか?この記憶をパージするのに時間がかかるのでは?というわけでルータを再起動。まだ接続できない。net S のほうは、ルータの外でも内でも接続できるのだ。
ルータの外からもnet MへはVPN接続できなくなってしまった。
いや、また変わった。ルータ内からはnet Sに接続できるが、ルータ外からは net S に接続できなくなった。なんか不安定だな。
なんてこった。どうやら設定はOKなのだが、何故か一度接続に何らかの理由でできないと、どっかに、管理者のルータではない、さらに上流のどこかに接続元と接続先が記憶されていて、一定時間接続できないのが続くのか?
講義、実習で5時間席を空けた。再度テストした。ルータ内外で問題なく接続できるようになった。いや、まただめになった。不安定だなぁ。
また5時間実習で席を空けた。再々度テスト。ルータ内で接続できた。これ以上わからない、Win 7 でも同じだからyosemiteのせいではない。少なくとも管理者の管理している部分は誤りがないようなので、また再現性がよくわからないので、原因の追求は止め。
【追記】 翌日の朝、全く問題なく接続できる。このまま様子見だな。
【追記2】11月13日。原因が判明。上流のDNSの問題だった。経緯は書かない。
関係ないだろうけどwinでは自分のDNS記録をクリアできる。コマンドプロンプトで ipconfig /flushdns を実行するのだ。
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:UsersUSER>ipconfig /flushdns
Windows IP 構成
DNS リゾルバー キャッシュは正常にフラッシュされました。
C:UsersUSER>
思った通り関係ない。ちなみにMac ではターミナルで sudo dscacheutil -flushcache を実行するだ。
Last login: Wed Nov 12 07:31:55 on ttys001
You have mail.
MacPro:~ hoge$ sudo dscacheutil -flushcache
Password:
MacPro:~ hoge$
当然ながら関係ない。自分のパソコンの設定ではないからな。