Policy routing и OpenVZ : адреса из разных подсетей в одном VE
slepnoga 29 июля, 2010 - 19:29
имею:
2.6.27-openvz-kiprensky.1-r1-test x86_64 Intel(R) Xeon(TM) CPU 3.20GHz GenuineIntel GNU/Linux
создана VE на базе Centos'a. в нее при помощи vzctl добавлено 3 IP адреса:
1: lo: <LOOPBACK,UP,LOWER_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 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue link/void inet 127.0.0.1/32 scope host venet0 inet 77.хх.хх.14/32 brd 77.xx.xx.14 scope global venet0:0 inet 77.хх.хх.15/32 brd 77.xx.xx.15 scope global venet0:1 inet 82.ххх.хх.ххх/32 brd 82.xxx.xx.131 scope global venet0:2
venet0:0 и venet0:1 - адреса из одной подсети (соседние), venet0:2 - из другой подсети
Физически на HW интерфейс 1:
first iproute2 # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:04:23:c9:dd:62 inet addr:77.ххх.ххх.16 Bcast:77.xxx.xxx.31 Mask:255.255.255.224 inet6 addr: fe80::204:23ff:fec9:dd62/64 Scope:Link
адрес из сети номер 1
Как я понимаю, надо настраивать policy routing.
Насколько я понимяю, настраивается он в VE.
И вот дальше начинаются непонятки:
смотрим таблицу роутинга в VE
route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use 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
Сорри, но я фигею. Что это и откуда ?
ищем
first iproute2 # grep -R "192.0.2" /etc/vz/ /etc/vz/dists/scripts/functions:FAKEGATEWAY=192.0.2.1 /etc/vz/dists/scripts/functions:FAKEGATEWAYNET=192.0.2.0
и находим :
irst iproute2 # grep -R "FAKEGATEWAY" /etc/vz/ /etc/vz/dists/scripts/debian-add_ip.sh: up route add -net ${FAKEGATEWAY} netmask 255.255.255.255 dev ${VENET_DEV} /etc/vz/dists/scripts/debian-add_ip.sh: up route add default gw ${FAKEGATEWAY}" >> ${CFGFILE} /etc/vz/dists/scripts/redhat-add_ip.sh: if ! grep -q "${FAKEGATEWAYNET}/24 dev ${VENET_DEV}" ${ROUTE} 2>/dev/null; then /etc/vz/dists/scripts/redhat-add_ip.sh: echo "${FAKEGATEWAYNET}/24 dev ${VENET_DEV} scope host /etc/vz/dists/scripts/redhat-add_ip.sh:default via ${FAKEGATEWAY}" >> ${ROUTE} || error "Can't create ${ROUTE}" ${VZ_FS_NO_DISK_SPACE} /etc/vz/dists/scripts/redhat-add_ip.sh: put_param $NETFILE GATEWAY ${FAKEGATEWAY} /et.................
скрипт целиком - http://pastebin.ca/1911017
Кто то в курсе, Зачем это сделано ?
НУ и самый главный вопрос - так где всетаки настраивать policy routing ?
В большинстве случаев в гугле ситуация другая - адреса из разных подсетей в разных VE
»
- Для комментирования войдите или зарегистрируйтесь
разобрался вроде с глюком
разобрался вроде с глюком
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)