The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"mpd5 + Обратный NAT"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Маршрутизация, NAT)
Изначальное сообщение [ Отслеживать ]

"mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 13:50 
Есть задача : организовать доступ внешним пользователям через Internet к внутренней сети.
На первый взгляд всё казалось тривиально и легко... (FreeBSD 7.3) установил mpd5, поднял NAT и всё сразу заработало. NAT в этом случае работает на внутреннем интерфейсе сервера, сервер не является шлюзом по умолчанию для рабочих станций и серверов внутренней сети.
Пользователи нормально подключаются по pptp, пингуется внутренняя сеть. Но вот проблемы начались у рабочих станций внутренней сети - возникли "тормоза" при обращении к сервисам этого сервера.

Конечно правило ipfw add 50 divert natd ip4 from any to any via igb1 для данного случая выглядит не корректно. Последующие мои попытки через добавления "косметических" правил успеха не принести: либо страдали внутренние клиенты либо у внешних пинг не проходил далее 10.116.4.111 У гугля не нашел внятного рецепта и теперь подзапутался... Подскажите как можно решить эту проблему?

/etc/rc.conf (Фрагмент)


gateway_enable="YES"
ifconfig_igb1="inet 10.116.4.111  netmask 255.255.255.0"

firewall_enable="YES"
firewall_type="OPEN"

natd_enable="YES"
natd_interface="igb1"

/etc/rc.firewall (Фрагмент)


[Oo][Pp][Ee][Nn]|[Cc][Ll][Ii][Ee][Nn][Tt])
    case ${natd_enable} in
    [Yy][Ee][Ss])
        if [ -n "${natd_interface}" ]; then

            ${fwcmd} add 50 divert natd ip4 from any to any via ${natd_interface}
        fi
        ;;
    esac


/usr/local/etc/mpd5/mpd.conf


default:
    load pptp_server

pptp_server:

    set ippool add pool1 192.168.1.50 192.168.1.99

    create bundle template B
    set iface anable nat
    set nat address 10.116.4.111
    set nat target 10.116.4.111
    set iface enable proxy-arp
    set iface idle 1800
    set iface enable tcpmssfix
    set ipcp yes vjcomp
    set ipcp ranges 192.168.1.1/32 ippool pool1
    set ipcp dns XXX.XXX.XXX.XXX
    set ipcp nbns XXX.XXX.XXX.XXX
    set bundle enable compression
    set ccp yes mppc
    set mppc yes e40
    set mppc yes e128
    set mppc yes stateless

    create link template L pptp
    set link action bundle B
    set link enable multilink
    set link yes acfcomp protocomp
    set link no pap chap eap
    set link enable chap

    set auth authname "VpnLogin"
    set auth password "VpnPassword"
    set link keep-alive 10 60

    set link mtu 1460
        set pptp self XXX.XXX.XXX.XXX
        set link enable incoming
    open


Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "mpd5 + Обратный NAT"  +/
Сообщение от rr on 20-Май-10, 14:04 
ничего не поняла.
какой внутренний интерфейс, если судя по конфигурации он единственный.
как из интернета можно подключться к внутреннему интерфейсу, даже если есть внешний.
если это не шлюз как у тебя рабочие хосты внутри сети узнают куда направлять ответы для удаленных клиентов.
что за схема такая.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 14:35 
>ничего не поняла.
>какой внутренний интерфейс, если судя по конфигурации он единственный.
>как из интернета можно подключться к внутреннему интерфейсу, даже если есть внешний.
>
>если это не шлюз как у тебя рабочие хосты внутри сети узнают
>куда направлять ответы для удаленных клиентов.
>что за схема такая.

Не показан внешний интерфейс...
Ну если надо:


ifconfig_igb0="inet XXX.XXX.XXX.XXX  netmask YYY.YYY.YYY.YYY"

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "mpd5 + Обратный NAT"  +/
Сообщение от Square (ok) on 20-Май-10, 14:10 
>Есть задача : организовать доступ внешним пользователям через Internet к внутренней сети.
>
>На первый взгляд всё казалось тривиально и легко... (FreeBSD 7.3) установил mpd5,
>поднял NAT и всё сразу заработало. NAT в этом случае работает
>на внутреннем интерфейсе сервера, сервер не является шлюзом по умолчанию для
>рабочих станций и серверов внутренней сети.
>Пользователи нормально подключаются по pptp, пингуется внутренняя сеть. Но вот проблемы начались
>у рабочих станций внутренней сети - возникли "тормоза" при обращении к
>сервисам этого сервера.

а обратный нат то за каким хреном тут сдался? роутите вашу pptp сетку во внутреннюю и все...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 14:39 
>[оверквотинг удален]
>>На первый взгляд всё казалось тривиально и легко... (FreeBSD 7.3) установил mpd5,
>>поднял NAT и всё сразу заработало. NAT в этом случае работает
>>на внутреннем интерфейсе сервера, сервер не является шлюзом по умолчанию для
>>рабочих станций и серверов внутренней сети.
>>Пользователи нормально подключаются по pptp, пингуется внутренняя сеть. Но вот проблемы начались
>>у рабочих станций внутренней сети - возникли "тормоза" при обращении к
>>сервисам этого сервера.
>
>а обратный нат то за каким хреном тут сдался? роутите вашу pptp
>сетку во внутреннюю и все...

