>Скажите, пожалуйста, как проще всего сделать доступ к 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 на нестандартном порту из поста не понятно.