::прозрачный прокси
На основе постинга Squid Transarent Proxy, a small howto. Приятно, что и этот howto туда уже добавили :)
Используется squid http://www.freescosoft.com/home/0.3.x/squid-2.5.s3-lightning.
- Для двух внутренних сетей 192.168.1.0/24 на eth1 и 192.168.2.0/24 на eth2.
- Внешний интерфейс 10.3.0.28 на eth0.
- Имя роутера 'router' :)
- Squid установлен с прослушиванием порта 3128.
- Необходимо чтобы при запросе с любого адреса локалки на 80-й порт запрос перенаправлялся на порт 3128.
- Но при этом игнорировать запросы к самому серверу.
Для этого сделайте следующее:
-
Установите эти параметры в файле /usr/local/squid/etc/squid.conf как указано:
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on -
В секцию firewall файла /rc/rc_user добавьте следующее:
ipfwadm -I -a acc -P tcp -S $NET1 -D 192.168.1.1 80 -W eth1 ipfwadm -I -a acc -P tcp -S $NET1 -D 192.168.2.1 80 -W eth1 ipfwadm -I -a acc -P tcp -S $NET1 -D 10.3.0.28 80 -W eth1 ipfwadm -I -a acc -P tcp -S $NET2 -D 192.168.2.1 80 -W eth2 ipfwadm -I -a acc -P tcp -S $NET2 -D 192.168.1.1 80 -W eth2 ipfwadm -I -a acc -P tcp -S $NET2 -D 10.3.0.28 80 -W eth2 ipfwadm -I -a acc -P tcp -S $NET1 -D 0/0 80 -r 3128 -W eth1 -o ipfwadm -I -a acc -P tcp -S $NET2 -D 0/0 80 -r 3128 -W eth2 -o
Перезапустите squid и firewall:
rc_squid restart
rc_masq restart
Как альтернатива правила можно добавить в сам файл /pkg/rc/rc_squid в секцию firewall.
Это общий принцип реализации...
Мое решение немного сложнее и универсальнее.
Все параметры беру из конфигурации и поэтому менять вручную номера портов или адреса нет нужды, они берутся из конфигов системы.
И при этом включены в файл rc_squid. Взять его можна отсюда: rc_suid
Вот какой нюанс обнаружился :(... Правила блокировки которые вы можете выставить в пункте 24. 'setup' или настроить через веб-интерфейс работать не будут. Потому как получается, что пакеты то пробрасываем на локальный порт, и уже от имени роутера выходим во внешнюю сеть. Прийдется или настраивать внутренние списки доступа squid, или дописывать правила для ограничения еще и на порт используемый squid.
23554250