OpenVZ Forum


Home » International » Russian » Простая Маршрутизация VE-venet-{VE,HN}
icon5.gif  Простая Маршрутизация VE-venet-{VE,HN} [message #8389] Sat, 18 November 2006 13:54 Go to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
Доброго времени суток!

Хочется давать публичный доступ к сервисам в VE.
К сервису приставить по админу,
который будет сидеть в далекой rfc1938 сети и надзирать =).

# HN
RHEL4/p4-2.8/1G
kernel 2.6.9-023stab032.1-smp
ifs: lo,venet0, eth0: ext_ip_pool

!Все VE c rfc1938 адресами, кто ходит наружу тому SNAT

#VE-vpn
Centos-i386-minimal
openvpn-2.0.7+shorewall-3.2.5
ifs:
1. lo
2. tun11 10.9.0.6/32
3. venet0
4. venet0:0 192.168.1.1/32

Нужно: [admin_lan:rfc1938] <--> [VE_serviceN:rfc1938]

и в картинках:
как пакетики ходят в VE
(VE->) |VE-vpn| -venet0- |HN| -SNAT-to-ext_ip:eth0- [GW_ISP] -- inet
(VE<-) inet -- [GW_ISP] -- eth0 -- |HN| -venet0- |VE-vpn|

Связь [admin_lan:rfc1938] <--> [VE-vpn] есть на все адреса интерфейсов в VE-vpn.

Но что-то где-то застревает или на выходе VE-vpn:venet0 или
на входе в HN:venet0, те пакетик приходит в tun11 роутится на VE-serviceN:ip что видно в
VE-vpn# tcpdump -i venet0 -ll -nn net VE_lan,
но если сделать на
HN# tcpdump -i venet0 -ll -nn net VE_lan
или в VE-serviceN то ничего не видно.

Очень похоже, что (исходящие VE или входящие HN):venet0 не нравятся пакетики
с адресом источника != адресу VE-vpn:venet0 и они молча дропаются.

Это подтверждает правило:
удаленная сеть админа 192.168.0.0/24
адрес на VE-vpn:venet0 192.168.1.1
VE-vpn# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o venet0 -j SNAT --to 192.168.1.1

после которого [admin_lan:rfc1938] <--> [VE-serviceN]
начинает работать, но тогда теряется адрес источник(неприемлимо).

Можно ли настроить, простую маршрутизацию без использования SNAT/iptables?

[Updated on: Sat, 18 November 2006 14:03]

Report message to a moderator

Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8422 is a reply to message #8389] Mon, 20 November 2006 08:05 Go to previous messageGo to next message
dim is currently offline  dim
Messages: 344
Registered: August 2005
Senior Member
Сумбурно и мало понятно.
1) ip a l и ip r l на HN
2) то же самое внутри какой-нибудь ВЕ
3) попытаться найти tcpdumpом, где отваливаются исходящие из ВЕ пакеты
4) то же самое для входящих

или

5) доступ на ноду (PMом)


http://static.openvz.org/openvz_userbar_en.gif
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8465 is a reply to message #8422] Mon, 20 November 2006 14:28 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
# HN
[alexey@hn ~]$ /sbin/ip a l
2: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:13:20:17:1b:5a brd ff:ff:ff:ff:ff:ff
inet 64.246.5a.x/23 brd 64.246.5b.255 scope global eth0
inet 64.246.5b.y/32 scope global eth0
inet 64.246.5c.z/32 scope global eth0
inet 192.168.1.254/32 scope global eth0
1: venet0: <BROADCAST,POINTOPOINT,NOARP,UP> mtu 1500 qdisc noqueue
link/void

[alexey@hn ~]$ /sbin/ip r l
192.168.1.114 dev venet0 scope link src 64.246.5a.x
192.168.1.1 dev venet0 scope link src 64.246.5a.x
192.168.1.102 dev venet0 scope link src 64.246.5a.x
192.168.1.103 dev venet0 scope link src 64.246.5a.x
192.168.1.106 dev venet0 scope link src 64.246.5a.x
192.168.1.107 dev venet0 scope link src 64.246.5a.x
192.168.1.105 dev venet0 scope link src 64.246.5a.x
192.168.1.108 dev venet0 scope link src 64.246.5a.x
192.168.1.109 dev venet0 scope link src 64.246.5a.x
64.246.5a.0/23 dev eth0 proto kernel scope link src 64.246.5a.x
169.254.0.0/16 dev eth0 scope link
default via 64.246.5a.d dev eth0

# VE
[alexey@hn ~]$ sudo /usr/sbin/vzctl enter 101
entered into VE 101
-bash-3.00# ip l
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: venet0: <BROADCAST,POINTOPOINT,NOARP,UP> mtu 1500 qdisc noqueue
link/void
5: tun11: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 10
link/[65534]
-bash-3.00# ip r l
10.9.0.5 dev tun11 proto kernel scope link src 10.9.0.6
192.168.0.0/24 via 10.9.0.5 dev tun11
172.16.1.0/24 via 10.9.0.5 dev tun11
191.255.255.0/24 dev venet0 scope host
192.168.9.0/24 via 10.9.0.5 dev tun11
169.254.0.0/16 dev venet0 scope link
default via 191.255.255.1 dev venet0


