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

Как направить весь HTTP-трафик с eth1 на прокси-сервер Squid? Правила Iptable?

Я только что установил прокси-сервер Squid. У сервера есть два интерфейса. eth0 подключается к маршрутизатору, а eth1 подключается к коммутатору, к которому подключаются все остальные машины. На сервере также есть DHCP-сервер. Я установил Squid3 на машине, и когда я настраиваю свой браузер для использования этого прокси (я настраиваю сеть, если я устанавливаю IP и порт), все работает. Но мне он нужен как прозрачный прокси, где мне не нужно настраивать браузер, и все запросы будут проходить через прокси.

Это можно сделать, просто установив правила IPtable? В некоторых статьях говорится об изменении sysctl.conf. Я пробовал правила Iptable из множества руководств, но ни один из них не работал. Пожалуйста, дайте мне добавить рабочее правило. Спасибо.

PS: Сервер - Ubuntu 12.10

PS2: Если можете, скажите, пожалуйста, как добавить эти правила для ufw

Вы должны изменить следующее, чтобы соответствовать вашей конфигурации:

eth1: интерфейс LAN
eth0: интерфейс WAN
ПОРТ кальмаров: 8028

Ниже приведены настройки Squid в прозрачном режиме.

# NAT
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

# Redirect
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8028 -j REDIRECT --to-port 80 
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to IPaddress:8028
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8028