Ну направлять пакеты во внутреннюю сетку можно, а какого хрена обратно будут пакеты идти?! Шлюз то по умолчанию у внутренних хостов совсем другой. Вот именно нужен NAT, причём через интерфейс внутренней сети. Или есть какой другой хитрый способ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "mpd5 + Обратный NAT"  +/
Сообщение от Square (ok) on 20-Май-10, 15:17 
>[оверквотинг удален]
>>>рабочих станций и серверов внутренней сети.
>>>Пользователи нормально подключаются по pptp, пингуется внутренняя сеть. Но вот проблемы начались
>>>у рабочих станций внутренней сети - возникли "тормоза" при обращении к
>>>сервисам этого сервера.
>>
>>а обратный нат то за каким хреном тут сдался? роутите вашу pptp
>>сетку во внутреннюю и все...
>
>Ну направлять пакеты во внутреннюю сетку можно, а какого хрена обратно будут
>пакеты идти?! Шлюз то по умолчанию у внутренних хостов совсем другой.

Вы шутку шутите чтоли? Шлюз по умолчанию у внутренних клиентов - ваш роутер, который знает как отроутить пакетик в pptp сеть.

Попробуйте думать о вашей pptp сети -как будто это просто еще одна внутренняя сеть (на самом деле это так и есть) и у вас все получится без обратного ната.

>Вот именно нужен NAT, причём через интерфейс внутренней сети. Или есть
>какой другой хитрый способ?

Да. Прочитать книжку про то как работают сети tcp/ip. Олиферов например.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 15:32 

>Вы шутку шутите чтоли? Шлюз по умолчанию у внутренних клиентов - ваш
>роутер, который знает как отроутить пакетик в pptp сеть.

С чего ради шлюз по умолчанию это pptp сервер?!
Нет, это не так! Поверьте, есть сети, где серверов много и каждый не может быть шлюзом по умолчанию.

>
>Попробуйте думать о вашей pptp сети -как будто это просто еще одна
>внутренняя сеть (на самом деле это так и есть) и у
>вас все получится без обратного ната.

Пробую, пока не получается. Конечно, если ip клиентов были бы из одной сети - нет проблем: маршрут на их сеть завести на шлюзе по умолчанию и всё. Но ведь ip клиентов могут быть очень разными, а маршрут на сеть, которую pptp раздаёт на время соединения ничего не даст.

>
>Да. Прочитать книжку про то как работают сети tcp/ip. Олиферов например.

Спросить пока самое эффективное. А книжки читать... (вот вы видимо читали, а понять ситуацию не хотите) - пустое.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "mpd5 + Обратный NAT"  +/
Сообщение от Square (ok) on 20-Май-10, 15:45 
>
>>Вы шутку шутите чтоли? Шлюз по умолчанию у внутренних клиентов - ваш
>>роутер, который знает как отроутить пакетик в pptp сеть.
>
>С чего ради шлюз по умолчанию это pptp сервер?!
>Нет, это не так! Поверьте, есть сети, где серверов много и каждый
>не может быть шлюзом по умолчанию.

Вы не понимаете. Разве я сказал что это один и тот же сервер? У вас есть роутер, который является шлюзом по умолчанию для ваший внутренней сети. И уже дело роутера- иметь таблицу маршрутизации которая отошлет пакетик на pptp сервер который в свою очередь отроутит его на виртуальный свой интерфейс.

Являются ли эти сервера одним сервером физическим, или виртуальным, или это разные сервера - не имеет никакого значения.

Путь прохождения пакета при этом увеличится на один хоп.

>[оверквотинг удален]
>>
>>Попробуйте думать о вашей pptp сети -как будто это просто еще одна
>>внутренняя сеть (на самом деле это так и есть) и у
>>вас все получится без обратного ната.
>
>Пробую, пока не получается. Конечно, если ip клиентов были бы из одной
>сети - нет проблем: маршрут на их сеть завести на шлюзе
>по умолчанию и всё. Но ведь ip клиентов могут быть очень
>разными, а маршрут на сеть, которую pptp раздаёт на время соединения
>ничего не даст.

Маршрут на роутере (для pptp сетки), должен указывать на pptp сервер, который уже в свою очередь отроутит пакетик на свой виртуальный pptp интерфейс.
Маршрут на pptp сервере для серой сети- должен указывать НА РОУТЕР.

И таки прочитать книжку про то как работают сети tcp/ip. Олиферов например.

PS. вы вероятно связали ваш роутер и pptp-сервер через ту же самую внутреннюю сеть... мдааа.... так вот если это разные физические сервера - то свяжите их через фейковую сеть /32 назначив ее:
на роутере - как алиас на той же внутренней сетевой карте
на pptp-сервере - обычным путем на физическом интерефейсе (если этот сервер больше не предоставляте никаких сервисов во внутренней сети), или тоже через алиас если предоставляет.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 16:15 

