LINUX.ORG.RU
ФорумAdmin

GRE туннель - OpenVZ virtual network

 ,


0

2

Доброго времени суток.

По порядку, есть сервер А, есть сервер Б.

У сервера А ip адрес - 8.8.8.8 и дополнительный для туннеля 9.9.9.9

У сервера Б ip адрес - 10.10.10.10

Debian 7 везде.

С сервера А на сервер Б, проксируется IP адрес 9.9.9.9 по GRE туннелю, есть интерфейс tun и локальный адрес в туннеле 192.168.0.40 Туннель рабочий и по обращению к 9.9.9.9:22 без всяких правил стучит на сервер Б, всё правильно.

На сервере Б есть контейнеры openvz, с локальным адресом 192.168.3.2, нужно завернуть весь исходящий трафик, через 9.9.9.9, у меня не получается, просто нет сети, работает только через 10.10.10.10(реальный ип)

Так же и со входящим, нужно например 9.9.9.9:2525 что бы вело на локальный адрес openvz 192.168.3.2

Такая махинация работает с обычным адресом сервера 10.10.10.10

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j SNAT --to 10.10.10.10

iptables -t nat -A PREROUTING -p tcp -d 10.10.10.10 --dport 2525 -i eth0 -j DNAT --to-destination 192.168.3.2:22

iptables -t nat -A POSTROUTING -s 192.168.3.2 -o eth0 -j SNAT --to 10.10.10.10

Исходящий трафик работает, входящий по порту так же, как сделать тоже самое но для ip с gre туннеля 9.9.9.9 ?

UP есть небольшие здвиги iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o tun0 -j SNAT --to 9.9.9.9

уже даёт доступ к локальному ip туннеля 192.168.0.40, раньше его не было вообще, хотя почему если я указан внешний ип?)

нужно завернуть весь исходящий трафик, через 9.9.9.9

Это как? Вы не можете вобще весь трафик завернуть в тунель, GRE-пакеты должны идти по обычному.

Может я чего-то не понимаю, но с моей точки зрения 9.9.9.9 нужно назначать на B. На сервере A прописывать маршут к 9.9.9.9 через тунель, делать, если нужно arp proxy запись. На сервере B делать отдельную таблицу маршрутизации с default через тунель и через ip rule заворачивать в эту таблицу всё с src-ip=9.9.9.9

Когда в настраиваете сложную маршрутизацию, лучше смотрите на всех интерфейсах нужные пакеты с помощью tcpdump, чтобы было видно, куда и с каким ip-адресами уходит ответный пакет.

mky ★★★★★ ()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от mky

Да вы не так поняли просто, на сервере Б чудесно работает 9.9.9.9 от сервера А и на нем я запускаю сервисы и они доступны без всяких правил на сервере А, просто gre туннель правильный.

Тем самым я на сервере Б еще запустил виртуальный сервер, со своим локальным ип и хочу что бы доступ к этому виртуальному сервер был не из стандартного ip сервера Б, а с 9.9.9.9, который уже затунелен на сервер Б, сделать так же что бы весь трафик виртуального сервера так же выходил в интернет через в gre туннель под своим ip 9.9.9.9, а мои правила iptables не помогают или делают это не полностью

frealy121212 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.