Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
squid.doc
Скачиваний:
9
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

17.6 Прозрачное кеширование на linux 2.0.29 и cisco ios 11.1

Это письмо, отправленное пользователям списка рассылки squid-users, с описанием того, как заставить работать прозрачный с маршрутизатором Cisco и Squid-ом запущенным на Linux.

от Brian Feeny

Здесь представлена информация о том, как я настроил прозрачное проксирование, используя мой маршрутизатор Cisco 2501, работающий под IOS 11.1, и Squid, запущенный на машине с Linux 2.0.33.

Большое спасибо ниже перечисленным людям и пользователям списка рассылки squid-users за помощь в настройке пренаправления и прозрачного проксирования, работающей на моей связке Cisco/Linux.

  • Lincoln Dale

  • Riccardo Vratogna

  • Mark White

  • Henrik Nordstrom

Прежде всего, вот что я добавил на моей Cisco, запущенной под IOS 11.1. В IOS 11.1 команда route-map использует "process switched" а не более быструю "fast-switched" route-map, которая применяется в IOS 11.2 и более поздних. Вы возможно пожелаете использовать IOS 11.2. У меня работает 11.1 и я не имел проблем при моей текущей нагрузке более чем 150 соединений к Squid.:

!

interface Ethernet0

description To Office Ethernet

ip address 208.206.76.1 255.255.255.0

no ip directed-broadcast

no ip mroute-cache

ip policy route-map proxy-redir

!

access-list 110 deny tcp host 208.206.76.44 any eq www

access-list 110 permit tcp any any eq www

route-map proxy-redir permit 10

match ip address 110

set ip next-hop 208.206.76.44

В представленном выше вы можете заметить, что я добавил описание "route-map" и access-list и потом привязал route-map через int e0 "ip policy route-map proxy-redir"

отлично, теперь Cisco позаботится об этом. Хост, указанный выше, 208.206.76.44 - это ip-адрес моей машини со squid.

Машина со squid работает под Linux, поэтому на ней я сделал следующее:

конфиг моего ядра (2.0.33) выглядит так:

#

# Networking options

#

CONFIG_FIREWALL=y

# CONFIG_NET_ALIAS is not set

CONFIG_INET=y

CONFIG_IP_FORWARD=y

CONFIG_IP_MULTICAST=y

CONFIG_SYN_COOKIES=y

# CONFIG_RST_COOKIES is not set

CONFIG_IP_FIREWALL=y

# CONFIG_IP_FIREWALL_VERBOSE is not set

CONFIG_IP_MASQUERADE=y

# CONFIG_IP_MASQUERADE_IPAUTOFW is not set

CONFIG_IP_MASQUERADE_ICMP=y

CONFIG_IP_TRANSPARENT_PROXY=y

CONFIG_IP_ALWAYS_DEFRAG=y

# CONFIG_IP_ACCT is not set

CONFIG_IP_ROUTER=y

Вам необходимо будет включить как минимум Firewalling и Transparent Proxy.

Теперь кое-что о настройках ipfwadm:

# Accept all on loopback

ipfwadm -I -a accept -W lo

# Accept my own IP, to prevent loops (repeat for each interface/alias)

ipfwadm -I -a accept -P tcp -D 208.206.76.44 80

# Send all traffic destined to port 80 to Squid on port 3128

ipfwadm -I -a accept -P tcp -D 0/0 80 -r 3128

это позволит принимать пакеты на порту 80 (перенаправленные Cisco) и заворачивать их на порт 3128, на котором работает мой процесс Squid. Все это я поместил в /etc/rc.d/rc.local

Я использую Squid версии v1.1.20 с установленным Henrik's patch. Вы возможно захотите установить этот же патч, если используете установки похожие на мои.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]