【技術的メモ】dockerコンテナにスタティックルート

docker コンテナ内でstatic routeを設定するときの覚え書き

docker runのオプションに–cap-add=NET_ADMIN付ける
※–privilegedは非推奨。。。

–cap_add=NET_ADMINをつけないでdockerコンテナにスタティックルート書く方法

1.コンテナのプロセスid確認

docker inspect -f '{{.State.Pid}}' コンテナ名

2.netnsのシンボリックリンク貼る

ln -s /proc/コンテナのPid/ns/net /var/run/netns/コンテナのPid

3.スタティックルート書く

ip netns exec コンテナのPid ip route add 宛先NW via gw

又は

ip netns exec コンテナのPid bash
ip route add 宛先NW via gw
exit

4.シンボリック消す

unlink /var/run/netns/コンテナのPid

Pidを変数にしてシェル書いとくと楽かも。。。

【技術的メモ】docker+squidで閉鎖網用プロクシたてた時の詰まりポイントいくつか

お仕事中、dockerコンテナはapt-getやyumで外出られるのに、
こっちの作業端末は閉鎖網から繋いでるから外に出られなくて、調べ物等で色々不便だったので、

閉鎖網PC~開放網dockerコンテナ間の接続が可能な状況において、
dockerコンテナをプロキシサーバにしたら、もしかして閉鎖網からインターネットにアクセスできたりする…?

と言う発想が元。

続きを読む

guestfishバンザイw

先週発生した業務端末HDD逝きかけ問題で、代替PCの環境構築で今日は一日仕事にならず。
一番手間食ったのはKVMのデータ救出。

HDD死にかけのPCから代替機にddでコピーしようにも、不良セクタの真上にいるからI/Oエラー吐きまくりでデータ飛ばないし。
てか、ddコマンド走らせる度に不良セクタが増えていく恐怖…

KVMのイメージ救出は諦めてせめてデータだけでも抜けないか有識者に確認して教えてもらったguestfish。
これのおかげで、ドキュメント類完全救出。
マジ助かったー。

virt-ls -d KVMのドメイン /

でファイルのパス確認して、

virt-copy-out -d KVMのドメイン /コピー元ディレクトリパス コピー先ディレクトリパス

でファイル救出。

こーゆー場合考えると、ネイティブはLinuxにしてWinはKVMにするって言うのはそれなりに意味あるのね…
某社はシンクラだったけど、シンクラはネットワーク繋がらないと何もできんもんな…

さて、明日は環境再構築の続きやらにゃ。