Я хочу создать прокси-сервер шлюза linux для своего беспроводного маршрутизатора. У меня есть модем, подключенный к не беспроводному маршрутизатору, подключенному к беспроводному маршрутизатору, настроенному как точка доступа. Я хочу разместить Linux-сервер между небеспроводным маршрутизатором и беспроводным маршрутизатором, чтобы весь трафик проходил через одну сетевую карту и выходил из другой. Я хотел бы иметь возможность отслеживать трафик. Я также хотел бы ограничить допустимую скорость беспроводной связи. Трафик должен быть в основном HTTP, поэтому не будет особого значения, если я смогу только отслеживать и перенаправлять HTTP-пакеты. Я также хочу иметь возможность изменять страницы, которые он обслуживает, например, вставляя текст на страницу. Как я могу это сделать?
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ipt_MASQUERADE
iptables -F; iptables -t nat -F; iptables -t mangle -F
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to IP_EXTERN_OF_LINUX
MASQUERADE используется для динамического IP-адреса. Если у вас статический ip, вы можете использовать SNAT (дайте мне знать)
Что касается второй части вашего вопроса, установите кеширующий прокси, такой как Squid, на ящик и настройте его как прозрачный прокси.
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
Затем вы можете фильтровать некоторые или все запросы и изменять их любым способом, используя сценарий перенаправления. Забавный, но интересный пример см. Здесь:
Я думаю, вам стоит использовать ClearOS.
ClearOS - это мощный сетевой сервер и сервер шлюза, предназначенный для небольших организаций и распределенных сред. Хотя ClearOS поставляется с обширным списком функций и интегрированных сервисов, решение легко настроить благодаря интуитивно понятному веб-интерфейсу.