On 08.04.2014 13:43, skeletor wrote:
> Всем привет.
> Есть 2 внешних канала инета и настроен PBR на PF. Для tcp всё отлично 
> работает, а вот для UDP не совсем: DNS запросы отлично отрабатываются и 
> ответы возвращаются на тот интерфейс, откуда пришёл запрос. Для openvpn 
> (работает по UDP) - нет, ответы отправляются (смотрю через tcpdump) по 
> default route, хотя правила 1 в 1.
> Не могу понять, почему для DNS это работает, а для OpenVPN - нет. Может 
> у кого-то есть рабочий пример PBR'a - буду очень признателен.
> Уже перепробовал десяток разных конфигурация по PRB из сети, но никак не 
> выходит завернуть. Даже где-то наткнулся где-то на тот факт, что для UDP 
> это сделать нельзя.

Нужно обратить внимание на вывод tcpdump, с которого IP отвечает openvpn.
Для UDP приложению, которое слушает "любой IP" (*:port), нельзя выяснить,
на который именно IP пришел запрос, поэтому нельзя ответить с него.

bind (и ntpd и другие) обходят эту проблему, создавая по отдельному сокету
для каждого IP и принимая запросы в разные сокеты.


Ответить