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

Исходное сообщение
"два канала, но не балансировка нагрузки :)"

Отправлено Moralez , 28-Фев-07 08:45 
Скажите, пожалуйста, как проще всего сделать доступ к FreeBSD (6.2) + pf имеющему 2 канала в инет? Балансировка нагрузки и высокодоступность для внутренней подсети не нужна. Надо просто логиниться на разные IP-ы (у разных провайдеров, конечно). Один из них pppoe, второй ethernet.

Можно навешать anchor-ов на тему падения pppoe-линка и рулить шлюзом по умолчанию (нежелательно).
Можно повешать sshd на нестандартный порт и настроить редиректы, но тоже как-то костыльно...

Можно ли силами pf-а всё сделать? Причем без учета состояния линков? %-(


Содержание

Сообщения в этом обсуждении
"два канала, но не балансировка нагрузки :)"
Отправлено blazed , 28-Фев-07 10:03 
>Скажите, пожалуйста, как проще всего сделать доступ к FreeBSD (6.2) + pf
>имеющему 2 канала в инет? Балансировка нагрузки и высокодоступность для внутренней
>подсети не нужна. Надо просто логиниться на разные IP-ы (у разных
>провайдеров, конечно). Один из них pppoe, второй ethernet.
>
>Можно навешать anchor-ов на тему падения pppoe-линка и рулить шлюзом по умолчанию
>(нежелательно).
>Можно повешать sshd на нестандартный порт и настроить редиректы, но тоже как-то
>костыльно...
>
>Можно ли силами pf-а всё сделать? Причем без учета состояния линков? %-(
>


local_if="myk0"
localnet="192.168.0.0/24"
ether_if="myk1"
ether_ip="1.1.1.1"
ether_gw="1.1.1.2"
zadsl_if="xl0"
zadsl_ip="2.2.2.1"
zadsl_gw="2.2.2.2"
ext_if="{" $ether_if $zadsl_if "}"

scrub in all

block in all
block out all

pass quick on lo0

# internal net
pass in  on $local_if inet proto tcp from $localnet to $local_if port 80 flags S/SA keep state
pass out on $local_if from any to any keep state

# external net
pass in on $zadsl_if reply-to ($zadsl_if $zadsl_gw) inet proto tcp to port 80 flags S/SA keep state
pass in on $ether_if reply-to ($ether_if $ether_gw) inet proto tcp to port 80 flags S/SA keep state
pass out on $ext_if from any to any keep state

Примерно такой pf.conf (личное поскипано) реализует ответ на пакет через интерфейс с которого пакет пришел.
Падение линка и смену деф.шлюза отслеживаю скриптом по крону, правильнее, конечно, через BGP, но AS для небольшой компании нецелесообразно регистрировать.
Зачем редиректы для sshd на нестандартном порту из поста не понятно.