Дальше venet0 в VE101 пакеты не идут. Например если одновременно запустить tcpdump в HN & VE, то в VE все ок, а на стороне HN тишина.
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8468 is a reply to message #8389] Mon, 20 November 2006 15:27 Go to previous messageGo to next message
dim is currently offline  dim
Messages: 344
Registered: August 2005
Senior Member
saimon wrote on Sat, 18 November 2006 08:54


Очень похоже, что (исходящие VE или входящие HN):venet0 не нравятся пакетики
с адресом источника != адресу VE-vpn:venet0 и они молча дропаются.


Вы правы. Есть такой код в venet, сделан из соображений безопасности.
Два вопроса:
1) А почему нельзя организовать то же самое без VE-vpn?
2) Не рассматривали veth как вариант?



http://static.openvz.org/openvz_userbar_en.gif
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8472 is a reply to message #8468] Mon, 20 November 2006 16:13 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
Как так без VPN? Секьюрный и настраиваемый вариант доступа + снаружи (например ISP) не видно кто и к чему изнутри подключился.

С veth не пробовал, т.к нужны дополнительные телодвижения как в HN так и в VE. Опять же, согласно документации, падение производительности.

У нельзя ли патчиком проверку убрать или опцию в конфиг заимплементить?

Спасибо, что помогли разобраться.
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8473 is a reply to message #8472] Mon, 20 November 2006 16:19 Go to previous messageGo to next message
dim is currently offline  dim
Messages: 344
Registered: August 2005
Senior Member
saimon wrote on Mon, 20 November 2006 11:13

Как так без VPN? Секьюрный и настраиваемый вариант доступа + снаружи (например ISP) не видно кто и к чему изнутри подключился.


Я имел ввиду без VE для VPNа.

Quote:


У нельзя ли патчиком проверку убрать или опцию в конфиг заимплементить?


Патч я сделать могу, но в официальное ядро мы его не включим. Если нужен такой патч, назовите версию ядра.


http://static.openvz.org/openvz_userbar_en.gif
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8480 is a reply to message #8473] Mon, 20 November 2006 17:49 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member

Ядро RHEL4 2.6.9-023stab032.1-smp.rpm

Буду очень признателен.
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8513 is a reply to message #8480] Wed, 22 November 2006 09:56 Go to previous messageGo to next message
dim is currently offline  dim
Messages: 344
Registered: August 2005
Senior Member
ловите


http://static.openvz.org/openvz_userbar_en.gif
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8575 is a reply to message #8513] Mon, 27 November 2006 10:08 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
Быстро не получилось затестить, но лучше поздно и до конца =).

Докладываю, патч помог частично. Теперь пакеты уходят из VE, доходят до адресата, идут обратно и пропадают на участке HN-venet0-VE. Похоже, что осталась еще проверка на обратном пути

remote_host(192.168.0.47) $ ping 192.168.1.115

HN:
11:47:56.280377 IP 192.168.0.47 > 192.168.1.115: icmp 64: echo request seq 815
11:47:56.280412 IP 192.168.0.47 > 192.168.1.115: icmp 64: echo request seq 815
11:47:56.280448 IP 192.168.1.115 > 192.168.0.47: icmp 64: echo reply seq 815

VE-vpn(192.168.1.1):
-bash-3.00# tcpdump -i venet0 -ll -nn icmp
11:47:56.280377 IP 192.168.0.47 > 192.168.1.115: icmp 64: echo request seq 815

VE-mysql(192.168.1.115)

Попробуем продолжить до результата?

icon5.gif  Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8577 is a reply to message #8575] Mon, 27 November 2006 11:30 Go to previous messageGo to next message
dim is currently offline  dim
Messages: 344
Registered: August 2005
Senior Member
Эта проверка необходима.
venet определяет, к какому ВЕ должен прийти этот пакет по его dst IP. Если такой IP в списках не значится, значит venet не может определить адресата. Так что используйте veth для этой ВЕ.


http://static.openvz.org/openvz_userbar_en.gif
Re: Простая Маршрутизация VE-venet-{VE,HN} [message #8578 is a reply to message #8577] Mon, 27 November 2006 11:57 Go to previous message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
Печально, такая идея развалилась =(. Буду пробовать с veth.

Спасибо за помощь.
Previous Topic: Проблема с pppd на виртуальном хосте
Next Topic: vzcfgvalidate
Goto Forum:
  


Current Time: Thu Apr 25 07:00:06 GMT 2024

Total time taken to generate the page: 0.01663 seconds