LINUX.ORG.RU
решено ФорумAdmin

Проброс сайта из тунеля openvpn в локальную сеть

 , ,


0

1

Всем привет! Есть следующая проблема, имеется удаленный сайт к которому есть доступ через openvpn (tun0), нужно пропробросить его в локальную сеть (eth0), и к пользователям моей сети через свою openvpn сеть (tun1). Сайт работает по портам 80 и 99, при чем 80 - тестовая версия сайта, 99 - рабочий вариант.

~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:15:5d:00:01:42
          inet addr:10.59.0.118  Bcast:10.59.0.255  Mask:255.255.255.0
          inet6 addr: fe80::215:5dff:fe00:142/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3116 errors:0 dropped:504 overruns:0 frame:0
          TX packets:435 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:258700 (258.7 KB)  TX bytes:56377 (56.3 KB)

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:246 errors:0 dropped:0 overruns:0 frame:0
          TX packets:246 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:19408 (19.4 KB)  TX bytes:19408 (19.4 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.255.2.22  P-t-P:10.255.2.21  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:1197 (1.1 KB)  TX bytes:1065 (1.0 KB)

tun1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.1.6  P-t-P:10.0.1.6  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Пробрасываю через нат, следующим образом:
#!/bin/sh

#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

#Разрешаем траффик на lo
iptables -A INPUT -i lo -j ACCEPT

#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun1 -o tun0 -j ACCEPT

#Включаем NAT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

#Форвардинг 80
iptables -t nat -A PREROUTING -d 10.59.0.118 -p tcp --dport 80 -j DNAT --to-destination 192.168.37.7:80
iptables -t nat -A PREROUTING -d 10.0.1.6 -p tcp --dport 82 -j DNAT --to-destination 192.168.37.7:80

#Форвардинг 99
iptables -t nat -A PREROUTING -d 10.59.0.118 -p tcp --dport 99 -j DNAT --to-destination 192.168.37.7:99
iptables -t nat -A PREROUTING -d 10.0.1.6 -p tcp --dport 99 -j DNAT --to-destination 192.168.37.7:99

#Разрешаем ответы из внешней сети
iptables -A FORWARD -i tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i tun0 -o eth0 -j REJECT
iptables -A FORWARD -i tun0 -o tun1 -j REJECT
192.168.37.7 - адрес сайта внутри tun0, проблема заключается в следующем: сайт загружается как в локальной сети eth0 так и в моем тунеле tun1, по порту 99, по 80 выходит окно авторизации с сообщением «Подключение к веб сайту не защищено», в чем может быть проблема?

схема подключения:

| В этом сегменте ни чего изменить не могу (нет доступа)   |Моя сеть с полным доступом, шлюз на ubuntu server 16
|_________________                                         |______________
|Удаленный сервер |=======tun0 с адресом 10.255.2.22======>| 10.59.0.118  |<==eth0  10.59.0.x======пользователи внутри моей сети
|с сайтом         |192.168.37.7:99-рабочий вариант сайта   |мой шлюз с nat|
|_________________|192.168.37.7:80-тестовая версия сайта   |___10.0.1.6___|<==tun1  10.0.1.x=======удаленные пользователи моей сети

Мы решили данную проблему добавлением маршрутов до сайта в файле конфига openvpn.

В конфиге /etc/openvpv/%server%.conf добавь роутинг

StalinSmol
()
Ответ на: комментарий от StalinSmol

Способ ни дал ровно ни чего, закрадывается мне мысль, что 80 порт просто напросто чем-то занят, но чем нормально не проверишь....

rain59rus
() автор топика
14 сентября 2017 г.
Ответ на: комментарий от Deleted

сайт не простой + разрабы этого сайта кривые, по внешке нельзя ходить из-за ПДн, а порты разные потому, что разрабы так решили, от меня тут ни чего не зависело

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