LINUX.ORG.RU

iptables не работает ACCEPT перед DNAT

 , ,


1

0

Доброго времени суток. Столкнулся со следующей проблемой при работе с iptables:

Есть ряд WiFi точек доступа, которые заведены в сеть и входят в сервер, который выполняет роль шлюза и предоставляет доступ к сети интернет. WiFi рассчитан на временный гостевой доступ, то предварительно пользователя нужно завести на отдельную «стоп-страницу», которая лежит на этом же сервере. Для этого я заворачиваю весь трафик с 80 порта следующим правилом: «iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.0.1:80» Все скрипты настроены таким образом, что данная запись в таблице PREROUTING всегда располагается в конце списка. Суть проблемы заключается в том, что после успешного прохождения «стоп-страницы» методом нажатия кнопки, под каждого пользователя заводится новое правило: «iptables -t nat -I PREROUTING 1 -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT» Не смотря на то, что персональные правила находятся ДО правила с завертыванием трафика, пользователь всёравно попадает на «стоп-страницу» (192.168.0.1), хотя должен был спокойно выйти в сеть. Заранее спасибо.



Последнее исправление: ddavidson (всего исправлений: 1)

Ну так посмотри счетчики на этих индивидуальных правилах. Если они 0 - значит что-то не так.

И вообще для этого лучше использовать ipset типа hash:mac .

«iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.0.1:80» - это плохое правило. Желательно либо ограничить список интерфейсов для которого это правило должно работать, либо указать диапазон адресов клиентов.

И прочти про LORCODE!

vel ★★★★★
()

После добавления правила iptables надо еще выполнять conntrack -D -s $IP -p tcp --dport 80. Не очень красиво, но работать будет. Альтернативно можно перезапустить браузер.

anonymous
()
Ответ на: комментарий от vel

Что ж тогда не костыль, по-твоему?

И вообще, инжиниринг в первую очередь направлен на получение результата, и в приведенном мной примере это достигается малой ценой, так что вариант вполне годный.

anonymous
()
Ответ на: комментарий от vel

Честно признаться, я об этом тоже подумал, но к тому времени комментарий уже был написан :D . Так что, какие-то шансы у меня есть :)

anonymous
()
Ответ на: комментарий от anonymous

А на самом деле тема про всякие captive portal/hostspot достатоно интересная, особенно с учетом статейки на хабре https://habrahabr.ru/post/252263/ про кривых клиентов.

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