Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: [РЕШЕНО] Проброс порта в openvpn  (Прочитано 1767 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SveRussian

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
[РЕШЕНО] Проброс порта в openvpn
« : 12 Января 2014, 20:31:03 »
Здравствуйте.
Помогите настроить проброс порта в openvpn сеть. Вроде бы полно информации, но почему-то не работает :(
Исходные данные: Ubuntu в локальной сети за NAT.
Локальный адрес: 192.168.1.235
OpenVPN адрес: 10.90.0.1
Коннект идёт с соседней машины (192.168.1.50) на локальный адрес (192.168.1.235) на порт 80
Необходимо прокинуть порт на 10.90.0.3 (там web сервер)

Текущие настройки:
ip a ; ip r
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:ac:b3:07 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.235/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:feac:b307/64 scope link
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none
    inet 10.90.0.1/16 brd 10.90.255.255 scope global tun0
       valid_lft forever preferred_lft forever
default via 192.168.1.1 dev eth0
10.90.0.0/16 dev tun0  proto kernel  scope link  src 10.90.0.1
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.235

iptables-save# Generated by iptables-save v1.4.18 on Sun Jan 12 20:24:38 2014
*mangle
:PREROUTING ACCEPT [48:3744]
:INPUT ACCEPT [48:3744]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [45:5896]
:POSTROUTING ACCEPT [45:5896]
COMMIT
# Completed on Sun Jan 12 20:24:38 2014
# Generated by iptables-save v1.4.18 on Sun Jan 12 20:24:38 2014
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 192.168.1.235/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.90.0.3:80
COMMIT
# Completed on Sun Jan 12 20:24:38 2014
# Generated by iptables-save v1.4.18 on Sun Jan 12 20:24:38 2014
*filter
:INPUT ACCEPT [50:3824]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [59:9128]
-A FORWARD -d 10.90.0.1/32 -i tun0 -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Sun Jan 12 20:24:38 2014

sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward = 1
С самой машины доступ до web сервера на 10.90.0.3 есть:
С самого сервера 192.168.1.235 доступ до web сервера на 10.90.0.3 есть:
telnet 10.90.0.3 80Trying 10.90.0.3...
Connected to 10.90.0.3.
Escape character is '^]'.
GET
<html><body><h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body></html>
Connection closed by foreign host.

При коннекте с 192.168.1.50 соединение висит, затем отваливается по таймауту:
К сожалению, Google Chrome не может открыть страницу 192.168.1.235.

Снова откройте страницу: 192.­168.­1.­235
« Последнее редактирование: 16 Января 2014, 13:15:58 от SveRussian »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс порта в openvpn
« Ответ #1 : 12 Января 2014, 20:47:43 »
А почему Вы на 192.­168.­1.­235 браузер натравляете? Не пробовали 10.90.0.3 открывать?

Оффлайн SveRussian

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс порта в openvpn
« Ответ #2 : 12 Января 2014, 21:40:15 »
Не пробовал.
Машина 192.168.1.50 (с которой идёт коннект) ничего не знает про openvpn и не должна знать.
Для неё это просто обращение к серверу 192.168.1.235, а вот тому как раз и нужно зарулить весь трафик.
К тому же адрес 192.168.1.235 не является шлюзом по-умолчанию и обратившись по адресу 10.90.0.3 я туда не попаду.

P.S. Пардон, неправильно сформулировал.
Фразу "С самой машины доступ до web сервера на 10.90.0.3 есть:" следует читать так: "С самого сервера 192.168.1.235 доступ до web сервера на 10.90.0.3 есть:"
« Последнее редактирование: 12 Января 2014, 21:53:52 от SveRussian »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс порта в openvpn
« Ответ #3 : 12 Января 2014, 22:40:58 »
А 10.90.0.3 что-то знает про сеть 192.168.1.0/0?

Оффлайн SveRussian

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс порта в openvpn
« Ответ #4 : 13 Января 2014, 00:04:18 »
нет, ничего не знает, для него запрос должен идти от 10.90.0.1

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: Проброс порта в openvpn
« Ответ #5 : 13 Января 2014, 00:57:30 »
Тогда в POSTROUTING таблицы *nat добавьте правило.
OpenWrt 19.07

Оффлайн SveRussian

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс порта в openvpn
« Ответ #6 : 13 Января 2014, 01:21:47 »
KT315, спасибо, но дошло до самого.
fisher74, отдельное спасибо за вопрос по части знания про сеть 192.168.1.0/0, решил прослушать, что идёт по tun0 интерфейсу:
tcpdump -i tun0tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
01:11:50.038485 IP 192.168.1.50.54173 > 10.90.0.3.http: Flags [S], seq 372708007, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
01:11:50.284318 IP 192.168.1.50.54174 > 10.90.0.3.http: Flags [S], seq 2491816030, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
01:11:53.026057 IP 192.168.1.50.54172 > 10.90.0.3.http: Flags [S], seq 4006219262, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
01:11:53.026080 IP 192.168.1.50.54173 > 10.90.0.3.http: Flags [S], seq 372708007, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
01:11:53.276166 IP 192.168.1.50.54174 > 10.90.0.3.http: Flags [S], seq 2491816030, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
01:11:59.031636 IP 192.168.1.50.54172 > 10.90.0.3.http: Flags [S], seq 4006219262, win 8192, options [mss 1460,nop,nop,sackOK], length 0
01:11:59.031660 IP 192.168.1.50.54173 > 10.90.0.3.http: Flags [S], seq 372708007, win 8192, options [mss 1460,nop,nop,sackOK], length 0
01:11:59.282391 IP 192.168.1.50.54174 > 10.90.0.3.http: Flags [S], seq 2491816030, win 8192, options [mss 1460,nop,nop,sackOK], length 0
Отсюда увидел, что адрес источника не изменился и машина 10.90.0.3 просто не в курсе, куда возвращать пакет, возвращает его в дефолтовый шлюз (который ни разу не 10.90.0.1)

Добавил правило:
iptables -t nat -A POSTROUTING -s 192.168.1.50/32 -o tun0 -j MASQUERADE
и всё заработало.
Вопрос решён, всем ещё раз спасибо.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс порта в openvpn
« Ответ #7 : 13 Января 2014, 08:15:27 »
Я правда там чуть опечатался. Разговор шёл про сеть 192.168.1.0/24. Но соль была в векторе поиска ;)

 

Страница сгенерирована за 0.034 секунд. Запросов: 25.