#動機
ある日、社内で利用しているBambooのAgentに悲劇が起きました。
そのAgentは社内ネットワークに接続されていますが、IT管理ポリシーの変更により、ADに紐付いた端末以外のインターネット接続が制限され、Webブラウザ上にてIDとPasswordをおよそ半日おきに入力することが必須になりました。
BambooのMaster Serverは社内イントラネット上に存在するため、そこへの接続は問題なかったのですが、AgentはBuildの際にコードサイニングを行うために外部のタイムスタンプサーバーを利用します。
何台もあるBamboo Agentへ必要に応じてWebブラウザを開いてIDとPasswordを入力することなど運用上不可能であるため、事実上利用が困難になりました。
#解決方法
運良く社内から利用可能なイントラを経由しない外部インターネットへの接続先が用意されていたため、社内LANと外部インターネットの両方へ接続することで解決しそうでした。
ただ、当然そのまま挿しただけだとメトリックの低いNICへトラフィックが一方的に流れるため、都合良くインターネット接続と社内LANへの通信を捌く必要がありました。
#routeコマンド
存在は知っていましたが、使ったことはなかったコマンドです。接続先に合わせて通るゲートウェイを変えてあげればうまくいくはず・・・と考えて調べ、実行した結果うまくいきました。
#やったコマンド
route print
route -p add 10.0.0.0 MASK 255.0.0.0 10.131.132.254 METRIC 1 IF 42
前提条件として、社内LANは10.~のネットワークで、外部インターネットは192.168.201.~というセグメントでした。
基本的には外部インターネットを利用して、イントラ上のマシンに接続する時に社内LAN経由で接続するようにしました。
ですので接続先は10.0.0.0/8の時、社内イントラネット側のゲートウェイを通すようにします。
IF番号はroute printでわかりました。
#おわりに
もうほんとに走り書きレベルのメモです。
何でもいいから書いていかないといつまで経っても書けないし、ショボい内容でもOutputしていくことを重視した結果ですのでご容赦ください。