The OpenNET Project / Index page

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

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

"Проблемы с настройкой PF на роутере с тремя шлюзами"  +/
Сообщение от tea_pot on 13-Сен-13, 11:28 
Добрый день.

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

ue0 10.0.0.10 -> 10.0.0.1 #Yota
em0 11.11.11.2 -> 11.11.11.1 #две внешние подсетки
tun0 22.22.22.2 -> 22.22.22.1 #PPoE со статическим айпишником

На роутере FreeBSD 9.0 запущены OpenVPN и SSHD
default route 11.11.11.1
Хочется OpenVPN запустить через tun0.

Все работает если я запускаю сервисы через em0 (11.11.11.2), все уходит через default gateway, все счастливы.
Если пытаюсь запустить через tun0 - связи нет.

Правильно-ли я понимаю, что если на роутере несколько шлюзов, то все свои исходящие пакеты он изначально кладет в default route, не смотря на то что, например, в конфигурации openvpn указано local 22.22.22.2
В общем я соорудил что-то вроде:

#Порт 80, чтобы косить под WEB если провайдер запрещает порты.
pass in quick on tun0 proto tcp from any to 22.22.22.2 port 80 tag OPENVPN

#Пробовал без quick и даже указывал {em0 ue0} от безысходности : )
pass out quick on em0 route-to (tun0 22.22.22.1) tagged OPENVPN

Достаточно-ли этих строк или я что-то упускаю?

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Проблемы с настройкой PF на роутере с тремя шлюзами"  +/
Сообщение от reader (ok) on 13-Сен-13, 17:52 
>[оверквотинг удален]
> Если пытаюсь запустить через tun0 - связи нет.
> Правильно-ли я понимаю, что если на роутере несколько шлюзов, то все свои
> исходящие пакеты он изначально кладет в default route, не смотря на
> то что, например, в конфигурации openvpn указано local 22.22.22.2
> В общем я соорудил что-то вроде:
> #Порт 80, чтобы косить под WEB если провайдер запрещает порты.
> pass in quick on tun0 proto tcp from any to 22.22.22.2 port
> 80 tag OPENVPN
> #Пробовал без quick и даже указывал {em0 ue0} от безысходности : )
> pass out quick on em0 route-to (tun0 22.22.22.1) tagged OPENVPN

укажите с 80 порта, а тег уберите.
pass out quick on tun0 ... наверно тоже нужно, хотя там keep state и возможно не нужно

> Достаточно-ли этих строк или я что-то упускаю?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проблемы с настройкой PF на роутере с тремя шлюзами"  +/
Сообщение от tea_pot on 13-Сен-13, 19:02 
>[оверквотинг удален]
>> то что, например, в конфигурации openvpn указано local 22.22.22.2
>> В общем я соорудил что-то вроде:
>> #Порт 80, чтобы косить под WEB если провайдер запрещает порты.
>> pass in quick on tun0 proto tcp from any to 22.22.22.2 port
>> 80 tag OPENVPN
>> #Пробовал без quick и даже указывал {em0 ue0} от безысходности : )
>> pass out quick on em0 route-to (tun0 22.22.22.1) tagged OPENVPN
> укажите с 80 порта, а тег уберите.
> pass out quick on tun0 ... наверно тоже нужно, хотя там keep
> state и возможно не нужно

Прошу чуть поподробнее про порт 80 не понятно куда его прописывать.
Боюсь keep state бесполезен если пакет отправляется с интерфейса default route. Вторая строчка, по идее, должна предотвращать такую ситуацию.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проблемы с настройкой PF на роутере с тремя шлюзами"  +/
Сообщение от reader (ok) on 13-Сен-13, 20:16 
>[оверквотинг удален]
>>> В общем я соорудил что-то вроде:
>>> #Порт 80, чтобы косить под WEB если провайдер запрещает порты.
>>> pass in quick on tun0 proto tcp from any to 22.22.22.2 port
>>> 80 tag OPENVPN
>>> #Пробовал без quick и даже указывал {em0 ue0} от безысходности : )
>>> pass out quick on em0 route-to (tun0 22.22.22.1) tagged OPENVPN
>> укажите с 80 порта, а тег уберите.
>> pass out quick on tun0 ... наверно тоже нужно, хотя там keep
>> state и возможно не нужно
> Прошу чуть поподробнее про порт 80 не понятно куда его прописывать.

Вы тег ставите на входящий пакет, а проверяете на ответном с openvpn сервера, откуда ему там появится?
pass out route-to (tun0 22.22.22.1) inet from 22.22.22.2
> Боюсь keep state бесполезен если пакет отправляется с интерфейса default route. Вторая
> строчка, по идее, должна предотвращать такую ситуацию.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Проблемы с настройкой PF на роутере с тремя шлюзами"  +/
Сообщение от tea_pot on 13-Сен-13, 22:30 
>[оверквотинг удален]
>>>> pass out quick on em0 route-to (tun0 22.22.22.1) tagged OPENVPN
>>> укажите с 80 порта, а тег уберите.
>>> pass out quick on tun0 ... наверно тоже нужно, хотя там keep
>>> state и возможно не нужно
>> Прошу чуть поподробнее про порт 80 не понятно куда его прописывать.
> Вы тег ставите на входящий пакет, а проверяете на ответном с openvpn
> сервера, откуда ему там появится?
> pass out route-to (tun0 22.22.22.1) inet from 22.22.22.2
>> Боюсь keep state бесполезен если пакет отправляется с интерфейса default route. Вторая
>> строчка, по идее, должна предотвращать такую ситуацию.

Из tcpdump видно что исходящие пакеты появляются на интерфейсе em0 с src-ip 22.22.22.2
Не смог составить правило route-to с указанием порта, по этому попробовал так:
pass out on em0 route-to (tun0 22.22.22.1) from 22.22.22.2 to any

перечитал еще раз мануал по pf.conf и попробовал счастья с reply-to
pass in on tun0 reply-to (tun0 22.22.22.1) from any to tun0 keep state

но тоже не получилось. Не понятен мне механизм reply-to, по идее должен помечать пакеты и отправлять ответные без учета таблицы роутов.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

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




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

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