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

squid, ufw и iptables

У меня есть Ubuntu с установленным Squid, работающим как прозрачный прокси-сервер. Конфигурация, которая творит чудеса, следующая. (eth0 - внешний интерфейс, а eth1 - внутренний.)

sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo iptables -t nat -A POSTROUTING --jump MASQUERADE --source 192.168.0.0/24
sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

На данный момент прокси работает нормально.

Затем мне нужно отфильтровать некоторые пакеты, поэтому я использую ufw. т.е.

sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo deny 5223/tcp
sudo ufw enable

На данный момент больше ничего не работает. Не уверен, что мне не хватает. Что делать с портом 3128? У меня проблемы из-за того, что у меня два интерфейса? Изо всех сил пытаюсь осознать это, но безуспешно.

В итоге я использовал iptables напрямую вместо ufw. Похоже, что ufw по умолчанию создает уловку, которая мне не нужна в моем случае.

sudo iptables -A INPUT -j DROP -p tcp --destination-port 5223 -i eth1