forum.bitel.ru http://forum.bitel.ru/ |
|
Проблема с wifi порталом http://forum.bitel.ru/viewtopic.php?f=5&t=7225 |
Страница 1 из 1 |
Автор: | beetle [ 18 сен 2012, 12:35 ] |
Заголовок сообщения: | Проблема с wifi порталом |
Симптомы. После некоторой работы портал перестает логинить клиентов. Т.е. редирект проходит, ввожу логин и пароль, авторизуюсь (пишет успешно), но по факту разрешающие правила не добавляются и снова редиректит на портал. Перезагрузка помогает, но только на некоторое время. Ошибки в portal.log 09-18/09:43:25 INFO ["http-bio-9090"-exec-1] ActionAuth - checking aunthecation... 09-18/09:43:25 INFO ["http-bio-9090"-exec-1] ActionAuth - aunthecation accepted!! 09-18/09:43:25 INFO ["http-bio-9090"-exec-1] ScriptUtil - script command: /usr/local/BGDialupWiFiAgent/login.sh X.X.X.X 2048 2048. 09-18/09:43:25 ERROR ["http-bio-9090"-exec-1] ScriptUtil -. java.io.IOException: Cannot run program "/usr/local/BGDialupWiFiAgent/login.sh": java.io.IOException: error=24, Too many open files <------>at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) <------>at java.lang.Runtime.exec(Runtime.java:593) <------>at java.lang.Runtime.exec(Runtime.java:431) <------>at java.lang.Runtime.exec(Runtime.java:328) <------>at ru.bitel.bgbilling.kernel.wifi.util.CommandUtil.runCommand(CommandUtil.java:11) <------>at ru.bitel.bgbilling.kernel.wifi.util.ScriptUtil.runCommand(ScriptUtil.java:61) <------>at ru.bitel.bgbilling.kernel.wifi.util.ScriptUtil.runStartScript(ScriptUtil.java:47) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.runScript(ActionAuth.java:178) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.checkAuth(ActionAuth.java:105) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.execute(ActionAuth.java:57) <------>at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) <------>at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) <------>at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) <------>at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) <------>at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) <------>at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) <------>at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) <------>at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) <------>at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at ru.bitel.bgbilling.kernel.wifi.portal.filter.AuthFilter.doFilter(AuthFilter.java:48) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at ru.bitel.server.servlet.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) <------>at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) <------>at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) <------>at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) <------>at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) <------>at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) <------>at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) <------>at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301) <------>at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162) <------>at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) <------>at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) <------>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) <------>at java.lang.Thread.run(Thread.java:662) Caused by: java.io.IOException: java.io.IOException: error=24, Too many open files <------>at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) <------>at java.lang.ProcessImpl.start(ProcessImpl.java:65) <------>at java.lang.ProcessBuilder.start(ProcessBuilder.java:453) <------>... 41 more в error.log agent 09-18/10:22:46 ERROR [Thread-5] ScriptUtil -. java.io.IOException: Cannot run program "/usr/local/BGDialupWiFiAgent/ip_counts.sh": java.io.IOException: error=24, Too many open files <------>at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) <------>at java.lang.Runtime.exec(Runtime.java:593) <------>at java.lang.Runtime.exec(Runtime.java:431) <------>at java.lang.Runtime.exec(Runtime.java:328) <------>at ru.bitel.bgbilling.kernel.wifi.util.ScriptUtil.getIpCountInfo(ScriptUtil.java:109) <------>at ru.bitel.bgbilling.kernel.wifi.WiFiChecker.run(WiFiChecker.java:34) Caused by: java.io.IOException: java.io.IOException: error=24, Too many open files <------>at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) <------>at java.lang.ProcessImpl.start(ProcessImpl.java:65) <------>at java.lang.ProcessBuilder.start(ProcessBuilder.java:453) <------>... 5 more и много подобных в других логах |
Автор: | beetle [ 18 сен 2012, 13:02 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Начал копаться, и дал команду на портале [root@wifi-portal ~]# lsof -u root |grep java| grep pipe |wc -l 952 [root@wifi-portal ~]# lsof -u root |grep java |wc -l 1090 |
Автор: | stark [ 19 сен 2012, 12:10 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Исправлено, обновление выложено . (нужно обновить сервер, запустить его, потом остановить wifi-портал и вызвать update.sh в папке wifi-портала). |
Автор: | beetle [ 21 сен 2012, 00:06 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Работает. Сервер биллинга неправильно понимает данные передающиеся с ip_count.pl. В клиенте отображаются тысячи гигабайт, которые клиент скачал за пару часов с каналом в 2 мегабита. Появляются ошибки на портале в error.log portal 09-20/19:04:19 ERROR ["http-bio-9090"-exec-4] ActionServlet] - Servlet.service() for servlet org.apache.struts.action.ActionServlet threw exception ru.bitel.bgbilling.common.BGException: Ошибка получения баланса <------>at ru.bitel.bgbilling.modules.dialup.wifi.DialupWiFiAgent.getBalance(DialupWiFiAgent.java:46) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionShowPortal.getBalance(ActionShowPortal.java:43) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionShowPortal.execute(ActionShowPortal.java:31) <------>at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) <------>at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) <------>at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) <------>at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) <------>at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) <------>at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) <------>at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) <------>at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) <------>at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) <------>at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471) <------>at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402) <------>at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) <------>at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:745) <------>at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:716) <------>at org.apache.jsp.index_jsp._jspService(index_jsp.java:61) <------>at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) <------>at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) <------>at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) <------>at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at ru.bitel.bgbilling.kernel.wifi.portal.filter.AuthFilter.doFilter(AuthFilter.java:48) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at ru.bitel.server.servlet.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) <------>at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) <------>at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) <------>at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) <------>at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) <------>at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) <------>at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) <------>at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301) <------>at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162) <------>at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) <------>at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) <------>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) <------>at java.lang.Thread.run(Thread.java:662) portal 09-20/19:19:57 ERROR ["http-bio-9090"-exec-4] ActionAuth -. java.lang.RuntimeException: Value for vendor code = 1111 and attribute code = 1 is NULL!! <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.runScript(ActionAuth.java:168) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.checkAuth(ActionAuth.java:105) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.execute(ActionAuth.java:57) <------>at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) <------>at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) <------>at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) <------>at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) <------>at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) <------>at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) <------>at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) <------>at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) <------>at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) <------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at ru.bitel.bgbilling.kernel.wifi.portal.filter.AuthFilter.doFilter(AuthFilter.java:48) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at ru.bitel.server.servlet.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48) <------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) <------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) <------>at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) <------>at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) <------>at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) <------>at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) <------>at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) <------>at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) <------>at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403) <------>at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301) <------>at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162) <------>at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:140) <------>at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) <------>at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) <------>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) <------>at java.lang.Thread.run(Thread.java:662) На сервере в server.error.log server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - ru.bitel.bgbilling.common.BGException: Login not found server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at bitel.billing.server.dialup.action.ActionWiFiGetBalanceInfo.doActi server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at bitel.billing.server.Executer.doModule(Unknown Source) server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at bitel.billing.server.Executer$1.run(Unknown Source) server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at java.security.AccessController.doPrivileged(Native Method) server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at javax.security.auth.Subject.doAs(Subject.java:396) server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at bitel.billing.server.Executer.doPost(Unknown Source) server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(S server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapp server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.StandardContextValve.invoke(StandardConte server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authent server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.ja server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValv server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValv server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngine server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter. server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.coyote.http11.Http11Processor.process(Http11Processor.j server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.pr server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.pr server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndp server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolE server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecu server 09-20/19:04:19 ERROR ["http-bio-/0.0.0.0-8080"-exec-3] LoggingPrintStream - <--->at java.lang.Thread.run(Thread.java:662) Еще хочу отписать по недочетам, что выявил в файлах портала. > dialup_wifi_agent.properties wifi.agent.client.live.time=24000000 - это 6.(6) часа, наверное нужно 2400000, как в документации. > login.sh /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -s $IP /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -d $IP эти строки только пишутся в логи, нужно продублировать их под echo командами, иначе трафик не ходит про iptables.sh писать не буду, где-то тема была, но баги теже остались Еще на порталах модная тема редиректа на страничку, которую пользователь запросил перед тем как попал на портал. Неплохо было бы реализовать такой функционал. Я сделал на php, но в рамках идеологии бгбиллинга это не очень, можно jsp страничку переписать немного. Спасибо. |
Автор: | stark [ 21 сен 2012, 11:05 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): Работает. Сервер биллинга неправильно понимает данные передающиеся с ip_count.pl. В клиенте отображаются тысячи гигабайт, которые клиент скачал за пару часов с каналом в 2 мегабита. У вас ip_count.pl не измененный ? т.е. тот, который идет с дистрибутивом? beetle писал(а): Появляются ошибки на портале в error.log portal 09-20/19:04:19 ERROR ["http-bio-9090"-exec-4] ActionServlet] - Servlet.service() for servlet org.apache.struts.action.ActionServlet threw exception ru.bitel.bgbilling.common.BGException: Ошибка получения баланса <------>at ru.bitel.bgbilling.modules.dialup.wifi.DialupWiFiAgent.getBalance(DialupWiFiAgent.java:46) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionShowPortal.getBalance(ActionShowPortal.java:43) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionShowPortal.execute(ActionShowPortal.java:31) А баланс после логина отображается правильный ? beetle писал(а): portal 09-20/19:19:57 ERROR ["http-bio-9090"-exec-4] ActionAuth -. java.lang.RuntimeException: Value for vendor code = 1111 and attribute code = 1 is NULL!! <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.runScript(ActionAuth.java:168) <------>at ru.bitel.bgbilling.kernel.wifi.portal.struts.action.ActionAuth.checkAuth(ActionAuth.java:105) У вас скорее всего в настройках dialup_wifi_agent.properties стоит конфигурации вида Код: wifi.agent.radius.atrubute.1.vendor.code=1111 wifi.agent.radius.atrubute.1.attr.code=1 wifi.agent.radius.atrubute.1.type=integer wifi.agent.radius.atrubute.2.vendor.code=1111 wifi.agent.radius.atrubute.2.attr.code=2 wifi.agent.radius.atrubute.2.type=integer А эти атрибуты не приходят в accept-пакете. Либо настройте атрибуты либо вообще закомментируйте этот блок. В текущей сборке этот блок закомментирован. |
Автор: | stark [ 21 сен 2012, 11:09 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): > login.sh /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -s $IP /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -d $IP эти строки только пишутся в логи, нужно продублировать их под echo командами, иначе трафик не ходит про iptables.sh писать не буду, где-то тема была, но баги теже остались Это в старой сборке так было возможно. Сейчас там такой файл: Код: #!/bin/sh cd ${0%${0##*/}}. . ./conf.sh IP=$1 DOWNSTREAM_SPEED=$2 UPSTREAM_SPEED=$3 date >> ./log/manad.out echo `/sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -s $IP` >> ./log/manad.out 2>&1 echo `/sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -d $IP` >> ./log/manad.out 2>&1 if [ $USE_MANAD -eq 1 ]; then ./tell_manad.pl "add $IP $DOWNSTREAM_SPEED $UPSTREAM_SPEED" $MANAD_PORT fi #use it for shaping #./shape.sh $IP $PARAM1 $PARAM2 Если приглядеться внимательно то, там команды в кавычках ``, это означает выполнить команду и ее результат уже выводится в echo. Так что работать должно. |
Автор: | stark [ 21 сен 2012, 12:03 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): Еще хочу отписать по недочетам, что выявил в файлах портала. > dialup_wifi_agent.properties wifi.agent.client.live.time=24000000 - это 6.(6) часа, наверное нужно 2400000, как в документации. Исправили, сборку выложили. |
Автор: | beetle [ 22 сен 2012, 15:58 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
stark писал(а): У вас ip_count.pl не измененный ? т.е. тот, который идет с дистрибутивом? Нашел свой недочет, извиняюсь. stark писал(а): А баланс после логина отображается правильный ? А как узнать к какому логину относится логи? |
Автор: | beetle [ 22 сен 2012, 16:06 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
stark писал(а): beetle писал(а): > login.sh /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -s $IP /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -d $IP эти строки только пишутся в логи, нужно продублировать их под echo командами, иначе трафик не ходит про iptables.sh писать не буду, где-то тема была, но баги теже остались Это в старой сборке так было возможно. Сейчас там такой файл: Код: #!/bin/sh cd ${0%${0##*/}}. . ./conf.sh IP=$1 DOWNSTREAM_SPEED=$2 UPSTREAM_SPEED=$3 date >> ./log/manad.out echo `/sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -s $IP` >> ./log/manad.out 2>&1 echo `/sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -d $IP` >> ./log/manad.out 2>&1 if [ $USE_MANAD -eq 1 ]; then ./tell_manad.pl "add $IP $DOWNSTREAM_SPEED $UPSTREAM_SPEED" $MANAD_PORT fi #use it for shaping #./shape.sh $IP $PARAM1 $PARAM2 Если приглядеться внимательно то, там команды в кавычках ``, это означает выполнить команду и ее результат уже выводится в echo. Так что работать должно. Просмотрел апострофы обратные. Тем не менее по умолчанию в iptables.sh запрещен tcp трафик в FORWARD последним правилом, а в login.sh эта цепочка никак не открывается. Наверное нужно добавить в login.sh echo `/sbin/iptables -I FORWARD 1 -j ACCEPT -s $IP` >> ./log/manad.out 2>&1 echo `/sbin/iptables -I FORWARD 1 -j ACCEPT -d $IP` >> ./log/manad.out 2>&1 и правила удаления в logout.sh |
Автор: | stark [ 25 сен 2012, 14:24 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): stark писал(а): У вас ip_count.pl не измененный ? т.е. тот, который идет с дистрибутивом? Нашел свой недочет, извиняюсь. stark писал(а): А баланс после логина отображается правильный ? А как узнать к какому логину относится логи? Я имел ввиду после авторизации в личном кабинете.Там скорее всего у вас ничего не отображается. Тогда посмотрите в логе сервера еще есть ошибки при этом ? |
Автор: | stark [ 25 сен 2012, 14:34 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Выложил обновление. теперь ошибка при получении баланса будет выводится подробнее . Обновляться также - обновить сервер, потом update на WiFi. обновится dilaup.jar. |
Автор: | stark [ 25 сен 2012, 14:52 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): stark писал(а): beetle писал(а): > login.sh /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -s $IP /sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -d $IP эти строки только пишутся в логи, нужно продублировать их под echo командами, иначе трафик не ходит про iptables.sh писать не буду, где-то тема была, но баги теже остались Это в старой сборке так было возможно. Сейчас там такой файл: Код: #!/bin/sh cd ${0%${0##*/}}. . ./conf.sh IP=$1 DOWNSTREAM_SPEED=$2 UPSTREAM_SPEED=$3 date >> ./log/manad.out echo `/sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -s $IP` >> ./log/manad.out 2>&1 echo `/sbin/iptables -I $WIFI_CHAIN_NAME 1 -t nat -j ACCEPT -d $IP` >> ./log/manad.out 2>&1 if [ $USE_MANAD -eq 1 ]; then ./tell_manad.pl "add $IP $DOWNSTREAM_SPEED $UPSTREAM_SPEED" $MANAD_PORT fi #use it for shaping #./shape.sh $IP $PARAM1 $PARAM2 Если приглядеться внимательно то, там команды в кавычках ``, это означает выполнить команду и ее результат уже выводится в echo. Так что работать должно. Просмотрел апострофы обратные. Тем не менее по умолчанию в iptables.sh запрещен tcp трафик в FORWARD последним правилом, а в login.sh эта цепочка никак не открывается. Наверное нужно добавить в login.sh echo `/sbin/iptables -I FORWARD 1 -j ACCEPT -s $IP` >> ./log/manad.out 2>&1 echo `/sbin/iptables -I FORWARD 1 -j ACCEPT -d $IP` >> ./log/manad.out 2>&1 и правила удаления в logout.sh Да вы правы. в 5.1 они там были , а 5.2 убрали случайно . Вернул обратно , сборку с новыми login.sh/logout.sh выложил. |
Автор: | beetle [ 04 фев 2013, 01:08 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
При больших нагрузках ipcad на linux теряет трафик в следствии чего пользователи с тарифами по трафику качают больше положенного. Решил перейти на подсчет трафика по RADIUS данным. Обнаружил проблему с неверным подсчетом трафика по RADIUS с wifi портала, фото ниже. Сборка портала последняя, скрипт ip_count.pl не трогал. Вложение:
|
Автор: | skn [ 04 фев 2013, 01:30 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
а в байтах тоже нули? что в радиус логах? |
Автор: | beetle [ 04 фев 2013, 01:34 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Да, конечно, в гигабайтах поставил просто чтоб показать масштаб трагедии. |
Автор: | skn [ 04 фев 2013, 03:30 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
что в радиус логах? |
Автор: | beetle [ 04 фев 2013, 12:50 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Вот логи с портала от типичного пользователя. Могу в файлике прикрепить полные, но там много с других NASов логов, а с портала все такого вида. Код: 02-04/10:31:23 INFO [rdsLstnr-p-6-t-18] RadiusListenerWorker - REQUEST:
Packet type: Access-Request Identifier: 8 Authenticator: {0E 25 BB CF B4 95 7C AA 33 6C C3 63 E3 F1 3A A4} Attributes: User-Name=beetle NAS-Identifier=wifi User-Password=******** NAS-Port=171206038 Framed-IP-Address=10.52.101.150 Acct-Session-Id=10.52.101.150_1359959483257 Calling-Station-Id=d0:df:c7:3d:8c:bd 02-04/10:31:23 INFO [rdsLstnr-p-6-t-18] RadiusListenerWorker - RESPONSE: Packet type: Access-Accept Identifier: 8 Authenticator: {F8 A6 DA 19 55 69 EA ED 0E 79 53 BE 99 37 1B FE} Attributes: Acct-Interim-Interval=60 Service-Type=2 Framed-Protocol=1 Framed-Pool=myPool cisco-avpair=lcp:interface-config=rate-limit output 5120000 32000 32000 conform-action transmit exceed-action drop cisco-avpair=lcp:interface-config=rate-limit input 5120000 32000 32000 conform-action transmit exceed-action drop WiFi-Downstream-Speed-Limit=5120 WiFi-Upstream-Speed-Limit=5120 Process time auth: 11 02-04/10:31:23 INFO [rdsLstnr-p-7-t-14] RadiusListenerWorker - REQUEST: Packet type: Accounting-Request Identifier: 9 Authenticator: {BC 9F 73 D2 66 D4 9D 13 C3 09 59 28 6B 2A 72 50} Attributes: User-Name=beetle NAS-Identifier=wifi NAS-Port=171206038 Framed-IP-Address=10.52.101.150 Acct-Status-Type=1 Acct-Session-Id=10.52.101.150_1359959483257 Calling-Station-Id=d0:df:c7:3d:8c:bd 02-04/10:31:23 INFO [rdsLstnr-p-7-t-14] RadiusListenerWorker - RESPONSE: Packet type: Accounting-Response Identifier: 9 Authenticator: {07 09 61 03 87 17 46 60 0E 16 B0 52 98 E9 4D 6F} Attributes: Process time start: 2 02-04/10:31:57 INFO [rdsLstnr-p-7-t-12] update - REQUEST: Packet type: Accounting-Request Identifier: 28 Authenticator: {B5 D3 FD B2 6B 58 A6 52 4B 56 50 DA F6 76 9C 57} Attributes: User-Name=beetle NAS-Identifier=wifi NAS-Port=171206038 Acct-Output-Gigawords=0 Acct-Input-Gigawords=3082 Framed-IP-Address=10.52.101.150 Acct-Input-Octets=0 Acct-Output-Octets=0 Acct-Status-Type=3 Acct-Session-Time=33 Acct-Session-Id=10.52.101.150_1359959483257 Calling-Station-Id=d0:df:c7:3d:8c:bd 02-04/10:31:57 INFO [rdsLstnr-p-7-t-12] update - RESPONSE: Packet type: Accounting-Response Identifier: 28 Authenticator: {85 A9 D5 08 FA DF 88 42 76 4E 15 D3 68 5A E7 EB} Attributes: 02-04/10:32:57 INFO [rdsLstnr-p-7-t-11] update - REQUEST: Packet type: Accounting-Request Identifier: 49 Authenticator: {A3 19 16 6D C9 F7 B1 AD 17 DF 7E 91 5B 61 C9 49} Attributes: User-Name=beetle NAS-Identifier=wifi NAS-Port=171206038 Acct-Output-Gigawords=0 Acct-Input-Gigawords=12643 Framed-IP-Address=10.52.101.150 Acct-Input-Octets=0 Acct-Output-Octets=0 Acct-Status-Type=3 Acct-Session-Time=93 Acct-Session-Id=10.52.101.150_1359959483257 Calling-Station-Id=d0:df:c7:3d:8c:bd 02-04/10:32:57 INFO [rdsLstnr-p-7-t-11] update - RESPONSE: Packet type: Accounting-Response Identifier: 49 Authenticator: {CE 5F F9 AF 40 06 CE 68 51 E3 49 F5 50 37 BE 4A} Attributes: 02-04/10:33:57 INFO [rdsLstnr-p-7-t-16] update - REQUEST: Packet type: Accounting-Request Identifier: 70 Authenticator: {F0 CB 26 22 FE 3C F4 3A 40 69 67 F9 83 00 31 0C} Attributes: User-Name=beetle NAS-Identifier=wifi NAS-Port=171206038 Acct-Output-Gigawords=0 Acct-Input-Gigawords=710 Framed-IP-Address=10.52.101.150 Acct-Input-Octets=0 Acct-Output-Octets=0 Acct-Status-Type=3 Acct-Session-Time=154 Acct-Session-Id=10.52.101.150_1359959483257 Calling-Station-Id=d0:df:c7:3d:8c:bd 02-04/10:33:57 INFO [rdsLstnr-p-7-t-16] update - RESPONSE: Packet type: Accounting-Response Identifier: 70 Authenticator: {44 D9 80 F2 6C B1 88 E2 F7 6E 5D 22 03 DD 45 43} Attributes: |
Автор: | stark [ 04 фев 2013, 12:58 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
покажите результат вызова ip_counts.sh |
Автор: | beetle [ 04 фев 2013, 13:35 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Код: [root@wifi BGDialupWiFiAgent]# ./ip_counts.sh
10.52.123.14 0 0 10.52.98.116 0 0 10.52.123.26 0 0 10.52.127.250 375 0 10.52.114.146 0 0 10.52.108.1 0 0 10.52.98.104 167 0 10.52.99.219 0 0 10.52.103.10 0 0 10.52.99.145 0 0 10.52.98.229 0 0 10.52.98.79 348 0 10.52.102.166 0 0 10.52.100.183 122 0 10.52.98.68 0 0 10.52.98.32 0 0 10.52.99.18 0 0 10.52.99.195 0 0 10.52.98.51 0 0 10.52.98.217 0 0 10.52.99.15 145 0 10.52.132.241 0 0 10.52.101.130 0 0 10.52.123.226 0 0 10.52.121.252 0 0 10.52.98.254 0 0 10.52.98.114 0 0 10.52.100.239 260 0 10.52.98.158 0 0 10.52.99.101 0 0 10.52.130.202 60 0 10.52.98.39 1180 0 10.52.100.162 0 0 10.52.129.197 0 0 10.52.121.116 0 0 10.52.98.56 0 0 10.52.124.201 0 0 10.52.130.214 0 0 10.52.131.36 0 0 10.52.132.231 0 0 10.52.100.138 0 0 10.52.123.120 0 0 10.52.103.167 0 0 10.52.101.185 0 0 10.52.103.186 0 0 10.52.99.103 0 0 10.52.99.184 259 0 10.52.99.80 158 0 [root@wifi BGDialupWiFiAgent]# ./ip_counts.sh 10.52.123.14 0 0 10.52.98.116 0 0 10.52.123.26 0 0 10.52.127.250 0 0 10.52.114.146 0 0 10.52.108.1 0 0 10.52.98.104 116 0 10.52.99.219 0 0 10.52.103.10 1335 0 10.52.99.145 0 0 10.52.98.229 0 0 10.52.98.79 687 0 10.52.102.166 68 0 10.52.100.183 167 0 10.52.98.68 0 0 10.52.98.32 0 0 10.52.99.18 0 0 10.52.99.195 0 0 10.52.98.51 0 0 10.52.98.217 0 0 10.52.99.15 145 0 10.52.132.241 0 0 10.52.101.130 0 0 10.52.123.226 0 0 10.52.121.252 0 0 10.52.98.254 0 0 10.52.98.114 0 0 10.52.100.239 0 0 10.52.98.158 0 0 10.52.99.101 52 0 10.52.130.202 112 0 10.52.98.39 0 0 10.52.100.162 0 0 10.52.129.197 0 0 10.52.121.116 0 0 10.52.98.56 0 0 10.52.124.201 0 0 10.52.130.214 0 0 10.52.131.36 0 0 10.52.132.231 0 0 10.52.100.138 0 0 10.52.123.120 0 0 10.52.103.167 0 0 10.52.101.185 0 0 10.52.103.186 0 0 10.52.99.103 0 0 10.52.99.184 0 0 10.52.99.80 400 0 [root@wifi BGDialupWiFiAgent]# |
Автор: | stark [ 04 фев 2013, 15:00 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Теперь результат Код: iptables -Z -n -v -x -t nat -L <Имя Цепочки WIFI >
|
Автор: | beetle [ 04 фев 2013, 15:37 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Код: [root@wifi ~]# iptables -Z -n -v -x -t nat -L WIFI Chain WIFI (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.100.183 31 1776 ACCEPT all -- * * 10.52.100.183 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.158 0 0 ACCEPT all -- * * 10.52.98.158 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.132.241 3 181 ACCEPT all -- * * 10.52.132.241 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.121.252 0 0 ACCEPT all -- * * 10.52.121.252 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.103.167 172 9487 ACCEPT all -- * * 10.52.103.167 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.103 62 3486 ACCEPT all -- * * 10.52.99.103 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.145 5 294 ACCEPT all -- * * 10.52.99.145 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.123.14 0 0 ACCEPT all -- * * 10.52.123.14 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.101.130 0 0 ACCEPT all -- * * 10.52.101.130 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.123.26 0 0 ACCEPT all -- * * 10.52.123.26 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.103.10 3 1044 ACCEPT all -- * * 10.52.103.10 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.129.197 0 0 ACCEPT all -- * * 10.52.129.197 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.130.202 5 667 ACCEPT all -- * * 10.52.130.202 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.132.231 14 724 ACCEPT all -- * * 10.52.132.231 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.104.22 0 0 ACCEPT all -- * * 10.52.104.22 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.192 0 0 ACCEPT all -- * * 10.52.98.192 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.195 3 184 ACCEPT all -- * * 10.52.99.195 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.100.239 57 3981 ACCEPT all -- * * 10.52.100.239 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.15 52 4034 ACCEPT all -- * * 10.52.99.15 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.100.162 22 1154 ACCEPT all -- * * 10.52.100.162 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.114.146 41 2624 ACCEPT all -- * * 10.52.114.146 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.80 37 2144 ACCEPT all -- * * 10.52.99.80 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.103.186 0 0 ACCEPT all -- * * 10.52.103.186 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.131.36 0 0 ACCEPT all -- * * 10.52.131.36 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.101.185 0 0 ACCEPT all -- * * 10.52.101.185 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.79 122 7653 ACCEPT all -- * * 10.52.98.79 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.104.34 0 0 ACCEPT all -- * * 10.52.104.34 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.123.120 2 121 ACCEPT all -- * * 10.52.123.120 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.68 0 0 ACCEPT all -- * * 10.52.98.68 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.130.214 0 0 ACCEPT all -- * * 10.52.130.214 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.254 2 96 ACCEPT all -- * * 10.52.98.254 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.184 20 4863 ACCEPT all -- * * 10.52.99.184 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.229 0 0 ACCEPT all -- * * 10.52.98.229 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.124.201 0 0 ACCEPT all -- * * 10.52.124.201 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.127.250 10 3746 ACCEPT all -- * * 10.52.127.250 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.101 33 3861 ACCEPT all -- * * 10.52.99.101 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.102.166 12 1067 ACCEPT all -- * * 10.52.102.166 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.18 0 0 ACCEPT all -- * * 10.52.99.18 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.123.226 4 220 ACCEPT all -- * * 10.52.123.226 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.100.138 6 380 ACCEPT all -- * * 10.52.100.138 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.56 0 0 ACCEPT all -- * * 10.52.98.56 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.32 0 0 ACCEPT all -- * * 10.52.98.32 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.217 213 26710 ACCEPT all -- * * 10.52.98.217 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.101.150 0 0 ACCEPT all -- * * 10.52.101.150 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.99.219 0 0 ACCEPT all -- * * 10.52.99.219 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.51 3 373 ACCEPT all -- * * 10.52.98.51 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.116 0 0 ACCEPT all -- * * 10.52.98.116 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.121.116 21 1832 ACCEPT all -- * * 10.52.121.116 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.108.1 0 0 ACCEPT all -- * * 10.52.108.1 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.104 65 6076 ACCEPT all -- * * 10.52.98.104 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.114 8 416 ACCEPT all -- * * 10.52.98.114 0.0.0.0/0 Zeroing chain `WIFI' [root@wifi ~]# Исправил предыдущий пост. Там запускал просто pl скрипт, а просили ip_counts.sh, но результаты теже. |
Автор: | stark [ 04 фев 2013, 15:48 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): Код: [root@wifi ~]# iptables -Z -n -v -x -t nat -L WIFI Chain WIFI (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.100.183 31 1776 ACCEPT all -- * * 10.52.100.183 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.98.158 0 0 ACCEPT all -- * * 10.52.98.158 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 10.52.132.241 3 181 ACCEPT all -- * * 10.52.132.241 0.0.0.0/0 Ищите ошибку в в настройках iptables. У вас в строках, в которых destination не пустой во всех трафик - 0 . Т.е у вас этот трафик попадает в какую-то другую строчку раньше цепочки WiFi. |
Автор: | beetle [ 22 фев 2013, 16:20 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Нашел время, разобрался. Есть несколько вопросов. Все работает на Linux 3.3.4-5.fc17.x86_64 и iptables v1.4.12.2. 1. iptables.sh Код: #drop others from external interface /sbin/iptables -A PREROUTING -s ! $WIFI_NET -t nat -j DROP Это не работает. По умолчанию фильтрация тут вообще запрещена и синтаксис -s ! не верен, правильно ! -s. 2. ip_counts.pl Самое главное, что скрипт парсит цепочку в PREROUTING таблицы nat. Только первый пакет из потока проходит через цепочки этой таблицы. В следствии этого счетчики снимать с ее правил неверно изначально. Входящий трафик с потока вообще практически в ней 0. Продолжение темы в *п.3 Потом в самом скрипте есть опечатки, выделил цветами. (стр. 27) $input{$2} = $1; # во вторых скобках пакеты с src адресами т.е. ИСХОДЯЩИЙ (стр. 28) $ouput{$3} = $1; # тут аналогично и опечатка в ou(t)put верно Код: $input{$3} = $1; $output{$2} = $1; 3. И еще момент, который я не совсем четко прояснил. Если на портале включен и SNAT, то когда пакет приходит из внешней сети на сервер, то его dst ip еще является адресом в который была произведена трансляция. По крайней мере в цепочке PREROUTING -t nat, а там у нас и находится переход в цепочку WIFI и все директивы с dst ip локальной сети не имеют смысла. Это не говоря про замечания с п.1. |
Автор: | stark [ 22 фев 2013, 18:19 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): Нашел время, разобрался. Есть несколько вопросов. Все работает на Linux 3.3.4-5.fc17.x86_64 и iptables v1.4.12.2. 1. iptables.sh Код: #drop others from external interface /sbin/iptables -A PREROUTING -s ! $WIFI_NET -t nat -j DROP Это не работает. По умолчанию фильтрация тут вообще запрещена и синтаксис -s ! не верен, правильно ! -s. Видимо устарело. Когда писался этот срипт было по другому http://www.opennet.ru/docs/RUS/iptables/#GENERICMATCHES Цитата: Критерий -s, --src, --source Пример iptables -A INPUT -s 192.168.1.1 P-адрес(а) источника пакета. Адрес источника может указываться так, как показано в примере, тогда подразумевается единственный IP-адрес. А можно указать адрес в виде address/mask, например как 192.168.0.0/255.255.255.0, или более современным способом 192.168.0.0/24, т.е. фактически определяя диапазон адресов Как и ранее, символ !, установленный перед адресом, означает логическое отрицание, т.е. --source ! 192.168.0.0/24 означает любой адрес кроме адресов 192.168.0.x. |
Автор: | stark [ 22 фев 2013, 18:31 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): 2. ip_counts.pl Самое главное, что скрипт парсит цепочку в PREROUTING таблицы nat. Только первый пакет из потока проходит через цепочки этой таблицы. В следствии этого счетчики снимать с ее правил неверно изначально. Входящий трафик с потока вообще практически в ней 0. Продолжение темы в *п.3 Ну это было сделано недавно(где-то уже в середине версии 5.2) . До этого wifi вообще не слал информацию о трафике..Он просто искал наличие хоть какого-нибудь трифика в этой цепочке для того чтобы проверить, что клиет жив . А откуда снимать ? Можете дать пример своих скриптов ? |
Автор: | beetle [ 25 фев 2013, 18:58 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Спасибо за пояснения. Снимать с цепочки FORWARD -t filter. ip_counts.sh Код: #!/usr/bin/perl my $command = "iptables -Z -n -v -x -L FORWARD"; my $i = 0; open(PASS, $command."|") || die "Файл не найден!"; %input = (); %output = (); %all = (); while(<PASS>) { if ( $i < 2 ) { $i++; next; } if ($_ =~ /\S+\s+(\S+)\s+(?:\S+\s+){5}(\S+?)(?:\/\d+)*\s+(\S+?)(?:\/\d+)*\s+/) { $input{$3} = $1; $output{$2} = $1; $all{$2} = $1; $all{$3} = $1; } } for my $k ( keys %all ) { my $inputBytes = $input{$k} ? $input{$k} : 0; my $outputBytes = $output{$k} ? $output{$k} : 0; if ( $k != "0.0.0.0" ) { print "$k\t".$inputBytes."\t".$outputBytes."\n"; } } close(PASS); exit 0; iptables.sh Код: #!/bin/sh cd ${0%${0##*/}}. . ./conf.sh ################################### NAT TABLE /sbin/iptables -F -t nat /sbin/iptables --delete-chain $WIFI_CHAIN_NAME -t nat /sbin/iptables -N $WIFI_CHAIN_NAME -t nat #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 /sbin/iptables -A PREROUTING -t nat -p tcp --dport 80 -d $INTERNAL_IP -j REDIRECT --to-ports $PORTAL_HTTP_PORT /sbin/iptables -A PREROUTING -t nat -p tcp --dport 443 -d $INTERNAL_IP -j REDIRECT --to-ports $PORTAL_HTTPS_PORT #chain for WiFi (accept rules for authorized users) /sbin/iptables -A PREROUTING -t nat -j $WIFI_CHAIN_NAME #access for another resources x.x.x.x (forum, statistics of bgbilling and etc) /sbin/iptables -A PREROUTING -t nat -p tcp -s $WIFI_NET -d x.x.x.x -j ACCEPT #redirects for not authorized users /sbin/iptables -A PREROUTING -t nat -p tcp -s $WIFI_NET --dport 80 -j DNAT -j REDIRECT --to-ports $PORTAL_HTTP_PORT /sbin/iptables -A PREROUTING -t nat -p tcp -s $WIFI_NET --dport 443 -j REDIRECT --to-ports $PORTAL_HTTPS_PORT # NAT /sbin/iptables -A POSTROUTING -o $EXTERNAL_INTERFACE -s $WIFI_NET -j SNAT -t nat --to-source $EXTERNAL_IP ################################### FILTER TABLE /sbin/iptables -F -t filter #permit DNS y.y.y.y /sbin/iptables -A FORWARD -t filter -p udp -d y.y.y.y --dport 53 -j ACCEPT /sbin/iptables -A FORWARD -t filter -p udp -s y.y.y.y -j ACCEPT #access for another resources x.x.x.x (forum, statistics of bgbilling and etc) /sbin/iptables -A FORWARD -t filter -p tcp -d x.x.x.x -j ACCEPT /sbin/iptables -A FORWARD -t filter -p tcp -s x.x.x.x -j ACCEPT #deny all /sbin/iptables -A FORWARD -t filter -j REJECT #access SSH for z.z.z.z/z /sbin/iptables -A INPUT -t filter -p tcp ! -s z.z.z.z/z -d $EXTERNAL_IP --dport 22 -j REJECT Еще обратите внимание на проблему с дикими цифрами трафика по радиус логам с портала в мониторе модуля dialup http://forum.bgbilling.ru/viewtopic.php?p=61496#p61496. Терабайты какие-то трафика с обычного пользователя за пару минут его работы. Перловый скрипт исправно снимает байты со счетчиков правил, но биллинг как-то неверно интерпретирует. |
Автор: | stark [ 27 авг 2014, 16:32 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Спасибо за скрипты. Исправил ошибки в сборке wifi. Обсуждение есть так же тут |
Автор: | stark [ 29 авг 2014, 14:00 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
beetle писал(а): Еще обратите внимание на проблему с дикими цифрами трафика по радиус логам с портала в мониторе модуля dialup http://forum.bgbilling.ru/viewtopic.php?p=61496#p61496. Терабайты какие-то трафика с обычного пользователя за пару минут его работы. Перловый скрипт исправно снимает байты со счетчиков правил, но биллинг как-то неверно интерпретирует. Эту проблему тоже решили в этой теме |
Автор: | stark [ 10 окт 2016, 13:19 ] |
Заголовок сообщения: | Re: Проблема с wifi порталом |
Обновили скрипт инициализации iptables в дистрибутиве, перенесли фильтрующие правила из цепочки PREROUTING в цепочку FORWARD. Оказывается в прошлый раз забыли это сделать. Для версий 6.2 и выше. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |