dafault gateway в VE c venet [message #35678] |
Tue, 14 April 2009 13:40 |
nikolasd
Messages: 9 Registered: April 2009
|
Junior Member |
|
|
Уважаемые гуру OpenVZ, помогите разобраться новичку виртуализации!!
Есть сеть с 2 шлюзами и Хост машина с OpenVZ
первый шлюз 2 карты:
внутренняя карта - 192.168.0.50, шлюз через который получают инет весь офис
внешняя карта - 213.хх.хх.хх
Второй шлюз 2 карты:
внутренняя карта - 192.168.0.250
внешняя карта - 212.хх.хх.хх
Хост машина - 192.168.0.240 default gateway = 192.168.0.50
на ней 5 VE c venet 192.168.0.241-245
Как сделать чтобы у VE c 192.168.0.241 gateway был равен 192.168.0.250, а не default gateway от Хост машины.
|
|
|
|
|
|
|
|
Re: dafault gateway в VE c venet [message #35725 is a reply to message #35719] |
Fri, 17 April 2009 14:10 |
nikolasd
Messages: 9 Registered: April 2009
|
Junior Member |
|
|
Нет не спасло. VE c 192.168.0.241 видит шлюз 192.168.0.250,
эту виртуальную машину видно из сети 192.168.0.0/24 но она
ничего кроме 192.168.0.250 не видит.
А если сделать так.
На Хост машине
# ip rule add from 192.168.0.241 table 241
# ip route add default dev eth0 via 192.168.0.250 table 241
# ip route add 192.168.0.241 dev venet0 table 241
# ip route flush cache
на хост машине получаю(нет маршрута к 192.168.0.241)
# ip route ls
192.168.0.244 dev venet0 scope link
192.168.0.245 dev venet0 scope link
192.168.0.242 dev venet0 scope link
192.168.0.243 dev venet0 scope link
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.240
default via 192.168.0.50 dev eth0
# ip route ls table 241
192.168.0.241 dev venet0 scope link
default via 192.168.0.250 dev eth0
VE 192.168.0.241 перестала вообще что-либо пинговать кроме себя
Мне эта хрень нужна чтобы порт пробросить с 192.168.0.250 и ответные пакеты назад на нее же отправить.
Я думаю надо как то в таблице правил 241 сказать что если пакеты
идут от 192.168.0.241 куда угодно кроме 192.168.0.0/24 использовать шлюз 192.168.0.250, если от 192.168.0.241 на сеть 192.168.0.0/24 то использовать 192.168.0.50. Подскажите пжл как? Насколько я знаю в ip rule отрицания (т.е !) неиспользуется.
[Updated on: Fri, 17 April 2009 14:50] Report message to a moderator
|
|
|
|
|
|
Re: dafault gateway в VE c venet [message #39764 is a reply to message #39723] |
Sun, 30 May 2010 09:43 |
RXL_
Messages: 147 Registered: July 2009 Location: Moscow/Russia
|
Senior Member |
|
|
Разный набор маршрутов реализуется только с ip rule. Управлять маршрутизацией можно не только на основе src ip, но и на fwmark. Сам fwmark назначается в правилах iptables HN (из VE ничего, кроме TOS передать не получится).
Для установки и удаления правил используйте скрипты /etc/vz/${VEID}.start и /etc/vz/${VEID}.stop.
Предварительная конфигурация:
# Создать правила маршрутизации.
ip rule add fwmark 100 prio 100 table 100
ip rule add fwmark 101 prio 101 table 101
# Заполнить таблицы маршрутизации 100 и 101.
# .....
# Создать цепочку iptables.
iptables -t mangle -N ve_route_select
iptables -t mangle -A PREROUTING -i venet0 -j ve_route_select
Команды для скриптов конфигурации VE:
# Добавление правила для VE.
iptables -t mangle -A ve_route_select -s ${IP_ADDRESS} -j MARK --set-mark 100
# Удаление правила для VE.
iptables -t mangle -D ve_route_select -s ${IP_ADDRESS} -j MARK --set-mark 100
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|