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

Исходное сообщение
"Как настроить проброс порта ipfw NAT+OpenVPN?"

Отправлено DmitryVS , 27-Апр-13 21:46 
Уже два дня голову ломаю... не получается:
Есть две локалки: 192.168.0 и 192.168.1 Они соединены туннелем на OpenVPN в режиме tun. С обоих локалок через туннель пингуются все хосты, т.е. сам туннель работает как задумано. Для определённости, мы находимся на FreeBSD сервере/роутере с доступом в интернет, туннелем и локалкой 192.168.0.

Теперь, надо сделать странное. В удалённой локалке есть машина 192.168.1.20 с веб-сервером. На этот веб-сервер надо проброить порт доступный из интернета, но не на роутере в той удалённой локалке, а на нашем местном FreeBSD сервере. (Смысл в том, что удалённая локалка реально удалённая и подключается к нашему туннелю 3G модемом с приватным ip).

Настройки FreeBSD сервера. Интерфейсы:
msk0 - смотрит в интернет с белым адресом x.x.x.x
msk1 - смотрит в локалку 192.168.0
tun1 - туннель OpenVPN с адресами 192.168.20.1 --> 192.168.20.2 на роутер в сети 192.168.1

Таблица маршрутов:

Destination        Gateway            Flags    Refs      Use  Netif Expire
default            xxxxxx             UGS         0 78938117   msk0
x.x.x.0/23         link#1             U           0      190   msk0
xxxxxx             link#1             UHS         0       30    lo0
localhost          link#9             UH          0 36426915    lo0
192.168.0.0        link#2             U           0 103345641   msk1
192.168.1.0        192.168.20.2       UGS         0    32121   tun1
192.168.20.0       192.168.20.2       UGS         0       67   tun1
192.168.20.1       link#12            UHS         0        4    lo0
192.168.20.2       link#12            UH          0        0   tun1

Находясь на FreeBSD сервере делаю пинг 192.168.1.20 - ОК.
С машины 192.168.0.2 захожу броузером на http://192.168.1.20/ - ОК.

Пишу в конфиг ipfw проброс порта:

ipfw nat 1 config if msk0 log same_ports reset redirect_port tcp 192.168.1.20:80 8000

Пытаюсь зайти на http://xxxxxx:8000/ - фиг вам.

Для очистки совести вешаю на комп в местной локалке веб-сервер и делаю:

ipfw nat 1 config if msk0 log same_ports reset redirect_port tcp 192.168.0.2:80 8000

Захожу по тому же адресу без проблем.

Вопрос: что я забыл? Почему не работает проброс порта через туннель?

ЗЫ: файервол весь открыл, ничего блокироваться не должно, таже фигня:

20000 allow ip from any to any via msk1
20020 allow ip from any to any via tun1
30000 nat 1 ip from any to any via msk0
65000 allow ip from any to any


Содержание

Сообщения в этом обсуждении
"Как настроить проброс порта ipfw NAT+OpenVPN?"
Отправлено Miha , 27-Апр-13 22:31 
>[оверквотинг удален]
>
ipfw nat 1 config if msk0 log same_ports reset redirect_port tcp 192.168.0.2:80 
> 8000

> Захожу по тому же адресу без проблем.
> Вопрос: что я забыл? Почему не работает проброс порта через туннель?
> ЗЫ: файервол весь открыл, ничего блокироваться не должно, таже фигня:
>
20000 allow ip from any to any via msk1 
> 20020 allow ip from any to any via tun1
> 30000 nat 1 ip from any to any via msk0
> 65000 allow ip from any to any
>

Вы говорите, что туннель работает, т.е. вы пингуете с одной сети другую? Но редирект, это значит, что на удаленном нттр-сервере клиентом будет не приватный адрес (в отличии от пинга), а публичный, соответственно ответ пойдет от того удаленного роутера через шлюз по умолчанию, а не через ваш туннель.
У меня подозрение, что к вам не возвращаются ответы. Проверьте тспдампом.


"Как настроить проброс порта ipfw NAT+OpenVPN?"
Отправлено DmitryVS , 28-Апр-13 00:49 
> Но редирект, это значит, что на удаленном нттр-сервере клиентом будет не
> приватный адрес (в отличии от пинга), а публичный, соответственно ответ пойдет
> от того удаленного роутера через шлюз по умолчанию, а не через
> ваш туннель.
> У меня подозрение, что к вам не возвращаются ответы. Проверьте тспдампом.

Спасибо за подсказку! Так и есть. А я не догадался. Сделал на удалённом роутере так:

