OpenVZ Forum


Home » International » Russian » veth в одну сторону :(
veth в одну сторону :( [message #33250] Thu, 02 October 2008 07:52 Go to next message
Vasyl is currently offline  Vasyl
Messages: 13
Registered: October 2008
Location: Odessa
Junior Member

Есть хост на 2.6.9-023stab046.2-smp (vzctl version 3.0.14 на CentOS release 4.6)
ifconfig говорит
eth0      Link encap:Ethernet  HWaddr 00:30:48:63:C5:26
          inet addr:[COLOR=red]внешний адрес...[/COLOR]
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6997472 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7267945 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:2132351748 (1.9 GiB)  TX bytes:101202879 (96.5 MiB)
          Base address:0x2000 Memory:d8220000-d8240000

eth1      Link encap:Ethernet  HWaddr 00:30:48:63:C5:27
          inet addr:10.0.10.120  Bcast:10.0.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:438154 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6853 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:35511572 (33.8 MiB)  TX bytes:447935 (437.4 KiB)
          Base address:0x2020 Memory:d8260000-d8280000

...

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:7228237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6685346 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:14612487 (13.9 MiB)  TX bytes:1335602479 (1.2 GiB)

veth600.0 Link encap:Ethernet  HWaddr 00:30:48:63:C5:27
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:152 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125974 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7601 (7.4 KiB)  TX bytes:7644418 (7.2 MiB)

vzbr0     Link encap:Ethernet  HWaddr 00:30:48:63:C5:27
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:197959 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1217 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12049809 (11.4 MiB)  TX bytes:72608 (70.9 KiB)


Есть VE на CentOS release 5 с ifconfig:
eth0      Link encap:Ethernet  HWaddr 00:30:48:63:C5:28
          inet addr:10.0.10.122  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:126214 errors:0 dropped:0 overruns:0 frame:0
          TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7658645 (7.3 MiB)  TX bytes:7601 (7.4 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2181824920 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46285775 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1061932738 (1012.7 MiB)  TX bytes:196200929 (187.1 MiB)

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:156628 errors:0 dropped:0 overruns:0 frame:0
          TX packets:157881 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:28871733 (27.5 MiB)  TX bytes:14352238 (13.6 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:[COLOR=red]другойвнешнийадрес[/COLOR]  P-t-P:[COLOR=red]третийвнешнийадрес[/COLOR]  Bcast:[COLOR=red]трампарампампам[/COLOR]  Mas
k:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1



Знаю, что не рекомендуется смешивать venet и veth, но таково требование заказчика Confused

Добавлялся veth как написано в http://wiki.openvz.org/Virtual_Ethernet_device

И всё вроде хорошо - из VE по сети 10.0.10 всё путём, а снаружи из этой сети - никак.

Пробовал с маршрутами (ping с хоста на VE):

когда на хосте 10.0.10.122 прописан через veth600.0, на VE tcpdump -i eth0 говорит:

04:36:16.872203 arp who-has 10.0.10.122 tell [COLOR=red]внешний адрес...[/COLOR]
04:36:16.872213 arp reply 10.0.10.122 is-at 00:30:48:63:c5:28 (oui Unknown)


если пробовать маршрут в vzbr0
# brctl show
bridge name     bridge id               STP enabled     interfaces
vzbr0           8000.00304863c527       yes             eth1
                                                        veth600.0

, то tcpdump говорит

04:40:25.817582 IP [COLOR=red]внешний адрес...[/COLOR] > 10.0.10.122: ICMP echo request, id 2819, seq 12, length 64

ответа нету.


Прямо как-будто nat какой-то. На VE прописан маршрут по умолчанию:
default         192.0.2.1       0.0.0.0         UG    0      0        0 venet0


ЧЯДН кроме попытки смешать venet с veth?


Re: veth в одну сторону :( [message #33252 is a reply to message #33250] Thu, 02 October 2008 09:49 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Здравствуйте,

а можете в то же время натравить tcpdump на venet0 интерфейс, похоже ответы из VE идут через него. Если это так, то вам нужен sorce based routing внутри VE.
http://wiki.openvz.org/Source_based_routing
Чтобы это утверждать точно, пожалуйста покажите следующую информацию:
# ip rule l (с HN и изнутри VE)
# ip route list table all (изнутри HN и c VE)

И еще вопрос: у вас veth на HN объединен ли с eth1 в бридж vzbr0 или нет?

Re: veth в одну сторону :( [message #33263 is a reply to message #33252] Thu, 02 October 2008 17:26 Go to previous messageGo to next message
Vasyl is currently offline  Vasyl
Messages: 13
Registered: October 2008
Location: Odessa
Junior Member

> похоже ответы из VE идут через него.
нет

NH:
#  ip rule l
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default
#  ip route list table all
10.0.10.122 dev veth600.0  scope link
10.0.10.0/24 dev eth1  proto kernel  scope link  src 10.0.10.120
default via ещёвнешнийадрес dev eth0
broadcast внешнийадресbcast dev eth0  table local  proto kernel  scope link  src внешнийадрес
broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1
broadcast 10.0.10.0 dev eth1  table local  proto kernel  scope link  src 10.0.10.120
local внешнийадрес   dev eth0  table local  proto kernel  scope host  src внешнийадрес
local 10.0.10.120 dev eth1  table local  proto kernel  scope host  src 10.0.10.120
broadcast внешнийадресподсети dev eth0  table local  proto kernel  scope link  src внешнийадрес
broadcast 127.0.0.0 dev lo  table local  proto kernel  scope link  src 127.0.0.1
broadcast 10.0.10.255 dev eth1  table local  proto kernel  scope link  src 10.0.10.120
local 127.0.0.1 dev lo  table local  proto kernel  scope host  src 127.0.0.1
local 127.0.0.0/8 dev lo  table local  proto kernel  scope host  src 127.0.0.1

VE:
# ip rule l
0:      from all lookup 255
32766:  from all lookup main
32767:  from all lookup default
# ip route list table all
10.0.0.0 dev eth0  scope link
10.0.10.0/24 via 10.0.10.122 dev eth0  scope link
192.0.2.0/24 dev venet0  scope host
169.254.0.0/16 dev venet0  scope link
default via 192.0.2.1 dev venet0
broadcast 127.255.255.255 dev lo  table 255  proto kernel  scope link  src 127.0.0.1
local 10.0.10.122 dev eth0  table 255  proto kernel  scope host  src 10.0.10.122
broadcast 127.0.0.0 dev lo  table 255  proto kernel  scope link  src 127.0.0.1
local внешнийадрес dev venet0  table 255  proto kernel  scope host  src внешнийадрес
broadcast внешнийадрес dev venet0  table 255  proto kernel  scope link  src внешнийадрес
local 127.0.0.1 dev lo  table 255  proto kernel  scope host  src 127.0.0.1
local 127.0.0.1 dev venet0  table 255  proto kernel  scope host  src 127.0.0.1
local 127.0.0.0/8 dev lo  table 255  proto kernel  scope host  src 127.0.0.1




>veth на HN объединен ли с eth1 в бридж vzbr0
Да, и включено посредством
ip link set vzbr0 up


Re: veth в одну сторону :( [message #33265 is a reply to message #33263] Thu, 02 October 2008 17:44 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Quote:


> похоже ответы из VE идут через него.
нет



Ну почему же нет?
Запросы с HN приходят с "внешнего ip", обратно, судя, по вашей таблице маршрутизации в VE, они должны уйти через venet0.
source based routing должне помочь.
А, еще одна идея:
Что-нибудь измениться, если вы на HN в файле /etc/vz/vz.conf измените переменную VE_ROUTE_SRC_DEV и поставите значение в eth1 (на всякий пожарный сделайте рестарт сервиса vz на HN), можно ли пинговать VE с HN?

Re: veth в одну сторону :( [message #33309 is a reply to message #33265] Tue, 07 October 2008 03:29 Go to previous message
Vasyl is currently offline  Vasyl
Messages: 13
Registered: October 2008
Location: Odessa
Junior Member

А ларчик просто открывался...

добавил route к внешнему адресу HN (раз он так уж хочет называть его источником пакетов) через интерфейс eth0 на VE

Previous Topic: Проброс multicast трафика в контейнер
Next Topic: veth-призрак
Goto Forum:
  


Current Time: Mon Nov 04 07:33:31 GMT 2024

Total time taken to generate the page: 0.03548 seconds