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

Исходное сообщение
"Как сделать PBR с помощью IPtables ?"

Отправлено conn , 23-Янв-08 06:39 
На виртуальном интерфейсе запущен сервис.

Нужно сделать этот сервис доступным извне.

В BSD это можно сделать с помощью fwd в ipfw , или rdr в pf.


Содержание

Сообщения в этом обсуждении
"Как сделать PBR с помощью IPtables ?"
Отправлено StSphinx , 23-Янв-08 09:40 
>На виртуальном интерфейсе запущен сервис.
>
>Нужно сделать этот сервис доступным извне.
>
>В BSD это можно сделать с помощью fwd в ipfw , или
>rdr в pf.

В Linux это делается при помощи iproute2 , при желании в связке с IPTables.


"Как сделать PBR с помощью IPtables ?"
Отправлено conn , 23-Янв-08 09:51 
>>На виртуальном интерфейсе запущен сервис.
>>
>>Нужно сделать этот сервис доступным извне.
>>
>>В BSD это можно сделать с помощью fwd в ipfw , или
>>rdr в pf.
>
>В Linux это делается при помощи iproute2 , при желании в связке
>с IPTables.

Можете привести пример?

iproute2 завязан на таблицу маршрутизации, изменился IP или номер интерфеса, настройки слетели...


"Как сделать PBR с помощью IPtables ?"
Отправлено reader , 23-Янв-08 10:40 
>>>На виртуальном интерфейсе запущен сервис.
>>>
>>>Нужно сделать этот сервис доступным извне.
>>>

1
>>>В BSD это можно сделать с помощью fwd в ipfw , или
>>>rdr в pf.
>>
>>В Linux это делается при помощи iproute2 , при желании в связке
>>с IPTables.
>
>Можете привести пример?

http://www.opennet.me/docs/RUS/iptables/#DNATTARGET
>
>iproute2 завязан на таблицу маршрутизации, изменился IP или номер интерфеса, настройки слетели...
>

не понял, а pf сам подстроиться под такие изменения?


"Как сделать PBR с помощью IPtables ?"
Отправлено conn , 23-Янв-08 14:25 

>[оверквотинг удален]
>>>с IPTables.
>>
>>Можете привести пример?
>
>http://www.opennet.me/docs/RUS/iptables/#DNATTARGET
>>
>>iproute2 завязан на таблицу маршрутизации, изменился IP или номер интерфеса, настройки слетели...
>>
>
>не понял, а pf сам подстроиться под такие изменения?

Ну да, ему скажешь что рдр и через например tun и не важно сколько раз сменился адрес и какой это тюн...


"Как сделать PBR с помощью IPtables ?"
Отправлено conn , 23-Янв-08 14:27 
DNAT не хочет форвардить пакеты если это адес той же машины... например
rdr на 127.0.0.1 проходит, а вот DNAT нет :-(

"Как сделать PBR с помощью IPtables ?"
Отправлено reader , 24-Янв-08 11:56 
>DNAT не хочет форвардить пакеты если это адес той же машины... например
>
>rdr на 127.0.0.1 проходит, а вот DNAT нет :-(

насчет перенаправления на 127.0.0.1 сейчас ничего не скажу, а на адреса других интерфейсов - работает, только про echo 1 > /proc/sys/net/ipv4/ip_forward не забывайте.

про не указывание номера интерфейса , в iptables тоже можно (PPP+ , означает все PPP интерфейсы)
Другой вопрос, что в pf можно перенаправить на интерфейс, а в iptables на ip-адрес и/или порт, но это не большая проблема. Как уже указал StSphinx, при поднятии/опускании интерфейсов можно запускать скрипты и изменять правила iptables, таблицы маршрутизации или вообще выключить машину с предложением всем выспаться :) .


"Как сделать PBR с помощью IPtables ?"
Отправлено StSphinx , 23-Янв-08 13:15 
>[оверквотинг удален]
>>>В BSD это можно сделать с помощью fwd в ipfw , или
>>>rdr в pf.
>>
>>В Linux это делается при помощи iproute2 , при желании в связке
>>с IPTables.
>
>Можете привести пример?
>
>iproute2 завязан на таблицу маршрутизации, изменился IP или номер интерфеса, настройки слетели...
>

Если это ppp интерфейс, то все делается элементарно. При поднятии интерфейса pppX
, как правило исполняются скрипты(синхронизация времени, загрузка правил файрвола и прочее). Им соотв. передаются некие переменные окружения, среди которых есть и имя интерфейса и IP адреса. Ничто вам не мешает написать собственный скрипт и использовать эти переменные.