ipfw add 20000 fwd 192.168.20.4 ip from 192.168.1.20 to any

т.е. все ответы от веб-сервера принудительно заворачивать на вход в туннель. Работает вроде...

Осталось теперь разобраться с самим 3G линком. Вчера поточное видео можно было тянуть сносно, а сегодня даже консолью нельзя нормально пользоваться и пинги до 10 секунд периодически :( Интересно, это лечится?


"Как настроить проброс порта ipfw NAT+OpenVPN?"
Отправлено Miha , 28-Апр-13 09:35 
>[оверквотинг удален]
>> ваш туннель.
>> У меня подозрение, что к вам не возвращаются ответы. Проверьте тспдампом.
> Спасибо за подсказку! Так и есть. А я не догадался. Сделал на
> удалённом роутере так:
>
ipfw add 20000 fwd 192.168.20.4 ip from 192.168.1.20 to any

> т.е. все ответы от веб-сервера принудительно заворачивать на вход в туннель. Работает
> вроде...
> Осталось теперь разобраться с самим 3G линком. Вчера поточное видео можно было
> тянуть сносно, а сегодня даже консолью нельзя нормально пользоваться и пинги
> до 10 секунд периодически :( Интересно, это лечится?

3G - полная фигня, ИМХО. Там такие задержки, что аналогично расстоянию от вас до Луны, если линка - витая пара :-))
Вообще я бы порекомендовал, доработать ваш ipfw: включить фильтрацию, приоритизацию т.д. Очень помогает в "узких" местах.


"Как настроить проброс порта ipfw NAT+OpenVPN?"
Отправлено DmitryVS , 30-Апр-13 20:40 
> 3G - полная фигня, ИМХО. Там такие задержки, что аналогично расстоянию от
> вас до Луны, если линка - витая пара :-))

А что делать. Никаких иных бюджетных способов для дальней связи нет. Но я несколько расстороен реальным положением вещей, надо сказать. Мобильный интернет меня до сих пор интересовал только в объёме яндекс-пробок, и мне вполне хватало. Вот решил повертеть поближе 3G. Линк колбасит по скорости и задержкам просто на глазах, от плавного просмотра видео с мегапиксельной IP-камеры до "убей себя об клавиатуру" в консоли :( Закажу внешнюю направленную антенну, может легче станет. Ну и в той пластилиновой местности, куда я всё закинуть собираюсь, может поменьше радиоканал забит будет, чем в городе.

> Вообще я бы порекомендовал, доработать ваш ipfw: включить фильтрацию, приоритизацию т.д.
> Очень помогает в "узких" местах.

Ну там особо нечего разруливать. Это любительский проект некой автономной фигни, будет передаваться телеметрия и команды управления в основном, ну и живую картинку с камеры хотелось забирать, по возможности. Другого конкурирующего трафика не предполагается.


"Как настроить проброс порта ipfw NAT+OpenVPN?"
Отправлено Miha , 30-Апр-13 22:02 
>[оверквотинг удален]
>> вас до Луны, если линка - витая пара :-))
> А что делать. Никаких иных бюджетных способов для дальней связи нет. Но
> я несколько расстороен реальным положением вещей, надо сказать. Мобильный интернет меня
> до сих пор интересовал только в объёме яндекс-пробок, и мне вполне
> хватало. Вот решил повертеть поближе 3G. Линк колбасит по скорости и
> задержкам просто на глазах, от плавного просмотра видео с мегапиксельной IP-камеры
> до "убей себя об клавиатуру" в консоли :( Закажу внешнюю направленную
> антенну, может легче станет. Ну и в той пластилиновой местности, куда
> я всё закинуть собираюсь, может поменьше радиоканал забит будет, чем в
> городе.

  В нашем Зажопье такая же проблема, как вариант - CDMA, до мегабита с вменяемыми задержками.

>> Вообще я бы порекомендовал, доработать ваш ipfw: включить фильтрацию, приоритизацию т.д.
>> Очень помогает в "узких" местах.
> Ну там особо нечего разруливать. Это любительский проект некой автономной фигни, будет
> передаваться телеметрия и команды управления в основном, ну и живую картинку
> с камеры хотелось забирать, по возможности. Другого конкурирующего трафика не предполагается.

  Я о "окрытом" вайерволе. Безопасности мало не бывает :-)



"Как настроить проброс порта ipfw NAT+OpenVPN?"
Отправлено PavelR , 27-Апр-13 22:57 
читайте "FreeBSD и два провайдера"