Всех с наступившем.
Имеется FreeBSD7.
Железо: два сетевухи, "внутренняя" и "внешняя".
Задача: установить шлюз с прозрачным проксей, для ведения и контроля.
С начала делалось все по handbook.
Установил ОС, оптимизировал ядро.
Первое: настроил nat. Заработало как шлюз.
Далее: выбирая из портов установил
squid-3.0.r1.20071001_1 HTTP Caching Proxy (development version)
sarg-2.2.3.1_4 Squid log analyzer and HTML report generator
apache-2.2.6_2 Version 2.2 of Apache web server with prefork MPM.
(sarg и apache работают хорошо)
Теперь к чему пришли:
rc.conf (по мимо разных других настроек):
Код: Выделить всё
firewall_enable="YES"
firewall_script="/etc/rc.ipfwl"
firewall_nat_enable="YES"
firewall_nat_interface="rl0"
firewall_nat_flags=""
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw -q"
LanOut="rl0"
NetIn="192.168.0.0/16"
${FwCMD} -f flush
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80
${FwCMD} add divert 8668 ip from any to any via ${LanOut}
- 00100 1724 90238 fwd 127.0.0.1,3128 tcp from 192.168.0.0/16 to any dst-port 80
00200 3425 177839 divert 8668 ip from any to any via rl0
65535 13250 823464 allow ip from any to any
Что произошло нового при этом:
1. при моих всех конфигурациях на ping (из внутренней сети) отвечало только внутренний интерфейс. При твоем варианте ответ идет со всех интерфейсах, но не дальше.
2. единственное что я нашел при загрузки системы это сообщение от apache: "httpd: Could not reliably determine the server's fully qualified doman name, using 127.0.0.1 for servername."
И вот что на squid-е:
# sockstat | grep squid
- squid squid 632 7 udp4 *:55281 *:*
squid squid 632 14 tcp4 195.178.226.55:80 192.168.0.2:4542
squid squid 632 15 tcp4 *:3128 *:*
squid squid 632 16 tcp4 81.84.211.135:80 192.168.0.2:4530
squid squid 632 17 tcp4 81.198.232.193:80 192.168.0.2:4543
squid squid 632 18 tcp4 84.193.58.143:80 192.168.0.2:4532
squid squid 632 19 tcp4 80.0.35.244:80 192.168.0.2:4544
squid squid 632 20 tcp4 83.84.244.130:80 192.168.0.3:4156
squid squid 632 21 tcp4 91.64.244.52:80 192.168.0.3:4157
squid squid 632 22 tcp4 89.252.13.192:80 192.168.0.3:4159
squid squid 632 23 tcp4 89.232.230.216:80 192.168.0.3:4160
squid squid 630 5 dgram -> /var/run/log
при немного другом rc.ipfwl:
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw -q"
LanOut="rl0" (внеха)
NetOut="123.123.123.0/19"
IpOut="123.123.123.123"
LanIn="rl1"(LAN)
NetIn="192.168.0.0/16"
ipIn="192.168.0.1"
ip_lan="192.168.0"
${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush
${FwCMD} add allow all from any to any via lo0
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanIn}
- 00100 0 0 allow ip from any to any via lo0
00200 22 1246 fwd 127.0.0.1,3128 tcp from 192.168.0.0/16 to any dst-port 80 via rl0
00300 74 3654 divert 8668 ip from 192.168.0.0/16 to any out via rl0
00400 12 720 divert 8668 ip from any to 123.123.123.123 in via rl1
65535 578 75263 allow ip from any to any
Помогите, уже полностью запутался.