Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
# ipfw add divert 8669 ip from 192.168.0.128/25 to any
# ipfw add fwd 10.0.1.1 ip from 10.0.1.2 to any
# ipfw add fwd 10.1.1.1 ip from 10.1.1.2 to any
# ipfw add divert 8668 ip from any to 10.0.1.2
# ipfw add divert 8669 ip from any to 10.1.1.2
Назначение fwd-правил, думаю, уже пояснять не требуется. Решение той же задачи с помощью фильтра pf:
nat on rl0 from 192.168.0.0/25 to any -> 10.0.1.2
nat on rl1 from 192.168.0.128/25 to any -> 10.1.1.2
pass out route-to (rl0 10.0.1.1) from 10.0.1.2 to any
pass out route-to (rl1 10.1.1.1) from 10.1.1.2 to any
Squid, кстати, тоже умеет использовать отдельные исходящие каналы для конкретных подсетей:
acl subnet1 src 192.168.0.0/255.255.255.240
acl subnet2 stc 192.168.0.128/255.255.255.240
tcp_outgoing_address 10.0.1.2 subnet1
tcp_outgoing_address 10.1.1.2 subnet2
Ну и нужно не забыть про уже набивший оскомину форвардинг с соответствующего адреса в альтернативный шлюз. В некоторых экзотических случаях можно попробовать запустить два экземпляра прокси-сервера для обслуживания своих подсетей, но в большинстве случаев это может оказаться нерационально.
Пропорциональная балансировка
Описанные примеры сравнительно просты и зачастую позволяют «малой кровью» достичь желаемого эффекта. Но когда трафик носит слишком нерегулярный характер (с утра бухгалтерия какие-то отчёты по электронке шлёт, забывая, как обычно, предварительно сжимать свои файлы Excel; под вечер сисадмин начинает качать очередной сервис-пак; в обеденный перерыв со всех отделов подскакивает http-трафик), то возникает желание поделить всю нагрузку «пополам». Пакетные фильтры pf и ipf предоставляют в ваше распоряжение средство балансировки трафика между несколькими внешними интерфейсами: алгоритм round-robin. Рассмотрим пример для pf: