Я только что установил прокси-сервер 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