Назад | Перейти на главную страницу

Правило iptables для скрытых прокси-запросов squid блокирует http-запросы

У меня есть некоторые правила iptables в шлюзе Linux (сервер ubuntu 12.04), и все работает хорошо. Я настроил прозрачный прокси-сервер squid и тоже работает. Я использую это правило.

$IPT -t nat -A PREROUTING -p tcp --destination-port 80 \
-j REDIRECT --to-ports 3128 

Но я должен использовать этот сервер для тестирования и демонстраций веб-разработки и отклоняет все HTTP-запросы из Интернета (eht0). Я без проблем могу получить доступ из локальной сети (eth1).

Когда я комментирую правило выше. Все снова работает. Почему это правило блокирует HTTP-запросы из WAN-сети?

На самом деле это правило не блокирует HTTP-трафик из Wan, а перенаправляет этот трафик на ваш прокси.

Другими словами, ваше фактическое правило перенаправляет как входящий, так и исходящий HTTP-трафик на ваш шлюз на порт 3128.

Я бы предложил указать интерфейсы источника / назначения:

# Traffic from LAN to Internet is redirected to your Proxy
$IPT -t nat -A PREROUTING -p tcp -i eth1 -o eth0 --destination-port 80 -j REDIRECT --to-ports 3128

# Traffic from Internet is redirected to your gateway on port 80
$IPT -t nat -A PREROUTING -p tcp -i eth0 --destination-port 80 -j REDIRECT --to-ports 80