LINUX.ORG.RU
ФорумAdmin

Правило для iptables на prerouting

 ,


0

1

Привет. Есть dansguardian, запустил его на 8081 порту. И раздаю инет клиентам по wifi, все нормально, но почему-то правило

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8081

не работает, и фильтра контента нет. Но если на клиенте поменяю прокси на 8081 порт, то фильтр есть и порнушку не показывает :)

Делаю

iptables -t nat -L

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination        
REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:http redir ports 8081
REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:http-alt redir ports 8081

Правило есть, должно бросать на 8081 весь трафик, но нет...Кто работал с таким, подскажите куда еще смотреть?

Полный скрипт запуска сети (вызываю в rc.local)

#!/bin/bash
sudo service networking restart
sudo service isc-dhcp-server start
sudo sysctl -w net.ipv4.ip_forward=1
 
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8081
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 8081
 
sudo ifup eth0
sudo /usr/local/bin/hostapd -d /etc/hostapd/hostapd_2G.conf

---- сорри, тег cut почему-то не работает

Ответ на: комментарий от Hazard1

гм. нихрена не понял из твоих объяснений где-что. Но IMHO

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port
противоречиво.

С одной стороный "-o eth0 -j MASQUERADE" говорит, что интернет у тебя идет через eth0 и тогда клиенты у тебя в wlan1. Но редиректишь ты почему-то запросы снаружи. Для тех, кто идет из wlan1 в инет, редирект нужно делать на wlan1

PS Ненавижу REDIRECT! DNAT наше все!

vel ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.