| 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 | {{{ |
| 188 | PING 10.1.0.20 (10.1.0.20) 56(84) bytes of data. |
| 189 | 64 bytes from 10.1.0.20: icmp_seq=1 ttl=63 time=18.0 ms |
| 190 | |
| 191 | --- 10.1.0.20 ping statistics --- |
| 192 | 1 packets transmitted, 1 received, 0% packet loss, time 0ms |
| 193 | rtt min/avg/max/mdev = 18.019/18.019/18.019/0.000 ms |
| 194 | }}} |
| 195 | 1. ubuntu-outer:eth1 |
| 196 | {{{ |
| 197 | 03:21:26.529593 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 |
| 198 | 03: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 | {{{ |
| 202 | 03:21:26.528120 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 |
| 203 | 03: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 | {{{ |
| 207 | 03:21:26.529233 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 |
| 208 | 03:21:26.534766 IP 10.1.0.20 > 10.0.0.10: ICMP echo reply, id 28200, seq 1, length 64 |
| 209 | 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 |
| 210 | }}} |
| 211 | 1. ubuntu-inner-AA:eth0 |
| 212 | {{{ |
| 213 | 03:21:26.516873 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 28200, seq 1, length 64 |
| 214 | 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 |
| 215 | }}} |
| 216 | 1. ubuntu-inner-AA:eth1 |
| 217 | {{{ |
| 218 | 03: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 | {{{ |
| 225 | 03:31:16.124510 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 49704, seq 1, length 64 |
| 226 | 03: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 | {{{ |
| 235 | 03: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 | {{{ |
| 239 | 03: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 | {{{ |
| 246 | 03:46:28.309953 IP 10.0.0.10 > 10.1.0.20: ICMP echo request, id 16425, seq 1, length 64 |
| 247 | 03: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 | {{{ |
| 256 | 18:35:14.538758 IP 10.1.0.30 > 10.1.0.20: ICMP echo request, id 14357, seq 1, length 64 |
| 257 | 18: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 | {{{ |
| 261 | 18:35:14.551525 IP 10.1.0.30 > 10.1.0.20: ICMP echo request, id 14357, seq 1, length 64 |
| 262 | 18:35:14.551594 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 |
| 263 | 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 |
| 264 | }}} |
| 265 | 1. ubuntu-router:eth1 |
| 266 | {{{ |
| 267 | 18:35:14.547829 IP 10.1.0.20 > 10.1.0.30: ICMP echo reply, id 14357, seq 1, length 64 |
| 268 | 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 |
| 269 | 18: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 | {{{ |
| 276 | 10.1.0.0/16 dev eth0 scope link |
| 277 | default via 10.1.0.254 dev eth0 |
| 278 | }}} |
| 279 | * ubuntu-inner-AA:~$ ip route list table 20 |
| 280 | {{{ |
| 281 | 10.1.0.0/16 dev eth1 scope link |
| 282 | default via 10.1.0.254 dev eth1 |
| 283 | }}} |
| 284 | |
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 | | }}} |