Вот именно этим я и занимался на новой работе. Доделал, да.
Итак, вводная. Имеется маршрутизатор Cisco и proxy-сервер. Задача: настроить прозрачное проксирование, используя протокол wccp.
Для начала эта задача была решена на базе Gentoo. В сети множество описаний, как этого добиться. Причем практически везде в качестве прокси используется Squid. К сожалению, Squid не поддерживает WCCP v2. По этой и по ряду других причин, был выбран украинский прокси . В Linux всё было довольно просто. Собираем модули ядра gre и wccp, настраиваем файрволл и всё. А вот с FreeBSD всё оказалось не так тривиально. Но об этом - дальше.
Сначала для экспериментов был выбран сервер с установленной FreeBSD 4.11. Для начала требовалось пробросить туннель, используя GRE, поддерживающий WCCP v2. Не буду вдаваться в подробности, но для версии большей чем 4.7 и меньшей чем 5.3 это невозможно (впрочем есть патч на 4.9...). Попытка применить метод, описанный в статье WCCPv2 for squid on FreeBSD howto успеха не принесла. Тогда было решено опробовать 5-ю ветку, в которой, по отзывам, проблемы с GRE были решены. Использование 5.3 успеха не принесло из-за бага с IPFIREWALL_FORWARD. FreeBSD была проапгрейжена до версии 5.4 (cvs tag=RELENG_5), в результате туннель заработал. Попытка завернуть пакеты на прокси успеха не принесли, хотя tcpdump показывал, что пакеты ходят, а лог файрволла убеждал, что они вполне успешно заворачиваются на требуемый порт. После небольшого размышления, порты были также обновлены, а Oops заменен на актуальную версию. Всё заработало.
Резюме:
1. Настраиваем Cisco тут я по чайничеству своему сошлюсь на соответствующую официальную документацию... Web Cache Communication Protocol v2
2. Пересобираем ядро со следующими изменениями
Запускаем Oops и пробуем достучаться до него.
Если ничего не происходит - проверьте ходят ли пакеты через GRE
tcpdump -i gre0
Затем включите лог у IPFW fwd и посмотрите - заворачивает ли он пакеты. Если да - попробуйте обновить версию Oops'а.
Если получаем ответ "Bad formed URL" - проблемы с транспарентом.
Удачи.