>[оверквотинг удален]
>сервер? У вас есть роутер, который является шлюзом по умолчанию для
>ваший внутренней сети. И уже дело роутера- иметь таблицу маршрутизации которая
>отошлет пакетик на pptp сервер который в свою очередь отроутит его
>на виртуальный свой интерфейс.
>
>Являются ли эти сервера одним сервером физическим, или виртуальным, или это разные
>сервера - не имеет никакого значения.
>
>Путь прохождения пакета при этом увеличится на один хоп.
>

Думаете достаточно серую (раздаваемую pptp сервером) сеть в маршруте указать? Не уверен, хотя как вариант... Но хотелось бы в данном случае не использовать маршруты шлюза по умолчанию. Хотелось бы через NAT всех внешних пользователей завернуть.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "mpd5 + Обратный NAT"  +/
Сообщение от Square (ok) on 20-Май-10, 16:17 
>[оверквотинг удален]
>>Являются ли эти сервера одним сервером физическим, или виртуальным, или это разные
>>сервера - не имеет никакого значения.
>>
>>Путь прохождения пакета при этом увеличится на один хоп.
>>
>
>Думаете достаточно серую (раздаваемую pptp сервером) сеть в маршруте указать? Не уверен,
>хотя как вариант... Но хотелось бы в данном случае не использовать
>маршруты шлюза по умолчанию. Хотелось бы через NAT всех внешних пользователей
>завернуть.

Поместить в файрвол правила ДО диверта разрешающее доступ к сервисам сервера из внутренней сети.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 16:48 

>Поместить в файрвол правила ДО диверта разрешающее доступ к сервисам сервера из
>внутренней сети.

Пробовал! Не понравилось как это всё работает - непонятные начались задержки во внутренней сети.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "mpd5 + Обратный NAT"  +/
Сообщение от Square (ok) on 20-Май-10, 16:56 
>
>>Поместить в файрвол правила ДО диверта разрешающее доступ к сервисам сервера из
>>внутренней сети.
>
>Пробовал! Не понравилось как это всё работает - непонятные начались задержки во
>внутренней сети.

правило выглядело так?
20 allow tcp from локалка to me 80 keep-state
21 allow ip from me to локалка

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 16:59 

>правило выглядело так?
>20 allow tcp from локалка to me 80 keep-state
>21 allow ip from me to локалка

Да, и так было и вот так:

50 allow ip from any to any 80,443,25

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "mpd5 + Обратный NAT"  +/
Сообщение от Square (ok) on 20-Май-10, 17:05 
>
>>правило выглядело так?
>>20 allow tcp from локалка to me 80 keep-state
>>21 allow ip from me to локалка
>
>Да, и так было и вот так:
>
>50 allow ip from any to any 80,443,25

подозрительное правило :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 17:10 
>>
>>>правило выглядело так?
>>>20 allow tcp from локалка to me 80 keep-state
>>>21 allow ip from me to локалка
>>
>>Да, и так было и вот так:
>>
>>50 allow ip from any to any 80,443,25
>
>подозрительное правило :)

Вполне возможно, что из-за правил возникли проблемы.
Какой синтаксис в этом случае был бы правильным?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "mpd5 + Обратный NAT"  +/
Сообщение от rr on 20-Май-10, 17:18 
>
>>правило выглядело так?
>>20 allow tcp from локалка to me 80 keep-state
>>21 allow ip from me to локалка
>
>Да, и так было и вот так:
>
>50 allow ip from any to any 80,443,25

такоего не могло быть

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 17:19 
>>
>>>правило выглядело так?
>>>20 allow tcp from локалка to me 80 keep-state
>>>21 allow ip from me to локалка
>>
>>Да, и так было и вот так:
>>
>>50 allow ip from any to any 80,443,25
>
>такоего не могло быть

Ок, как правильно?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "mpd5 + Обратный NAT"  +/
Сообщение от rr on 20-Май-10, 17:22 
allow tcp from any to any 80,443,25
allow tcp from any 80,443,25 to any
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 20-Май-10, 17:25 
>allow tcp from any to any 80,443,25
>allow tcp from any 80,443,25 to any

Можно так?

allow tcp from локалка to me 80,443,25
allow tcp from me 80,443,25 to локалка

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "mpd5 + Обратный NAT"  +/
Сообщение от Dmitry (??) on 31-Май-10, 12:12 
>>allow tcp from any to any 80,443,25
>>allow tcp from any 80,443,25 to any
>
>Можно так?
>
>allow tcp from локалка to me 80,443,25
>allow tcp from me 80,443,25 to локалка

Хм. Вроде как в mpd-5.5 появился обратный nat.
В CVS версии, кстати, еще и исправлены некоторые ошибки в нем.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "mpd5 + Обратный NAT"  +/
Сообщение от vak_2252231 email(ok) on 31-Май-10, 15:38 

>Хм. Вроде как в mpd-5.5 появился обратный nat.
>В CVS версии, кстати, еще и исправлены некоторые ошибки в нем.

Не получилось его использовать. Может не разобрался, может просто не работает - пришлось сделать по старинке : на ipfw+natd

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру