прокси на freebsd
От: feomatr  
Дата: 10.10.08 12:07
Оценка:
freebsd 6.2 в качестве шлюза.

настроил пакетный фильтр pf, чтобы можно было выходить в инет:

int_if="em0"
ext_if="sk0"
int_net="192.168.143.0/24"

# может эти две строки лишние, но все работает
rdr on $int_if proto tcp from any to $int_net -> 127.0.0.1
rdr on $int_if proto udp from any to $int_net -> 127.0.0.1


nat on $ext_if from $int_net to any -> ($ext_if)
pass quick on lo0 all

....

Если прописать его в качестве шлюза на windows машине, то все работает.
Если же пропишу ,например, как прокси-сервер в браузере, то браузер не работает через этот шлюз.
Я не знаю почему.

********

Потом появилась такая необходимость, как работать в программе через браузер, по адресу http://1.2.3.4:8080/
С текущими настройками на шлюзе перейти по этому адресу не получается.
Есть еще win-шлюз(User Gate) и если в браузере в качестве прокси прописать адрес win-сервера с портом 8080, то через него можно пройти по указанному адресу и работать в нужной проге.

Ставлю squid Version 2.5.STABLE14 из портов с поддержкой прозрачного проксирования pf.
Шаманю

основнные настройки squid.conf

http_port 192.168.143.6:8080

acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 8080 # http
acl Safe_ports port 8801 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777

httpd_accel_host virtual
httpd_accel_port 0

httpd_accel_with_proxy on




В pf.conf добавил редирект:

rdr on $int_if proto tcp from any to !<corp_net> port 80 -> 192.168.143.6 port 8080

Но по адресу http://1.2.3.4:8080/ так и не обращается. Не пойму каким образом этого можно добиться и в чем принцип.
По форумам искал — не нашел. Подскажите как справиться, и в чем принцип?!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.