実は会社で使ってるPCは複数NICで運用している。目的は社内LANを経由せずにこのブログを書いているためだ。当たり前だが社内LANは監視されているからね。(監視しているのはNTTと自分達)遅い金盾モドキがあって、これが教育上良くないDNSを監視しているので、ブログが書けないのだ。このブログも撥ねられる対象となっている。
最近 hyper-V を本格的に使い始めたのでLANが増えて正確な割り振りがなされていないサーバと、とんでもなくアクセスが遅くなった。
PC | +- IF11 NIC1(IF 23 Wifi 192.168.68.x) - ~~~~ [自前mobile router ] ~~ 外の娑婆のinternet | | +===IF 23 NIC2(eth0 192.168.1.x) ------+ --.(HUBx2)....(wifi中継)...(router)--光--(router)-(エセ金盾)-監視されたinternet | | | + -- NAS | | | + -- Printer |
そしてEth0 がHUBまでGbps接続でそのあと100MBbpsで落ち、Wifi 中継器に本社まで全パケットが飛んでトロい監視ルータで分別記録してから世の中に出る。なんだかんだで10Mbpsくらい。(小生がVLAN設計するなら手前のルーターでネット放出します。全パケットを本社に送ることはしません)
それでは遅いしブログも書けないので、USB wifi 突っ込んでそこから自前のモバイルルーターを経由させ外の世界と接続している。これで50Mbps位。pingは5倍から10倍速い。
実は Windowsから見れば、社内LANは1Gbps、Wifi経由は55Mbps程度となり、見かけだけは社内LANは速い。そのため見事偏向報道に引っ掛かり、全パケットを社内LANに放出してしまう。
インターネット経由は全てWifi経由となるように
そこで塀の外の通信は全て Wifi 経由となるようにルーティングさせる。
実際には USB NIC をブッ刺し Wifi とパスワード等で接続有効化された時点で自動で route table に記述されるので、今までつながっていた社内LANを無効化させる。
route delete 0.0.0.0 if 23
これで社内LANに外部データは放出されないし、受け取ることもない。
長いので区切る
UNIX系ユーザーなら metric 下げておけば良いだろう。慈悲深いMS-Windows では、メトリックをOS 内で決定して調整してくれる。我がPCだと入り口だけ速い Eth が優先されるように勝手に調整してくれる。
Wifi のメトリックを例え 1 にしても時間がたてば Eth が Metric 50 、 Wifi が Metric 100 位になっている。
普通の使い方ならどっちもネットにつながっているので特に問題はないが、より速さを気にするような人なら一度見ておいた方が良い。このあたりの正式な話はMS社の「IPv4 ルートの自動メトリック機能の説明」が教科書だ。
外のインターネットだけならネットワークアダプターを削除したり、停止したりするのも手だが、そうなると内部イントラネットが使えないのだ。
だから社内ネットにパケを投げるゲートウェイの設定を消してしまうのだ。
あさイチ、サーバとの繋がりが悪い…
今のところ、「外のインターネットは Wifi を使う」と設定されているが、社内のイントラネット(死語)は特に設定されていない。
route table によると
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
0.0.0.0 0.0.0.0 192.168.68.1 192.168.68.56 50
127.0.0.0 255.0.0.0 リンク上 127.0.0.1 331
以下略この下は Hyper-V が勝手に設定したものや、ブロードキャストが書いてある
となっている。このままでは厳密には社内向けパケット(192.168.1.x)は1行目のゲートウェイ(192.168.68.1)に放出され、インターネットの大海に出てもローカルアドレスは無効化され行方不明となる。
ところが Windows 機は(大きなお世話で)慈悲深くそれでは不都合があるからと、10秒くらいすると全IFに順番にパケットを放出してみる機能が付いていて、相手が見つかると裏帳簿に route table をメモっている。仮想でもネットワークアダプターが多ければ多いほど、時間がかかるのだ。
そのおかげで社内サーバーともトロいものの繋がっているのだ。当然だが再起動とともに裏帳簿は証拠隠滅され、翌朝にはまた行方不明パケットが出ることになる。
あさイチサーバの応答が悪く、ログインすらマトモには出来ないものの10時頃には普通に使えている場合、ルーティングテーブルも見直した方が良いだろう。
社内LANは迷わずに社内設備にアクセスできるようにする
さて、要は Windows に対し社内用パケットの送り先 IF(ネットワークアダプター) を明示して教育して調教してやればよい。
route add 192.168.1.0 mask 255.255.255.0 0.0.0 if 23
解説すると
192.168.1.0から192.168.1.255までの範囲のパケは( 192.168.1.0 mask 255.255.255.0 ) ネットワークアダプター のインターフェイス23 番( print route の上の方に書いてある) へ流せ。
その他よくわからないパケは「リンク上」(0.0.0.0) に設定して流せ。(実際にはそのパケは再度 route を通り1行目の0.0.0.0 が IF 23 であることが再評価され目出度くWifi から外の娑婆の空気を吸えるようになる)
route print で見れる”リンク上”という再評価する宛先が 0.0.0.0 という豆知識。
調子が良くなれば -p option をして再起動後も有効化
これで調子よくなったら、忘れないでほしい。このままでは一時的な route table なのだ。
Windows に対し再起動後も有効な routing table については route -p add と -p オプションをつけて設定を保存してほしい。保存すれば明日からこんな苦労しなくても社内SVに快適につながるようになる。
このあたりに関してはご自身で調べて下さいな。例を明示して違ってたら、再起動しても治らないから書かないけど。
route delete は保存できない
このブログ的な豆知識として、route delete に対して -p オプションはない事。
小生としてこのPCで永続的に社内LANを経由せずに Wifi 経由で外のインターネットに接続する設定はないのだ。(Ethのプロパティでスピードを強制的に下げてもいいけど、HUBのランプの色が変わる)
実は DNS サーバも監視しているので、DNS と wifi の切り替えをバッチファイルで作ってある。このバッチファイルのおかげで他のシステム担当者が来ても、一瞬で切り替えてまるで会社に従順ないい子ちゃんぶることが出来る。
社内LANに外向けパケットがまったく流れないもの不自然だしね。
なんで今まで設定してなかったのかって。仮想化を VMWare から Hyper-V に切り替えたのが大きいかな。Hyper-V はアダプターの数が多いみたいで、社内SVにログインできないくらい遅くなってしまったから。