Changes between Version 5 and Version 6 of TipAndDoc/VM/network/iproute


Ignore:
Timestamp:
Jun 28, 2009 8:59:53 AM (15 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TipAndDoc/VM/network/iproute

    v5 v6  
    159159}}} 
    160160 
     161 = ubuntu-inner-AB = 
     162 * see [../ping#ubuntu-outerrouterubuntu-inner-AB] 
     163 
     164 * routing table 設定 
     165   1. sudo ip route add default via 10.1.0.254 table 1 
     166   1. sudo ip route add default via 10.2.0.254 table 2 
     167   * 注:デフォルトルートだけでなく、同一ネットワークに対するルートの設定も必要 => [#samenetwork] 
     168 * routing policy 設定 
     169   1. sudo ip rule add from 10.1.0.0/16 table 1 prio 1 
     170   1. sudo ip rule add from 10.2.0.0/16 table 2 prio 2 
     171   * 上記[#centos-inner]と同様に、NICのIP or networkのどちらでも良い 
     172 
     173 = ubuntu-inner-AA = 
     174 * see [../ping#unexpected] 
     175 
     176 * routing table 設定 
     177   1. sudo ip route add default via 10.1.0.254 dev eth0 table 10 
     178   1. sudo ip route add default via 10.1.0.254 dev eth1 table 20 
     179   * 注:デフォルトルートだけでなく、同一ネットワークに対するルートの設定も必要 => [#samenetwork] 
     180 * routing policy 設定 
     181   1. sudo ip rule add from 10.1.0.10 table 10 prio 1 
     182   1. sudo ip rule add from 10.1.0.20 table 20 prio 2 
     183 
     184 * ~~requestに関しては、eth1(10.1.0.20)ではなくeth0(10.1.0.10)側に届いてしまう~~ 
     185   * ~~VMなのが問題なのか、route設定がおかしいのか謎~~ 
     186 * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
     187{{{ 
     188PING 10.1.0.20 (10.1.0.20) 56(84) bytes of data. 
     18964 bytes from 10.1.0.20: icmp_seq=1 ttl=63 time=18.0 ms 
     190 
     191--- 10.1.0.20 ping statistics --- 
     1921 packets transmitted, 1 received, 0% packet loss, time 0ms 
     193rtt min/avg/max/mdev = 18.019/18.019/18.019/0.000 ms 
     194}}} 
     195   1. ubuntu-outer:eth1 
     196{{{ 
     19703:21:26.529593 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
     19803:21:26.547598 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
     199}}} 
     200   1. ubuntu-router:eth0 
     201{{{ 
     20203:21:26.528120 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
     20303:21:26.535301 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
     204}}} 
     205   1. ubuntu-router:eth1 
     206{{{ 
     20703:21:26.529233 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
     20803:21:26.534766 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
     20903:21:26.535841 IP 10.1.0.254 > 10.1.0.10: ICMP redirect 10.1.0.110 to host 10.1.0.110, length 188 
     210}}} 
     211   1. ubuntu-inner-AA:eth0 
     212{{{ 
     21303:21:26.516873 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
     21403:21:26.523308 IP 10.1.0.254 > 10.1.0.10: ICMP redirect 10.1.0.110 to host 10.1.0.110, length 188 
     215}}} 
     216   1. ubuntu-inner-AA:eth1 
     217{{{ 
     21803:21:26.520911 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
     219}}} 
     220 
     221 * 数分放置したところrequestもeth1に届くようになった => cacheのせい? 
     222 * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
     223   1. ubuntu-inner-AA:eth1 
     224{{{ 
     22503:31:16.124510 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 49704, seq 1, length 64 
     22603:31:16.125227 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 49704, seq 1, length 64 
     227}}} 
     228 
     229 * ubuntu-inner-AA上のrouting policyを削除したところ、前とは逆にeth1にrequest、eth0からreplyという状態になった。 
     230   * ubuntu-inner-AA:~$ sudo ip rule del prefer 1 
     231   * ubuntu-inner-AA:~$ sudo ip rule del prefer 2 
     232   * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
     233     1. ubuntu-inner-AA:eth1 
     234{{{ 
     23503:35:13.581262 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 58152, seq 1, length 64 
     236}}} 
     237     1. ubuntu-inner-AA:eth0 
     238{{{ 
     23903:35:13.581520 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 58152, seq 1, length 64 
     240}}} 
     241 * ~~いよいよもって謎。~~ 
     242   * これも数分放置したところ、eth0のみを通る状態に戻ったので、やはりcacheのせいと思われる 
     243 * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
     244   1. ubuntu-inner-AA:eth0 
     245{{{ 
     24603:46:28.309953 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 16425, seq 1, length 64 
     24703:46:28.310817 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 16425, seq 1, length 64 
     248}}} 
     249 
     250 = 同一ネットワーク(netmask内)へのパケット = #samenetwork 
     251 * default routeの設定だけでは、同一ネットワークへのパケットもGW(ubuntu-router:eth1)に届いてredirectされることになるので、良くない。 
     252 * ubuntu-inner-AB:~$ ping 10.1.0.20 -c 1 
     253   * ubuntu-inner-AB:eth0(10.1.0.30) <==> ubuntu-inner-AA(10.1.0.![1-2]0)と同一ネットワーク 
     254   1. ubuntu-inner-AB:eth0 
     255{{{ 
     25618:35:14.538758 IP 10.1.0.30 > 10.1.0.20: ICMP echo request, id 14357, seq 1, length 64 
     25718:35:14.542000 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
     258}}} 
     259   1. ubuntu-inner-AA:eth1 
     260{{{ 
     26118:35:14.551525 IP 10.1.0.30 > 10.1.0.20: ICMP echo request, id 14357, seq 1, length 64 
     26218:35:14.551594 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
     26318:35:14.552225 IP 10.1.0.254 > 10.1.0.20: ICMP redirect 10.1.0.30 to host 10.1.0.30, length 92 
     264}}} 
     265   1. ubuntu-router:eth1 
     266{{{ 
     26718:35:14.547829 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
     26818:35:14.548182 IP 10.1.0.254 > 10.1.0.20: ICMP redirect 10.1.0.30 to host 10.1.0.30, length 92 
     26918:35:14.548278 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
     270}}} 
     271 * これを回避するには、同じネットワークへのルートをtableに追加しておく 
     272   1. ubuntu-inner-AA:~$ sudo ip route add 10.1.0.0/16 dev eth0 table 10 
     273   1. ubuntu-inner-AA:~$ sudo ip route add 10.1.0.0/16 dev eth1 table 20 
     274   * ubuntu-inner-AA:~$ ip route list table 10 
     275{{{ 
     27610.1.0.0/16 dev eth0  scope link 
     277default via 10.1.0.254 dev eth0 
     278}}} 
     279   * ubuntu-inner-AA:~$ ip route list table 20 
     280{{{ 
     28110.1.0.0/16 dev eth1  scope link 
     282default via 10.1.0.254 dev eth1 
     283}}} 
     284 
    161285 = 補足 = 
    162286 * ルールを削除する場合は、table あるいは priority を指定して削除する 
     
    237361sudo ip rule add from 10.1.0.20 table 20 prio 2 
    238362}}} 
    239  
    240  = ubuntu-inner-AB = 
    241  * see [../ping#ubuntu-outerrouterubuntu-inner-AB] 
    242  
    243  * routing table 設定 
    244    1. sudo ip route add default via 10.1.0.254 table 1 
    245    1. sudo ip route add default via 10.2.0.254 table 2 
    246    * 注:デフォルトルートだけでなく、同一ネットワークに対するルートの設定も必要 => [#samenetwork] 
    247  * routing policy 設定 
    248    1. sudo ip rule add from 10.1.0.0/16 table 1 prio 1 
    249    1. sudo ip rule add from 10.2.0.0/16 table 2 prio 2 
    250    * 上記[#centos-inner]と同様に、NICのIP or networkのどちらでも良い 
    251  
    252  = ubuntu-inner-AA = 
    253  * see [../ping#unexpected] 
    254  
    255  * routing table 設定 
    256    1. sudo ip route add default via 10.1.0.254 dev eth0 table 10 
    257    1. sudo ip route add default via 10.1.0.254 dev eth1 table 20 
    258    * 注:デフォルトルートだけでなく、同一ネットワークに対するルートの設定も必要 => [#samenetwork] 
    259  * routing policy 設定 
    260    1. sudo ip rule add from 10.1.0.10 table 10 prio 1 
    261    1. sudo ip rule add from 10.1.0.20 table 20 prio 2 
    262  
    263  * ~~requestに関しては、eth1(10.1.0.20)ではなくeth0(10.1.0.10)側に届いてしまう~~ 
    264    * ~~VMなのが問題なのか、route設定がおかしいのか謎~~ 
    265  * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
    266 {{{ 
    267 PING 10.1.0.20 (10.1.0.20) 56(84) bytes of data. 
    268 64 bytes from 10.1.0.20: icmp_seq=1 ttl=63 time=18.0 ms 
    269  
    270 --- 10.1.0.20 ping statistics --- 
    271 1 packets transmitted, 1 received, 0% packet loss, time 0ms 
    272 rtt min/avg/max/mdev = 18.019/18.019/18.019/0.000 ms 
    273 }}} 
    274    1. ubuntu-outer:eth1 
    275 {{{ 
    276 03:21:26.529593 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
    277 03:21:26.547598 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
    278 }}} 
    279    1. ubuntu-router:eth0 
    280 {{{ 
    281 03:21:26.528120 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
    282 03:21:26.535301 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
    283 }}} 
    284    1. ubuntu-router:eth1 
    285 {{{ 
    286 03:21:26.529233 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
    287 03:21:26.534766 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
    288 03:21:26.535841 IP 10.1.0.254 > 10.1.0.10: ICMP redirect 10.1.0.110 to host 10.1.0.110, length 188 
    289 }}} 
    290    1. ubuntu-inner-AA:eth0 
    291 {{{ 
    292 03:21:26.516873 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 
    293 03:21:26.523308 IP 10.1.0.254 > 10.1.0.10: ICMP redirect 10.1.0.110 to host 10.1.0.110, length 188 
    294 }}} 
    295    1. ubuntu-inner-AA:eth1 
    296 {{{ 
    297 03:21:26.520911 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 
    298 }}} 
    299  
    300  * 数分放置したところrequestもeth1に届くようになった => cacheのせい? 
    301  * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
    302    1. ubuntu-inner-AA:eth1 
    303 {{{ 
    304 03:31:16.124510 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 49704, seq 1, length 64 
    305 03:31:16.125227 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 49704, seq 1, length 64 
    306 }}} 
    307  
    308  * ubuntu-inner-AA上のrouting policyを削除したところ、前とは逆にeth1にrequest、eth0からreplyという状態になった。 
    309    * ubuntu-inner-AA:~$ sudo ip rule del prefer 1 
    310    * ubuntu-inner-AA:~$ sudo ip rule del prefer 2 
    311    * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
    312      1. ubuntu-inner-AA:eth1 
    313 {{{ 
    314 03:35:13.581262 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 58152, seq 1, length 64 
    315 }}} 
    316      1. ubuntu-inner-AA:eth0 
    317 {{{ 
    318 03:35:13.581520 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 58152, seq 1, length 64 
    319 }}} 
    320  * ~~いよいよもって謎。~~ 
    321    * これも数分放置したところ、eth0のみを通る状態に戻ったので、やはりcacheのせいと思われる 
    322  * ubuntu-outer:~$ ping 10.1.0.20 -c 1 
    323    1. ubuntu-inner-AA:eth0 
    324 {{{ 
    325 03:46:28.309953 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 16425, seq 1, length 64 
    326 03:46:28.310817 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 16425, seq 1, length 64 
    327 }}} 
    328  
    329  = 同一ネットワーク(netmask内)へのパケット = #samenetwork 
    330  * default routeの設定だけでは、同一ネットワークへのパケットもGW(ubuntu-router:eth1)に届いてredirectされることになるので、良くない。 
    331  * ubuntu-inner-AB:~$ ping 10.1.0.20 -c 1 
    332    * ubuntu-inner-AB:eth0(10.1.0.30) <==> ubuntu-inner-AA(10.1.0.![1-2]0)と同一ネットワーク 
    333    1. ubuntu-inner-AB:eth0 
    334 {{{ 
    335 18:35:14.538758 IP 10.1.0.30 > 10.1.0.20: ICMP echo request, id 14357, seq 1, length 64 
    336 18:35:14.542000 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
    337 }}} 
    338    1. ubuntu-inner-AA:eth1 
    339 {{{ 
    340 18:35:14.551525 IP 10.1.0.30 > 10.1.0.20: ICMP echo request, id 14357, seq 1, length 64 
    341 18:35:14.551594 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
    342 18:35:14.552225 IP 10.1.0.254 > 10.1.0.20: ICMP redirect 10.1.0.30 to host 10.1.0.30, length 92 
    343 }}} 
    344    1. ubuntu-router:eth1 
    345 {{{ 
    346 18:35:14.547829 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
    347 18:35:14.548182 IP 10.1.0.254 > 10.1.0.20: ICMP redirect 10.1.0.30 to host 10.1.0.30, length 92 
    348 18:35:14.548278 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 
    349 }}} 
    350  * これを回避するには、同じネットワークへのルートをtableに追加しておく 
    351    1. ubuntu-inner-AA:~$ sudo ip route add 10.1.0.0/16 dev eth0 table 10 
    352    1. ubuntu-inner-AA:~$ sudo ip route add 10.1.0.0/16 dev eth1 table 20 
    353    * ubuntu-inner-AA:~$ ip route list table 10 
    354 {{{ 
    355 10.1.0.0/16 dev eth0  scope link 
    356 default via 10.1.0.254 dev eth0 
    357 }}} 
    358    * ubuntu-inner-AA:~$ ip route list table 20 
    359 {{{ 
    360 10.1.0.0/16 dev eth1  scope link 
    361 default via 10.1.0.254 dev eth1 
    362 }}}