URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5157
[ Назад ]

Исходное сообщение
"Пробросить порт в OpenVPN подсеть"

Отправлено hidx , 28-Май-13 16:40 
Добрый день.

Имеется:
Сервер шлюз в локальной сети (Центрального офиса) вида 192.168.70.0/24. Сервер раздает инет и по OpenVPN соединяется с сервером филиала, для доступа к подсети (Филиала) вида 192.168.2.0/24

Шлюз в ЦО:
eth0 - реальный ип 123.123.123.123
eth1 - локальный ип 192.168.70.1
tun0 - IP OpenVPN тунеля 10.9.0.14 который позволяет общаться с под сетью филиала  192.168.2.0/24

Необходимо:
Что бы при открытии 123.123.123.123 (реальный ип ЦО) открывался веб ресурс 192.168.2.10 (сервер в филиале).

Второй день бьюсь над этой задачей и ничего не выходит. Делаю так:

$IPT -t nat -A PREROUTING --dst 123.123.123.123 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.10
iptables -t nat -A POSTROUTING --dst 192.168.2.10 -p tcp --dport 80 -j SNAT --to-source 192.168.70.1
iptables -t nat -A OUTPUT --dst 123.123.123.123 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.10
$IPT -I FORWARD 1 -i eth0 -o eth1 -d 192.168.2.10 -p tcp -m tcp --dport 80 -j ACCEPT


Содержание

Сообщения в этом обсуждении
"Пробросить порт в OpenVPN подсеть"
Отправлено reader , 28-Май-13 22:41 
>[оверквотинг удален]
> eth0 - реальный ип 123.123.123.123
> eth1 - локальный ип 192.168.70.1
> tun0 - IP OpenVPN тунеля 10.9.0.14 который позволяет общаться с под сетью
> филиала  192.168.2.0/24
> Необходимо:
> Что бы при открытии 123.123.123.123 (реальный ип ЦО) открывался веб ресурс 192.168.2.10
> (сервер в филиале).
> Второй день бьюсь над этой задачей и ничего не выходит. Делаю так:
> $IPT -t nat -A PREROUTING --dst 123.123.123.123 -p tcp --dport 80 -j
> DNAT --to-destination 192.168.2.10

на шлюзе в ЦО маршрут к 192.168.2.0/24 есть?

> iptables -t nat -A POSTROUTING --dst 192.168.2.10 -p tcp --dport 80 -j
> SNAT --to-source 192.168.70.1

в 192.168.2.0/24 маршрут к 192.168.70.1 есть?

> iptables -t nat -A OUTPUT --dst 123.123.123.123 -p tcp --dport 80 -j
> DNAT --to-destination 192.168.2.10
> $IPT -I FORWARD 1 -i eth0 -o eth1 -d 192.168.2.10 -p tcp
> -m tcp --dport 80 -j ACCEPT

если 192.168.2.10 за tun0, то почему -o eth1?
для ответных пакетов разрешение есть?
OpenVPN о 192.168.2.0/24 знает (iroute), если сервер OpenVPN в ЦО конечно? может с tap начинать будет проще?


"Пробросить порт в OpenVPN подсеть"
Отправлено PavelR , 29-Май-13 08:26 
>может с tap начинать будет проще?

Надо начинать с освоения команды tcpdump и напряжения мозга знаниями о том, почему и как бегают IP-пакетики.

Затем освоить тему "линукс и два провайдера" и провести по ней практическое занятие на сервере филиала.


"Пробросить порт в OpenVPN подсеть"
Отправлено mr_noname , 15-Июн-13 08:31 
> $IPT -t nat -A PREROUTING --dst 123.123.123.123 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.10
> iptables -t nat -A POSTROUTING --dst 192.168.2.10 -p tcp --dport 80 -j SNAT --to-source 192.168.70.1
> iptables -t nat -A OUTPUT --dst 123.123.123.123 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.10
> $IPT -I FORWARD 1 -i eth0 -o eth1 -d 192.168.2.10 -p tcp -m tcp --dport 80 -j ACCEPT

Третья строчка лишняя. Вроде DNAT для OUTPUT вообще не делают.

Ну и поддерживаю вышесказанное:
- доступен ли на данный момент 192.168.2.10 с 192.168.70.1?
- что выдаёт tcpdump на маршрутизаторе в ЦО, маршрутизаторе в филиале, на веб сервере?

---

Ещё как вариант в такой схеме (если отпадёт желание разбираться с NAT) можно поставить реверс-прокси. Какой-нибудь squid или nginx. Для них несложно найти типовые конфиги из серии копировал-вставил-подписал нужные адреса.


"Пробросить порт в OpenVPN подсеть"
Отправлено ALex_hha , 25-Июн-13 19:48 
> Третья строчка лишняя. Вроде DNAT для OUTPUT вообще не делают.

ошибаетесь, делают для локально сгенерированных пакетов

например приходилось временно перенаправлять все ldap запросы на другой сервер (чтобы не менять настройки в 100500 сайтах)

# iptables -t nat -I OUTPUT -p tcp -d 192.168.210.104 --dport 389 -j DNAT --to-destination 172.16.1.2:389


"Пробросить порт в OpenVPN подсеть"
Отправлено sovransky , 25-Июл-13 21:34 
>[оверквотинг удален]
> (сервер в филиале).
> Второй день бьюсь над этой задачей и ничего не выходит. Делаю так:
> $IPT -t nat -A PREROUTING --dst 123.123.123.123 -p tcp --dport 80 -j
> DNAT --to-destination 192.168.2.10
> iptables -t nat -A POSTROUTING --dst 192.168.2.10 -p tcp --dport 80 -j
> SNAT --to-source 192.168.70.1
> iptables -t nat -A OUTPUT --dst 123.123.123.123 -p tcp --dport 80 -j
> DNAT --to-destination 192.168.2.10
> $IPT -I FORWARD 1 -i eth0 -o eth1 -d 192.168.2.10 -p tcp
> -m tcp --dport 80 -j ACCEPT

Добрый день!
Такая же задача, уже всею голову сломал. Вам удалось победить?