Цель: пробросить весь трафик, заходящий по определенному порту на другой порт. Как частный случай - для организации прозрачного прокси-сервера. Как еще более частный случай - для заворота HTTP трафика на Squid.
Все это нужно проделать в Linux, соответственно, через IPTABLES.
1) Если трафик нужно заворачивать на порт на службу, находящуюся на этом же сервере. Например, на Squid, который крутится на этом же маршрутизаторе.
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
2) Если трафик надо завернуть на другую машину (например, прокси-сервер крутится на отдельном сервере).
iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.0.2 -p tcp --dport 80 -j DNAT --to 192.168.0.2:3128
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -d 192.168.0.2 -j SNAT --to 192.168.0.1
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.2 -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT
где
- 192.168.0.2 - это сервер, где крутится прокси-сервер (например, Squid);
- 192.168.0.1 - это этот маршрутизатор (где крутится iptables);
- 192.168.0.0/24 - это локальная сеть предприятия
Поясним:
- 1) пробрасываем весь трафик, идущий на порт 80, исключая трафик от прокси-сервера (192.168.0.2) в порт 3128 сервера 192.168.0.2 (т.е. к прокси)
- 2) Включаем NAT трансляцию для прокси-сервера (192.168.0.2) на нашем шлюзе (192.168.0.1)
- 3) Разрешаем форврадинг пакетов, идущих на порт 3128 из локальной сети (192.168.0.0/24) к прокси-серверу (192.168.0.2)
IP-адреса сетей и серверов у Вас, конечно, будут свои.
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX