forum.bitel.ru
http://forum.bitel.ru/

Обсуждение предлогаемого по умолчанию скрипта iptables.sh
http://forum.bitel.ru/viewtopic.php?f=5&t=854
Страница 1 из 1

Автор:  Gankov [ 18 мар 2008, 18:08 ]
Заголовок сообщения:  Обсуждение предлогаемого по умолчанию скрипта iptables.sh

Сразу предупрежу что в Iptables я не большой спец. Поэтому погу ошибаться, поправьте меня если я сто то не допонял. Но помоему в предлогаемых по умолчанию скриптах есть некоторые ошибки, которые не позволяют запустить систему с ходу.

Во первых мне кажется что строчки:
Код:
#before wifi chain we must add redirects for authorized users 
/sbin/iptables -A PREROUTING  -t nat -p tcp --dport 80 -d $EXTERNAL_IP -j REDIRECT --to-ports $PORTAL_HTTP_PORT
/sbin/iptables -A PREROUTING  -t nat -p tcp --dport 443 -d $EXTERNAL_IP -j REDIRECT --to-ports $PORTAL_HTTPS_PORT

должны выглядеть так:
Код:
#before wifi chain we must add redirects for authorized users 
/sbin/iptables -A PREROUTING  -t nat -p tcp --dport 80 -d 0/0 -j REDIRECT --to-ports $PORTAL_HTTP_PORT
/sbin/iptables -A PREROUTING  -t nat -p tcp --dport 443 -d 0/0 -j REDIRECT --to-ports $PORTAL_HTTPS_PORT

Иначе теряется смысл редиректа. Так как редидект на портал происходит только в том случае есть пользователь обращается на сервер c nas, тоесть адрес получателя пакета сервер c nas а не допустим какой нибудь yandex.ru

Во вторых помоему указанные выше строчки должны находится после строчек с цепочкой WIFI так как, помоему правила цепочки WiFI должны применятся раньше чем правила редиректа, иначе даже авторизованные пользователи вместо своей любимой mail.ru будут попадать на страничку портала.

Автор:  Gankov [ 18 мар 2008, 18:23 ]
Заголовок сообщения: 

извинияюсь наверное поторопился, нашел ниже строчки
Код:
#http 
#/sbin/iptables -A PREROUTING  -t nat -p tcp --dport 80 -j REDIRECT --to-ports $PORTAL_HTTP_PORT
/sbin/iptables -A PREROUTING  -t nat -p tcp --dport $PORTAL_HTTP_PORT -j ACCEPT

#https 
#/sbin/iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-ports $PORTAL_HTTPS_PORT
/sbin/iptables -A PREROUTING -t nat -p tcp --dport $PORTAL_HTTPS_PORT -j ACCEPT

Тогда не совсем понятно почему они поумолчанию закоментированы, и зачем тогда нужны строски описываемые выше.

Автор:  stark [ 18 мар 2008, 18:23 ]
Заголовок сообщения: 

Для неавторизованых пользователей уже есть правила после цепочки WiFi:
Код:
#http 
#/sbin/iptables -A PREROUTING  -t nat -p tcp --dport 80 -j REDIRECT --to-ports $PORTAL_HTTP_PORT
/sbin/iptables -A PREROUTING  -t nat -p tcp --dport $PORTAL_HTTP_PORT -j ACCEPT

#https 
#/sbin/iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-ports $PORTAL_HTTPS_PORT
/sbin/iptables -A PREROUTING -t nat -p tcp --dport $PORTAL_HTTPS_PORT -j ACCEPT


А эти правила , который стоят выше нужны всего лишь для того, чтобы автоизованные пользователи не набирали url вида http://wifi.xxx.ru:9090 для захода на стриницу, где они увидят свой балланс и кнопку "выйти" , а просто набирали http://wifi.xxx.ru. поэтому там и стоит destination.. вы можеет их вообще убрать , будет работать .. может даже нам стоит их убрать из документации чтобы не запутывать

Автор:  stark [ 18 мар 2008, 18:31 ]
Заголовок сообщения: 

Gankov писал(а):
Тогда не совсем понятно почему они поумолчанию закоментированы, и зачем тогда нужны строски описываемые выше.


Зачем нужны строки , описанные выше, я уже объяснил..А вот то, что нижние закоментированы - это ошибка , спасибо что сообщили, исправим

Автор:  Gankov [ 18 мар 2008, 19:33 ]
Заголовок сообщения: 

Думаю их тогда надо просто закоментировать или описать более подробно. Так как в принцепе это правильно и полезно. Убирать не надо.

Автор:  SEA-Jay [ 19 мар 2008, 12:22 ]
Заголовок сообщения: 

Сервер и агент стоят на разных серверах.

Наблюдается трабл с доступом к ативации и статистике. перелопатил весь скрипт.

Оказалось дело в правиле

/sbin/iptables -A FORWARD -p tcp -j REJECT --reject-with tcp-reset
если закоментировать то работает нормально

оно действительно необходимо?

Автор:  stark [ 19 мар 2008, 14:13 ]
Заголовок сообщения: 

SEA-Jay писал(а):
Сервер и агент стоят на разных серверах.

Наблюдается трабл с доступом к ативации и статистике. перелопатил весь скрипт.

Оказалось дело в правиле

/sbin/iptables -A FORWARD -p tcp -j REJECT --reject-with tcp-reset
если закоментировать то работает нормально

оно действительно необходимо?


Оно необходимо для разрыва уже установленных соединений. Иначе возникает такая ситуация - клиент качает большой файл на несколько гигабайт , у него заканчиваются деньги и его закрывают в iptables (убирают разрешающиее правило ), но клиент продолжает спокойно докачивать свой файл ..можете проверить.. В 4.3 версии мы предлагали для разрыва соединения использовать стороннюю утилиту cutter http://www.lowth.com/cutter/ , но потом решили что слать rst-пакет средствами iptables проще ..Если хотите понять в чем проблема, почитаете то, что написано по приведенной ссылке -там объясняется в чем проблема и предлагаются методы ее решения ( в том числе через iptables) .. Можно использовать и cutter для этого (вызывать в скрипте logout.sh)

в вашем случае можно настроить с -reject-with tcp-reset , просто надо добавлять отдельные разрешающие правила в цепочку FORWARD таблицы filter для статистики и активации..В эту же цепочку добавляются отдельные разрешающие правила для каждого клиента (добавляются они в скрипте login.sh)..

скрипт iptables.sh как раз и задумывался, что он будет перелопачиваться под конкретные случаи, т.к нельзя сделать универсальную настройку, которая подойдет всем, но если есть какие-то предложения, то можем подправить

P,S. Возможно в следующей версии мы сделаем разрыв соединений(послулку RST-пакета в оба конца) в самом WiFi-агенте, чтобы облегчить настройку

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/