Тип контенту
Профили
Форум
Календарь
Все, що було написано Demid
-
а перенаправление должников работает?
-
кэширующий поднимите да и все
-
а у юзера может firewall не пропускать
-
уже организовано, Bandwidthd
-
${FwCMD} add 65533 deny all from table\(2\) to any via ${LAN_IF} ${FwCMD} add 65534 deny all from any to table\(2\) via ${LAN_IF} вроде так должно быть
-
firewall.conf
-
так ручками и написал, просто подумал туплю, или еще что...
-
что то запарился, есть 29 подсеть на абонентов, прописана везде. Например 10.69.76.240/29. В модуле dhcp сервер, конфиги правильно создаются, а при выборе услуги ип начинается присваиваться с 10.69.76.241/29, который является шлюзом, и должен быть под него зарезирвирован, или что то не так понял?
-
Интеграция кабинета пользователя в joomla
тема ответил в NET-CREATOR пользователя Demid в Stargazer Ubilling
во во, проще натянуть шаблон. так и сделали -
ну если бы не кусок апдейтера, я бы не полез в ${APACHE_DATA_PATH}${UBILLING_PATH}/content/
-
да, косяк, симлинк прощелкал
-
понятно, только после вызова fullhostscan информация в файле приводится к виду "alive"
-
на всех юзверей , а если без изменений, то ipfw: need a pipe/flowset/sched number тоже на всех лог user login:058026 normal mark: user tariff:FTTh_5000_NEW normal speed:alive new speed:5120
-
Пффф. https://github.com/nightflyza/Ubilling/blob/master/docs/dshaper/dnswitch.php#L149 Воткните себе следующей строкой что-то типа $up_mark=$normal_mark-18000; // (или сколько у вас там смещение в OnConnect?) dshape_SwitchSpeed($new_speed,$up_mark,$shape_interface,$shape_method,$speed_size); и живите щастливо. Отжились почему то, после изменений ipfw: bad command `-18101'
-
wrong data input: SELECT `rbs_requests`.`id` AS `id`, `rbs_requests`.`code` AS `code`, `rbs_requests`.`requestStatus` AS `requestStatus`, `rbs_requests`.`requestComment` AS `requestComment`, `rbs_requests`.`requestTime` AS `requestTime`, `rbs_requests`.`isUrgent` AS `isUrgent`, `rbs_results`.`resultStatus` AS `resultStatus`, `rbs_results`.`resultStatusCode` AS `resultStatusCode`, `rbs_results`.`resultComment` AS `resultComment`, `rbs_results`.`resultTime` AS `resultTime` FROM `rbs_requests` LEFT JOIN `rbs_results` ON `rbs_results`.`requestID` = `rbs_requests`.`id` ORDER BY `rbs_requests`.`id` DESC LIMIT 25
-
Динамический шейпер не запускается из cron
тема ответил в abonent1000 пользователя Demid в Stargazer Ubilling
копать в сторону правильного времени срабатывания, "время от" и "время до" и crontab рута находится там же где и все остальные в /var/cron/tabs, а в /etc/crontab находится системный -
Фильтрация по спискам запрещенных сайтов Роскомнадзора России
тема ответил в cskkl64 пользователя Demid в Stargazer Ubilling
Редирект на squid # тридцать третья табличка - zapret.info. Она должна блокироваться бай дефолт на внутреннем интерфейсе. IP 1.1.1.1 адрес сервера со squid ${FwCMD} add 3 fwd 1.1.1.1, 3128 tcp from table\(10\) to table\(33\) dst-port 80 via bce0 ${FwCMD} add 4 fwd 1.1.1.1, 3129 tcp from table\(10\) to table\(33\) dst-port 443 via bce0 squid.conf http_port 1.1.1.1:9090 http_port 1.1.1.1:3128 intercept https_port 1.1.1.1:3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/etc/squid/ssl/squidCA.pem sslproxy_flags DONT_VERIFY_PEER sslproxy_cert_error allow all always_direct allow all ssl_bump server-first all ssl_bump client-first all ssl_bump none all sslproxy_cert_error allow all sslproxy_flags DONT_VERIFY_PEER sslcrtd_program /usr/local/libexec/squid/ssl_crtd -s /var/squid/ssl_db -M 4MB icp_port 0 hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? cache deny QUERY acl apache rep_header Server ^Apache cache_mem 1 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 1 KB maximum_object_size_in_memory 50 KB cache_replacement_policy heap LFUDA cache_dir ufs /var/squid/cache 1 1 1 no-store logfile_rotate 7 dns_nameservers 8.8.8.8 hosts_file /etc/hosts refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 quick_abort_min 0 KB quick_abort_max 0 KB half_closed_clients off acl purge method PURGE acl CONNECT method CONNECT acl SSL_ports port 443 acl Safe_ports port 80 acl Safe_ports port 443 # https acl Safe_ports port 1025-65535 # unregistered ports http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access allow all http_reply_access allow all icp_access allow all cache_mgr admin@isp.com memory_pools off log_icp_queries off cachemgr_passwd q1w2e3r4 all client_db off buffered_logs on redirect_program /usr/local/etc/squid/redirector.pl url_rewrite_children 20 startup=10 idle=1 concurrency=0 /usr/local/etc/squid/redirector.pl #!/usr/bin/perl use IO::Handle; use POSIX qw(strftime); use POSIX qw(setsid); my $db_path = "/var/db/zapret-info"; my $block_url = "http://1.1.1.2"; # адресс страницы заглушки my $log_file = "/var/log/squid/redirector.log"; $0 = 'redirect' ; $| = 1 ; my @banners ; my @X ; my $serial =0; sub _log { my $log_str = shift; my $now_str = strftime "%d-%m-%Y %H:%M:%S", localtime; printf(FLOG "[%s] %s\n", $now_str, $log_str); } sub _rule_refresh { open(SER ,"${db_path}/serial"); read(SER,$num,6); close(SER); if (length($num)==0) { $num=0; } if ($num > $serial) { _log("Reading file ${db_path}/zapretinfo_url serial ${num}"); open (IN_FILE, "${db_path}/zapretinfo_url") || die $!; my @tmp_data = <IN_FILE>; chomp @tmp_data; @banners=(); push @banners, map { qr /\Q$_\E/ } grep { ! /^\s*$/ } @tmp_data; close(IN_FILE); $serial=$num; } } $SIG{INT} = \&_rule_refresh; open(FLOG, ">>${log_file}"); $| = 1 ; FLOG->autoflush(1); _log("Redirector started."); while (<>) { chomp ; @X = split ; ($url, $who, $ident, $method) = @X ; _rule_refresh ; $url = $block_url if grep ($url=~/$_/i, @banners) ; print "$url \n" ; } _log("Redirector exited."); close(FLOG); exit 0; xml-parser.pl #!/usr/bin/perl use XML::Simple; use Data::Dumper ; use Encode ; use URI::Escape; use Text::Iconv; $db_path='/var/db/zapret-info/' ; $simple=XML::Simple->new( KeepRoot=>1, RootName=>'reg:register' ); $xml=$simple->XMLin($db_path.'dump/dump.xml'); my %list = %{$xml->{'reg:register'}->{'content'}}; open(FURL, ">${db_path}zapretinfo_url"); sub _url { eval { $url=shift; $url=~s/ //g; $url=uri_escape_utf8($url, "^A-Za-z0-9\-\._~:/\?\=\&\%"); print(FURL $url."\n"); } } while ( my($key, $value) = each %list) { my $domain=$value->{'domain'} ; my $ip=$value->{'ip'} ; my $url=$value->{'url'} ; my $etype=$value->{'entryType'} ; if(ref($url) eq 'ARRAY'){ my @url_list=@{$url}; foreach $url (@url_list) { _url($url); } } else { _url($url); } } close(FURL); open(SER ,"${db_path}/serial"); read(SER,$serial,6); close(SER); if (length($serial)==0) { $serial=0; } $serial+=1; open(SER ,">${db_path}/serial"); printf(SER "%06d",$serial); close(SER); exit 0; zapretinfo.sh #!/bin/sh /usr/bin/perl -w download.pl cat /var/db/zapret-info/dump/dump.xml | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq > /var/db/zapret-info/zapretinfo_ip /sbin/ipfw -q table 33 flush cat /var/db/zapret-info/zapretinfo_ip | while read ip; do /sbin/ipfw -q table 33 add $ip done /usr/bin/perl xml-parser.pl создаем squidCA.pem mkdir /usr/local/etc/squid/ssl cd /usr/local/etc/squid/ssl openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squidCA.pem -out squidCA.pem chmod 444 squidCA.pem инициализируем сертификатную базу данных /usr/local/libexec/squid/ssl_crtd -c -s /var/squid/ssl_db -
Фильтрация по спискам запрещенных сайтов Роскомнадзора России
тема ответил в cskkl64 пользователя Demid в Stargazer Ubilling
зато бесплатно) -
Фильтрация по спискам запрещенных сайтов Роскомнадзора России
тема ответил в cskkl64 пользователя Demid в Stargazer Ubilling
ну и заглушка <!DOCTYPE html><html><head><meta charset=utf-8 /><title>Доступ ограничен</title><style>html,body{min-height:100%;height:100%!important;margin:0;padding:0;color:#000}body{font:12px Arial,Helvetica,sans-serif;background:#fff}.box{position:relative;height:100%;min-height:100%;width:850px;margin:0 0 0 11%}.head{height:96px;margin:0 10px}.main{padding:0 0 0 70px}h1{margin:10px 0 40px;font-size:24px;font-weight:normal}p{margin:0 0 10px}.list{list-style-type:none;padding:0 0 0 10px;margin:0 0 10px}.list li{line-height:1.4;margin:0 0 10px}.list li:before{content:'\2014';padding-right:10px}a,a:visited,a:hover{color:#009edb;text-decoration:none}a img{border:0;outline:0}</style></head><body><div class=box><div class=head></div><div class=main> <h1><strong>Уважаемые пользователи!<br/><br/>Мы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.</strong></h1> <p><b>Возможные причины ограничения доступа:</b></p><ol><li>Доступ ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации.</li><br/> <li>Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в <a target="_blank" href="http://eais.rkn.gov.ru/">Единый Реестр</a> доменных имен, указателей страниц сайтов сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено.<br/> <br/>Проверить наличие сетевого адреса в Едином реестре можно в разделе «Просмотр реестра» на сайте <a target="_blank" href="http://eais.rkn.gov.ru/">eais.rkn.gov.ru</a>.</li><br/><li>Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в <a target="_blank" href="http://nap.rkn.gov.ru/reestr/">Реестр</a> доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространяемую с нарушением исключительных прав.<br/><br/>Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте <a target="_blank" href="http://nap.rkn.gov.ru/reestr/">nap.rkn.gov.ru/reestr</a>.</li><br/><li>Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в <a target="_blank" href="http://398-fz.rkn.gov.ru/">Реестр</a> доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие призывы к массовым беспорядкам, осуществлению экстремистской деятельности, участию в массовых (публичных) мероприятиях, проводимых с нарушением установленного порядка.<br/><br/>Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте <a target="_blank" href="http://398-fz.rkn.gov.ru/">398-fz.rkn.gov.ru</a>.</li><br/></ol> </div></div></body></html> -
Фильтрация по спискам запрещенных сайтов Роскомнадзора России
тема ответил в cskkl64 пользователя Demid в Stargazer Ubilling
В свете давних изменений давно поменялся скрипт download.pl #!/usr/bin/perl -w use strict; use SOAP::Lite; use MIME::Base64; use Sys::Syslog qw(:DEFAULT setlogsock); use POSIX qw(strftime); # XXX dirty!!! binmode STDOUT, ':utf8'; binmode STDERR, ':utf8'; my $BASE = "/var/db/zapret-info"; my %n; ($n{sec},$n{min},$n{hour},$n{mday},$n{mon},$n{year},$n{wday},$n{yday}, $n{isdst}) = localtime(time()); $n{year}+=1900; $n{mon}++; $n{mon}=~s/^(\d)$/0$1/; $n{mday}=~s/^(\d)$/0$1/; $n{hour}=~s/^(\d)$/0$1/; $n{min}=~s/^(\d)$/0$1/; $n{sec}=~s/^(\d)$/0$1/; my $dt="$n{year}-$n{mon}-$n{mday}T$n{hour}:$n{min}:$n{sec}.000+04:00"; my $dd="$n{year}$n{mon}$n{mday}$n{hour}"; my $service = SOAP::Lite->service("http://vigruzki.rkn.gov.ru/services/OperatorRequest/?wsdl"); my $reqfn = "$BASE/request-$dd.xml"; my $binfn = "$BASE/request-$dd.bin"; my $xmlreqfn = "$BASE/cfg/request.xml"; my $certfn = "$BASE/cfg/cert.pem"; my $dfv = "2.0"; my $request="" ; open (XML, "<$xmlreqfn"); while (<XML>) { $request .= $_; } close (XML); die "Resuest template not found in $xmlreqfn." if (length($request)==0); open (XMLREQ, ">$reqfn") or die "Can't create new request"; print XMLREQ "<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n"; print XMLREQ "<request>\n\t<requestTime>$dt</requestTime>\n"; print XMLREQ $request; print XMLREQ "</request>"; close XMLREQ; system ("/usr/local/bin/openssl smime -sign -in $reqfn -out $binfn". " -signer $certfn -outform DER -nodetach"); open XMLREQ, "<$reqfn" or die "Can't open $reqfn"; my $xmlreq = do { local $/ = undef; <XMLREQ>; }; close XMLREQ; open XMLREQSIG, "<$binfn" or die "Can't open $binfn"; my $xmlreqsig = do { local $/ = undef; <XMLREQSIG>; }; close XMLREQSIG; my @sendresult = $service->sendRequest( $xmlreq, $xmlreqsig, $dfv ); if ($sendresult[0] eq 'false') { mylog("error request $sendresult[1]"); } elsif ($sendresult[0] eq 'true') { open (CODESTRING, ">$BASE/codestring"); print CODESTRING $sendresult[2]; close CODESTRING; mylog("sent request $binfn: $sendresult[1]"); }; if (-e "$BASE/codestring") { open CODESTRING, "$BASE/codestring"; my $codestring = <CODESTRING>; close CODESTRING; my $cnt = 0; while(1) { my @getresult = $service->getResult($codestring); if ($getresult[0] eq 'false') { mylog ("$getresult[1]"); sleep 60; } elsif ($getresult[0] eq 'true') { my $outarch = decode_base64($getresult[1]); open (OUT, ">$BASE/out.zip"); print OUT $outarch; close OUT; unlink "$BASE/codestring"; if (-e "$BASE/out.zip") { system("/bin/mv $reqfn $BASE/arch/"); system("/bin/mv $binfn $BASE/arch/"); system("/bin/cp $BASE/out.zip $BASE/arch/out-$dt.zip"); system("/usr/bin/unzip -o $BASE/out.zip -d $BASE/dump"); unlink "$BASE/out.zip"; mylog ("Done. Everything seems to be ok."); exit 0; }; mylog("Shouldn't reach. DEBUG ME!!!"); exit 255; } else { mylog ("getresult is unknown"); exit 255; }; $cnt++; if ($cnt>30) { mylog ("too much tries, bailing out"); exit 255; } }; # notreached } else { mylog ("codestring file not found"); }; sub mylog { my $logstring = $_[0]; my($now_string); $now_string = strftime "%d-%m-%Y %H:%M:%S", localtime; print(STDERR $now_string." ".$logstring."\n"); }; Так же изменили скрипт zapretinfo.sh, что бы не дергал ipfw постоянно: #!/bin/sh /usr/bin/perl -w download.pl cat /var/db/zapret-info/dump/dump.xml | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq > /var/db/zapret-info/zapretinfo_ip /sbin/ipfw -q table 33 flush cat /var/db/zapret-info/zapretinfo_ip | while read ip; do /sbin/ipfw -q table 33 add $ip done Так же удаляем из firewall.conf следующие строки: cat /var/db/zapret-info/zapretinfo_ip | while read ip; do ${FwCMD} table 3 add $ip done -
У вас время "от" получается меньше времени "до". Должно быть от 06:59 до 15:10 или типа того. Поскольку время текущего периода определяется максимально тупо и прямолинейно в виде: ЩАС > время_от а также ЩАС < время_до спасибо, разобрался, а нет реализации для варианта down + up (оборзел совсем )
-
не работает динамический шейпер, голову уже всю сломал
-
Ubilling 0.6.1 rev 3952 атрибут Framed-IP-Address = ethost[ip, уводит авторизацию в ошибку, если указать конкретный ип, то все норм разобрался, кривые руки
-
DHCP + firewall.conf (FreeBSD 9.2 x64) пару вопросов
тема ответил в Chvalov пользователя Demid в Stargazer Ubilling
или дать доступ с 1 отпределенного ип в фаерволе и ручками выставлять на момент подключения -
По хорошему addons.php для languages должен поверху редефайнить локализацию. учтемс
