Create  Edit  Diff  TrashSUITE  Index  Search  Changes  RSS  Source  Login

Linux :: iproute2

iproute2

書く > 忘れる > 思い出す > 書く > 忘れる…のエンドレスループなのでザックリとメモ.ブランクって怖いよね!

ポリシールーティング@ソースアドレス

パケットのソースアドレスが 172.16.0.100 の場合,通常のデフォルトルート(main の default)を無視し,あたかも 172.16.0.2 がデフォルトルートであるかのように振る舞う

% ip rule show
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

% OTHER_ROUTER='172.16.0.2'
% OTHER_ADDR='172.16.0.100'
% OTHER_TABLE='other-route'

% sudo sh -c "echo '200 $OTHER_TABLE' >> /etc/iproute2/rt_tables"     ## 永続化する必要がなければ要らない
% sudo ip rule add from $OTHER_ADDR table $OTHER_TABLE                ## rt_tables で永続化した場合
% sudo ip rule add from $OTHER_ADDR table $OTHER_TABLE priority 32765 ## rt_tables を使わない場合

% ip rule show
0:      from all lookup local
32765:  from 172.16.0.100 lookup other-route
32766:  from all lookup main
32767:  from all lookup default

% ip route add default via $OTHER_ROUTER dev eth1 table $OTHER_TABLE
% ip route show table $OTHER_TABLE
default via 172.17.0.2 dev eth1

死なないために

例えば,

% sudo ip route flush cache ## < のつもりで
% sudo ip rule  flush       ## < などと typo すると死ねる

うっかりこんなことをしてしまうと,ルーティングキャッシュをクリアするつもりが,ルーティングテーブルが華麗にぶっ飛びネットワーク難民になるので,土下座して現地へ走るハメになりかねないというか走ったことがあるという.リモートでクリティカルな作業をおこなう場合,しくじった時の保険として at などでリカバリ策を仕込んでおいた方が好い

Last modified:2010/01/27 21:52:03
Keyword(s):
References: