Странная маршрутизация [message #16098] |
Tue, 21 August 2007 08:45 ![Go to next message Go to next message](/theme/ovz3/images/down.png) |
Sergey_Sidorin
Messages: 2 Registered: August 2007
|
Junior Member |
|
|
Конфигурация Host-машины:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:04:23:D8:FD:C4
inet addr:10.0.101.19 Bcast:10.0.101.255 Mask:255.255.255.0
inet6 addr: fe80::204:23ff:fed8:fdc4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3939660 errors:0 dropped:0 overruns:0 frame:0
TX packets:88993 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:278596214 (265.6 MiB) TX bytes:7778306 (7.4 MiB)
Base address:0x2020 Memory:b8820000-b8840000
eth1 Link encap:Ethernet HWaddr 00:04:23:D8:FD:C5
inet addr:некий реальный адрес Bcast:некий реальный броадкаст Mask:255.255.255.0
inet6 addr: fe80::204:23ff:fed8:fdc5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3799143 errors:0 dropped:0 overruns:0 frame:0
TX packets:2831582 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:527150890 (502.7 MiB) TX bytes:437751694 (417.4 MiB)
Base address:0x2000 Memory:b8800000-b8820000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1433 errors:0 dropped:0 overruns:0 frame:0
TX packets:1433 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:614915 (600.5 KiB) TX bytes:614915 (600.5 KiB)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:2313938 errors:0 dropped:0 overruns:0 frame:0
TX packets:2057760 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:311778946 (297.3 MiB) TX bytes:172124254 (164.1 MiB)
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
реальный_адрес_для_VE_1 0.0.0.0 255.255.255.255 UH 0 0 0 venet0
некая_реальная_сеть 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 некий_гейт_в_реальной_сети 0.0.0.0 UG 0 0 0 eth1
То есть у хост-машины два интерфейса, один смотрит во внутреннюю сеть, второй во внешнюю.
Есть VE_1, там следующая сеть:
ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:1658 errors:0 dropped:0 overruns:0 frame:0
TX packets:1862 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:140120 (136.8 KiB) TX bytes:1346858 (1.2 MiB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:некий_адрес_VE_1 P-t-P:некий_адрес_VE_1 Bcast:некий_адрес_VE_1 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 venet0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 venet0
0.0.0.0 192.0.2.1 0.0.0.0 UG 0 0 0 venet0
Проблема в том, что для VE_1 теряется маршрутизация в сеть, в которой находится eth0 хоста. Во все другие сети маршрутизация работает, а в эту никак.
# traceroute -n 10.0.101.1
traceroute to 10.0.101.1 (10.0.101.1), 30 hops max, 38 byte packets
1 10.0.101.19 0.065 ms 0.024 ms 0.023 ms
2 * * *
# traceroute -n 10.0.7.1
traceroute to 10.0.7.1 (10.0.7.1), 30 hops max, 38 byte packets
1 10.0.101.19 0.054 ms 0.024 ms 0.023 ms
2 10.0.7.1 0.468 ms 0.241 ms 0.488 ms
Для хост-машины все работает.
Что делать? Кто виноват?
P.S.:
# sysctl -a | grep forward|grep ipv4
net.ipv4.conf.venet0.mc_forwarding = 0
net.ipv4.conf.venet0.forwarding = 1
net.ipv4.conf.eth1.mc_forwarding = 0
net.ipv4.conf.eth1.forwarding = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.ip_forward = 1
[Updated on: Tue, 21 August 2007 09:35] Report message to a moderator
|
|
|
|
Re: Странная маршрутизация [message #16319 is a reply to message #16099] |
Fri, 31 August 2007 15:33 ![Go to previous message Go to previous message](/theme/ovz3/images/up.png) |
maratrus
Messages: 1495 Registered: August 2007 Location: Moscow
|
Senior Member |
|
|
Возможно, все дело в том, что ответ от машин из сети eth0 не доходит до VE_1.
Утилита traceroute последовательно отсылает пакеты и с каждого промежуточного пункта, где пакет роутится, ей приходят ответы.
Мы видим, что пришел ответ с Host-машины.
Видимо, далее пакет дошел до машины из сети eth0, она отвечает, но правила маршрутизации прописаны таким образом, что ответы не доходят до VE_1, так как эта машина находится в другой сети.
С принципами работы утилиты traceroute можно ознакомиться на http://ru.wikipedia.org/wiki/Traceroute
P.S. VE_ROUTE_SRC_DEV="eth0" означает, что на пакетах, пришедших с Host-машины на VE_1 будет в качестве source адреса стоять ip адрес eth0 интерфейса.
P.P.S. Быть может, Вам поможет SNAT на ip адрес Host-машины, который она имеет на интерфейсе eth0 при попытке доступа VE_1 к eth0 интерфейсу http://wiki.openvz.org/Using_NAT_for_VE_with_private_IPs
|
|
|