Вроде вопрос дурной, но пытаясь реализовать одну задачку, не могу найти правильное её решение.
Нужно за Натить 2-а диапазона IP один серверный 2-й так сказать ВИП список. И другой кусок сети пробросить вебу на Squid.
Все это делается на PF.
Код: Выделить всё
FreeBSD corp.domain.com 8.1-RELEASE-p1 FreeBSD 8.1-RELEASE-p1 #0: Mon Oct 11 19:37:57 EEST 2010 root@corp.domain.com:/usr/obj/usr/src/sys/corp-r3 amd64
Код: Выделить всё
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
Диапазон ИП Випов: 192.168.0.20 - 192.168.0.35, 192.168.0.240 - 192.168.0.254
Диапазон форварда на Сквид: 192.168.0.51 - 192.168.0.210
Пытаюсь задать в pf таким образом:
Код: Выделить всё
squid_ip = "{ 192.168.0.51/25, 192.168.0.178/27 }"
serv_ip = "{ 192.168.0.1/28 }"
vip_ip = "{ 192.168.0.20/28, 192.168.0.240/28 }"
Код: Выделить всё
pfctl -vnf /etc/pf.wall
squid_ip = "{ 192.168.0.51/25, 192.168.0.178/27 }"
serv_ip = "{ 192.168.0.1/28 }"
vip_ip = "{ 192.168.0.20/28, 192.168.0.240/28 }"
...
scrub in all fragment reassemble
nat on fxp1 inet from 192.168.0.0/24 to any -> (fxp1) round-robin
nat on fxp1 inet from 192.168.0.16/28 to any -> 111.111.111.111
nat on fxp1 inet from 192.168.0.240/28 to any -> 111.111.111.111
nat on fxp1 inet from 192.168.0.0/28 to any -> 111.111.111.111
......
rdr pass on fxp0 inet proto tcp from 192.168.0.0/25 to any port = ftp -> 127.0.0.1 port 3128
rdr pass on fxp0 inet proto tcp from 192.168.0.0/25 to any port = http -> 127.0.0.1 port 3128
rdr pass on fxp0 inet proto tcp from 192.168.0.0/25 to any port = 8080 -> 127.0.0.1 port 3128
rdr pass on fxp0 inet proto tcp from 192.168.0.160/27 to any port = ftp -> 127.0.0.1 port 3128
rdr pass on fxp0 inet proto tcp from 192.168.0.160/27 to any port = http -> 127.0.0.1 port 3128
rdr pass on fxp0 inet proto tcp from 192.168.0.160/27 to any port = 8080 -> 127.0.0.1 port 3128

Заранее Спасибо за помощь!