Может я чего-то не понимаю, но... Ситуация следующая... Стоит двойной вай-фай канал. Схема сети такая:
Код: Выделить всё
Internet -- сервер1 === сервер2 ----- сервер 3 === пользователи
| |
сервер4---
сервер2 - принимает это всё хозяйство с помощью pf
сервер3 - открывает доступ пользователям и т.п.
сервер4 - хостинг
Между сервер1 и сервер2 2 канала wi-fi.
Конфиг pf с сервера2:
Код: Выделить всё
int_if="re2"
dmz_if="msk0"
ext_if1="re1"
ext_if2="re0"
ext_gw1="10.0.2.1"
ext_gw2="10.0.2.9"
usernets="{ 10.1.0.0/22 10.1.4.0/22 }"
srvnet="10.0.0.0/23"
apnets="10.1.6.0/24"
set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 2000000, frags 1000000, src-nodes 2000000 }
set loginterface none
set optimization normal
set block-policy drop
set require-order yes
set fingerprints "/etc/pf.os"
set skip on lo0
scrub in all
rdr on $int_if proto tcp from $usernets to any port www -> lo0 port 3128
pass in on $int_if keep state (max-src-states 100)
pass in on $int_if route-to ($ext_if1 $ext_gw1) from $srvnet to any
pass in on $int_if route-to ($ext_if1 $ext_gw1) from $apnets to any
pass out on $int_if no state
pass in on $dmz_if route-to ($ext_if1 $ext_gw1)
pass out on $dmz_if
pass in on $ext_if1 reply-to ($ext_if1 $ext_gw1)
pass out on $ext_if1
pass in on $ext_if2 reply-to ($ext_if2 $ext_gw2)
pass out on $ext_if2
Я понимаю, что где-то "принципиальная" ошибка в том, что я недопонял логику перенаправления траффика. Но где?