赤い線: 通常に使用している通信経路
緑の線: ゲスト用通信経路
・Server2 は Linux の KVM によって構成しています。
・Guest1, Guest2 の通信経路は、KVM でゲスト OS を作成するときのデフォルトである NAT で構成しています。
・ほとんどの通信機器 (およびサーバー) の通信は GW1 を通り、Guest2 だけが GW2 を通ります。
・この構成の場合、Guest1 や Guest2 から、その先の Gateway である GW1, GW2 を指定することができないため、ホスト OS である Server2 で設定します。
・この時、ゲスト OS の Guest1, Guest2 は、両方とも PC1 から管理できるようにします。
Guest2 に対するソースルーティング以外は通常の構成なので、それぞれの機器やサーバーは、普通に設定してください。1. ルール名の作成 (Server2 に作成)
$ su2. ソースルーティング用スクリプトの作成 (Server2 に作成)
# vi /etc/iproute2/rt_tables
# # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep 100 gw2 # <- この行を追加
# vi /etc/rc.d/init.d/source-routing3. 設定の有効化
※ここでは、/etc/rc.d/init.d/network が S10network として起動するため、そのあとに起動されるよう、11 を指定しています。
#! /bin/bash # # chkconfig: 345 11 89 # description: Alternate routing from source IP-address. CWD=$(pwd) case "$1" in start) ip rule add from 192.168.122.3 table gw2 ip route add 192.168.1.0/24 dev eth0 table gw2 ip route add default via 192.168.1.2 table gw2 touch /var/lock/subsys/source-route ;; stop) ip rule del from 192.168.122.3 table gw2 ip route del 192.168.1.0/24 dev eth0 table gw2 ip route del default via 192.168.1.2 table gw2 rm -f /var/lock/subsys/network ;; restart) cd "$CWD" $0 stop $0 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 2 esac exit 0
(同様に K90network の前の数字として 89 を指定しています)
通常のルーティングでは /etc/sysconfig/network-script/ にルールを記述しますが、
今回の設定でそこに記述するとうまくいきません。
# /sbin/chkconfig --add source-routing
# /etc/rc.d/init.d/source-routing start
(あるいは、shutdown -r now)