|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 15 Feb 2008 12:12:05 To : Vladimir Yesakov Subject : Re: pf: quick или не quick ? --------------------------------------------------------------------------------
14 фев 2008, четверг, в 21:58 KRAT, Vladimir Yesakov написал(а):
EG>> Рассматриваем практическую задачу? Обычно такое требовение
EG>> накладывается там, где из конкретного канала запрос приходит на
EG>> конкретный IP-адрес, а исходящие пакеты с этого адреса обязаны уйти
EG>> этим же каналом. Для такой задачи stateful не нужен и средствами ipfw
EG>> всё разруливается замечательно, что подтверждено практикой работы на
EG>> четырех таких каналах одновременно.
VY> Можно, пожалуйста, пример конфига ? Можно мылом...
В этом месте всё непатченное, конфигурация работала и на 4.11-STABLE,
и после бинарного апгрейда до шестерки работает в неизменном виде.
В /etc/rc.conf:
ch1_if="fxp1"
ch2_if="vlan1"
ch3_if="vlan2"
ch4_if="gif8"
ch1_ip="x.x.x.x"
ch2_ip="y.y.y.y"
ch3_ip="z.z.z.z"
ch4_ip="t.t.t.t"
ch1_gw="x.x.x.X"
ch2_gw="y.y.y.Y"
ch3_gw="z.z.z.Z"
ch4_gw="t.t.t.T"
extiflist="$ch1_if $ch2_if $ch2_if $ch2_if"
В /etc/rc.firewall.local (вызывается из /etc/rc.firewall):
pbr_out() {
ip="$1"
ifs="$2"
gw="$3"
for iface in $extiflist
do
[ $iface = $ifs ] || \
${fwcmd} add 4050 fwd $gw ip from $ip to any out xmit $iface
done
}
pbr_out $ch1_ip $ch1_if $ch1_gw
pbr_out $ch2_ip $ch2_if $ch2_gw
pbr_out $ch3_ip $ch3_if $ch3_gw
pbr_out $ch4_ip $ch4_if $ch4_gw
Как видно, это масштабируется на произвольное количество каналов.
Hа самом деле переменные chX у меня имеют более описательные имена,
поэтому четыре вызова pbr_out не свёрнуты в цикл :-)
Eugene
--
Собак ножами режете, а это бандитизьм.
--- slrn/0.9.8.1 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/260938c973b69.html, оценка из 5, голосов 10
|