wtyd
Активный участник-
Публикации
530 -
Зарегистрирован
-
Посещение
Все публикации пользователя wtyd
-
FreeRADIUS randomize multiple attribute
тему ответил в wtyd пользователя wtyd в Программное обеспечение, биллинг и *unix системы
Я так и хотел бы сделать, но только с октетом выдаваемого ip-адреса, не суть важно. На unlang это можно сделать ? Если да, то как ? -
FreeRADIUS randomize multiple attribute
тему ответил в wtyd пользователя wtyd в Программное обеспечение, биллинг и *unix системы
Советую не делать этого. Я делал рандомную выдачу dns - клиенты на винде сразу начинают тупить: если будут выданы другие dns или в другом порядке, то винда будет игнорить dhcp ack от сервера, что в итоге приведет к потерю клиентом лизы и нового dhcp discover. Можно сделать "псевдо" рандомно, выдавая определенным подсетям свои dns сервера, но главное всегда одни и те же. Хорошо, это аргумент, с этим согласен. Но так как у нас в радиусе есть кеширование и привязка ip-mac, то можно было бы одному и тому же адресу выдавать первый список ДНС, второму -- второй. Например, нечётным ip выдавать первый список, чётным - второй. Можно ли такое на unlang реализовать ? Не нашёл я там деления или других обычных для языка программирования операций. Через SQL этого делать не хочу :-). -
Хотим выдавать список dns рандомно для распредлеения нагрузки, т.е. на один запрос выдавать dnsip1 и dnsip2, а на следующий запрос выдавать dnsip2 и dnsip1. Есть такой конфиг: update reply { &DHCP-Domain-Name-Server[1] = 192.168.1.1 &DHCP-Domain-Name-Server[2] = 192.168.0.1 &DHCP-Subnet-Mask = 255.255.255.0 &DHCP-Renewal-Time = 86300 &DHCP-Rebinding-Time = 86330 &DHCP-IP-Address-Lease-Time = 86400 &DHCP-DHCP-Server-Identifier = 192.168.0.14 &DHCP-Relay-Circuit-Id := "%{request:DHCP-Relay-Circuit-Id}" &DHCP-Relay-Remote-Id := "%{request:DHCP-Relay-Remote-Id}" } Вот, хотелось бы рандомить &DHCP-Domain-Name-Server[1] и &DHCP-Domain-Name-Server[2]. Подскажите, как это можно сделать применительно конфига выше ?
-
ip access list на SCE
тему ответил в wtyd пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Пока не знаю, какими командами заливать что-то на SCE кроме url. url заливается так: int LineCard 0 sce-url-database import cleartext-file ftp://user:password@192.168.2.3/path/to/url.txt flavor-id 125 флавор 125 был создан через GUI. Как сделать заливку списка с запрещёнными ip, доступ к которым надо закрыть на порт 443, непонятно. Нет там команды типа sce-ip-database import ... Не подскажете команды cli в сторону которых копать ? -
ip access list на SCE
тему ответил в wtyd пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Ну я что-то даже не знаю, что сказать :-). Я в SCE не очень, я только составление списка сделал и на expect скрипт написал, а вот как SCE внутри работает, что там можно, как архитектура сделана, я этого не знаю. Я наверное ошибаюсь, но фловер тот с url на 80-ый порт навешивается, нет ? Т.е. в один флавор ещё и ойпи с портами напихать наверное нельзя, но я поэтому и спросил. Как правильно-то ? В Classification что надо выбрать ? Под Browsing это не подходит -
Хотим перенести на SCE фильтрацию ip-адресов и ssl (фильтрация по ip и портам из запретинфо, url у нас уже на SCE фильтруется) с маршрутизатора, т.к. там уже 13+ тысяч записей получается и TCAM начал ругаться. Не смогли с ходу найти аналог обычного ip access-group <acl name> in на SCE. Ну и ещё надо чтобы acl подгружался командами telnet. Т.е. есть acl (список команд), который генерит скрипт, надо его загружать на SCE чтобы тупо фильтровать по ip и портам пролетающий через SCE трафик. На expect или ещё как, url загружаем expect'ом по telnet. Подскажите, пожалуйста, как такое сделать на SCE2000 ?
-
Блокировка сайтов провайдерами
тему ответил в a-zazell пользователя wtyd в Программное обеспечение, биллинг и *unix системы
Extfilter работает на dpdk, значит все что поддерживает dpdk, работает с extfilter. Ок. Понятно. Ещё во прос: как именно extfilter блокирует url ? Шлёт tcp-rst ? В обе стороны ? Клиенту шлёт маленький html с редиректом на страничку ? 2-3 года назад, когда стало ясно, что заставят блокировать именно url, я пробовал на сурикате снимать отзеркалированный трафик и блокировать доступ отсылкой rst, но у меня не получилось -- ответ приходил раньше. Смотрел tcpdump'ом, rst отсылался и доходил до клиента, но я всёравно успевал увидеть запрашиваемый url. Это при том, что тестовый клиентский хост был всего один. В итоге я отказался от идеи работать с зеркалированным трафиком. Хотя это гораздо лучше, чем ставить что-то в разрыв сети -- всякие там не вполне адекватные SCE. И вообще, стал замечать, что после того, как провайдеры стали выполнять требования по блокировке, интернет стал работать как-то не так :-). Может быть мне это только кажется. Можно слать клиенту html ответ с редиректом, можно слать просто rst, так же можно слать rst серверу (все задается в конфиге). При правильно настроенной схеме проблем с быстрым получением ответа от фильтра не наблюдается. А как правильнее??? Да хоть как :-), главное чтобы работало. html это один пакет, rst ещё один. -
Блокировка сайтов провайдерами
тему ответил в a-zazell пользователя wtyd в Программное обеспечение, биллинг и *unix системы
Extfilter работает на dpdk, значит все что поддерживает dpdk, работает с extfilter. Ок. Понятно. Ещё во прос: как именно extfilter блокирует url ? Шлёт tcp-rst ? В обе стороны ? Клиенту шлёт маленький html с редиректом на страничку ? 2-3 года назад, когда стало ясно, что заставят блокировать именно url, я пробовал на сурикате снимать отзеркалированный трафик и блокировать доступ отсылкой rst, но у меня не получилось -- ответ приходил раньше. Смотрел tcpdump'ом, rst отсылался и доходил до клиента, но я всёравно успевал увидеть запрашиваемый url. Это при том, что тестовый клиентский хост был всего один. В итоге я отказался от идеи работать с зеркалированным трафиком. Хотя это гораздо лучше, чем ставить что-то в разрыв сети -- всякие там не вполне адекватные SCE. И вообще, стал замечать, что после того, как провайдеры стали выполнять требования по блокировке, интернет стал работать как-то не так :-). Может быть мне это только кажется. -
Блокировка сайтов провайдерами
тему ответил в a-zazell пользователя wtyd в Программное обеспечение, биллинг и *unix системы
Скажите, extfilter поддерживает все сетевые карты из списка http://dpdk.org/doc/nics или есть другой список ? -
Не выгружаются реестры РКН.
тему ответил в Pritorius пользователя wtyd в Программное обеспечение, биллинг и *unix системы
Государству нужны деньги, вы что, не патриот ? :) -
Mulicast в DGS-3120-24SC
тему ответил в wtyd пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
например так create igmp_snooping multicast_vlan_group_profile tv config igmp_snooping multicast_vlan_group_profile tv add 239.1.0.0-239.1.31.255 config igmp_snooping multicast_vlan_group mvr add profile_name tv Спасибо, будем проверять. -
Mulicast в DGS-3120-24SC
тему ответил в wtyd пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Покажите, пожалуйста, пример конфигурации для DGS-3120-24SC этого профайла. В других моделях всё несколько иначе делается. Пока не могу понять, как его навесить на влан это профайл, может быть вообще не так всё делаю ... -
Mulicast в DGS-3120-24SC
тему ответил в wtyd пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Нет, т.е. это должен быть конкретный диапазон, который обхватывает ваш плейлист. зачастую там 1-2 сетки /24, или куда реже какой-нибудь /19 (у нтв+ например). У нас я не смогу определить более узкие блоки, т.е. это конечно можно было бы сделать, но адреса каналов часто меняются и это действительно трудоёмко, т.е. пока я в этом смысла не вижу, а свичи переконфигурять скорее всего придётся все. Не проще ли сделать именно "224.0.1.0 - 239.255.255.255" ? Чем это чревато ? Да, наверное есть ещё какие-то "зарезервированные" поддиапазоны адресов мультикаста. Как поступить правильнее ? -
Mulicast в DGS-3120-24SC
тему ответил в wtyd пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Понятно ... т.е. это наверное будет диапазон "224.0.1.0 - 239.255.255.255", я правильно понимаю ? Это я взял из конфига e-core, который не помню где подсмотрел :-). Может ещё какие исключения нужны ? -
Mulicast в DGS-3120-24SC
тему ответил в wtyd пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Ок, спасибо, а как надо правильно ? filter -- значит "снупать", а forward -- не снупать ? -
Есть такой аппарат: Device Type : DGS-3120-24SC Gigabit Ethernet Switch Unit ID : 1 MAC Address : D8-FE-E3-8D-4A-20 IP Address : 192.168.1.3 (Manual) VLAN Name : default Subnet Mask : 255.255.255.0 Default Gateway : 192.168.1.1 Boot PROM Version : Build 3.00.501 Firmware Version : Build 3.10.B516 Hardware Version : B1 Firmware Type : EI Serial Number : RXXXXXXXXXX System Name : XXXXX System Location : XXXXXXXXXXXXXXXX System Uptime : 176 days, 11 hours, 21 minutes, 12 seconds System Contact : Spanning Tree : Enabled GVRP : Disabled IGMP Snooping : Enabled MLD Snooping : Disabled VLAN Trunk : Disabled Telnet : Enabled (TCP 23) Web : Enabled (TCP 80) SNMP : Enabled SSL Status : Disabled Настроен mvr, телеки показывают, всё зашибись, но есть подозрения, что свич "трогает" первую сеть класса Ц из маульикаст диапазона. Т.е. 224.0.0.0/24. Свичи не должны её "снупать", т.к. это подсеть для протоколов маршрутизации и т.п. Подозрение возникло из-за того, что OSPF в отдельном клиентском влане не работает. Можетбыть конечно дело не в этом свиче, но других подозреваемых нет, возможности снятьтрафик тоже нет. Есть два вопроса: 1. Может кто сталкивался с подобным явлением ? Что надо сделать , чтобы OSPF через длинк заработал ? 2. Вероятно, поможет обновление прошивки. Какую прошивку брать для данного коммутатора ? Т.е. я не совсем понял на счёт разновидностей свичей и прошивок. У длинка на фтп несколько каталогов: http://ftp.dlink.ru/pub/Switch/DGS-3120-24SC/ http://ftp.dlink.ru/pub/Switch/DGS-3120-24SC_B1AEI/ http://ftp.dlink.ru/pub/Switch/DGS-3120-24SC_B1ARI/ Думаю, что DGS-3120-24SC_B1AEI, но не уверен. Прошивкииз какого каталога следует использовать ? Завалить свич я не имею права :). Ещё там есть более новая мажорная версия, обычно с переходом на другую мажорную версию возникают проблемы и есть та кназываемые промежуточные прошивки. В данном случае будут проблемы с переходом или нет ? Может быть другие проблемы будут, связанные с обновлением на следующую мажорную версию (что-то переконфигурить придётся, старый конфиг не подойдёт ...)?
-
Технический контакт accton [edgecore]
тему ответил в adamanov пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Коммутаторы ES3528M(ES3552M) являются End of Life. Только критические исправления делают и то по запросу покупателей, которые 100500 их купили. Новых фич точно не будет. Если вы официально купили таких свичей меньше чем 100500, то вендор не будет рассматривать ваши пожелания -- это не относится к Вимкому, это относится к штаб-квартире ежей. Можно сделать не relay, а классический "ip dhcp snooping option 82", на 3528М это работало нормально. Вы случайно не сталкивались с ограничением кол-ва снупинговых записей на порту если на пример source guard выключен и кол-во mac-адресов ~20-40? Да, это было в какой-то документации. Если я правильно помню, то у 3528М на порт 16 биндингов (любых), если надо больше, значит у вас неправильна сеть с точки зрения вендора :-) и я с ним согласен. Надо либо подключать абонентов напрямую в 3528М (16 биндинов на одного абонента это более чем достаточно, у абонента должен быть роутер, а не свич), либо искать другой свич с бОЛьшим числом биндингов. Либо менять схему подключения и делать задачу другими методами, напрмиер, ip unnumbered + ip dhcp snooping + reverce-path-filter на цыске, которая это поддерживает, а на свичах доступа сделать изоляцию портов и castomers-vlan-per-switch .. как-то так. Или vlan-per-user ... много чего есть в этом мире :-). -
Технический контакт accton [edgecore]
тему ответил в adamanov пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Коммутаторы ES3528M(ES3552M) являются End of Life. Только критические исправления делают и то по запросу покупателей, которые 100500 их купили. Новых фич точно не будет. Если вы официально купили таких свичей меньше чем 100500, то вендор не будет рассматривать ваши пожелания -- это не относится к Вимкому, это относится к штаб-квартире ежей. Можно сделать не relay, а классический "ip dhcp snooping option 82", на 3528М это работало нормально. -
Cisco SCE и РКН
тему ответил в KsenZ пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Мы им виртуалку сделали, РКН это устроило. Было несколько раз, что они с каких-то других ip хотели зайти на виртуалку и запустить проверялку, но фаервол их не пустил. Они позвонили, мы им рассказали, что в целях безорасности и всё такое, они поняли, сказали доп. адреса и всё. Тут это ... у нас SCE почему-то раньше зашлушку показывала, а теперь не показывает :-). Было несколько апгрейдов версий firefox и chrome. Это с этим связано ? Сейчас фф пишет "соединение разорвано" (быстро такое сообщение выдаёт), в логах на сервере с заглушкой нет ip, с которого тестирую. Пащему так ? :-) -
Cisco SCE и РКН
тему ответил в KsenZ пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Пока так получилось: #!/usr/bin/perl use strict; use warnings; use utf8; # for UTF8 to work correctly ####binmode(STDOUT,':utf8'); # for removing warnings about wide chars use open ':std', ':encoding(utf-8)'; use Net::Netmask; # for ip address list aggregation use Net::IDN::Encode 'domain_to_ascii'; # convert to punycode use URL::Encode 'url_encode_utf8'; # encode national symbols to %bla-bla our $acl = "ZAPRETINFOHTTPS"; # name of ACL in cisco router (border router, not SCE) our $httpsipfile = "ACL"; #our $httpsipfile = "/home/sce/upload/$acl"; # text file with "ZAPRETINFOHTTPS" our @httpsip = (); # https disabled ips our @httpurl = (); # disabled http:// urls our @domainip = (); # ips of disabled domains our $list = {}; ## our @dumpa = (); # for Net::Netmask aggregation and ... our @dumpa2 = (); ## our $U = ""; # variable for URL # we do not use xml modules and we precess plain output from /usr/bin/xml2 # so we use flags, variables and workflow # flags and variables for workflow our $ip = 0; our $https = 0; our $domain = 0; our $t; while (<>) { # http:// url match here if ( /content\/url=http\:\/\/(.+)$/ ) { my $u = $1; $u =~ s/\:/\\\:/; push @httpurl,"http://".$u; next; } # reset flags if find new id if ( /content\/\@id=\d+$/ ) { $ip = 0; $https = 0; $domain = 0; next;} # set flags if find domain, ip or https if ( /content\/\@blockType=domain$/ ) { $domain = 1; next;} if ( /content\/\@blockType=ip$/ ) { $ip = 1; next;} if ( /content\/url=https\:/ ) { $https = 1; next;} # do actions if flags are set if ( $domain == 1 && /content\/domain=(.+)$/ ) { push @httpurl,"http://".$1."/*"; next; } if ( $domain == 1 && /content\/ip=(.+)$/ ) { push @domainip,$1; next;} if ( $ip == 1 && /content\/ip=(.+)$/ ) { push @domainip,$1; next;} if ( $https == 1 && /content\/ip=(.+)$/ ) { push @httpsip,$1 ; next; } } # Here xml is parsed and massives are filled up # open ACL file for write open(my $httpsiph, '>', $httpsipfile ); # write HEAD of ACL file (delet ACL from internal interfaces) print $httpsiph "interface Port-channel1.1\n no ip access-group $acl in\nexit\n"; print $httpsiph "interface Port-channel2.1\n no ip access-group $acl in\nexit\n"; print $httpsiph "no ip access-list extended $acl\n"; print $httpsiph "ip access-list extended $acl\n"; # Try to aggregate single ips into networks to reduse nubmber of acl records (ace-s) for($t=0;$t<=$#httpsip;++$t) { my $block = new Net::Netmask($httpsip[$t]); $block->storeNetblock( $list); } @dumpa = dumpNetworkTable($list);@dumpa2 = cidrs2cidrs(@dumpa); for($t=0;$t<=$#dumpa2;++$t) { my $block = new Net::Netmask($dumpa2[$t]); print $httpsiph " deny tcp any ",$block->base()," ",$block->hostmask()," eq 443","\n"; } @dumpa = (); @dumpa2 = (); $list = {}; for($t=0;$t<=$#domainip;++$t) { my $block = new Net::Netmask($domainip[$t]); $block->storeNetblock( $list); } @dumpa = dumpNetworkTable($list);@dumpa2 = cidrs2cidrs(@dumpa); # here we have aggregated ip-addresses of https urls in @dumpa2 # write acl rules to ACL file for($t=0;$t<=$#dumpa2;++$t) { my $block = new Net::Netmask($dumpa2[$t]); print $httpsiph " deny tcp any ",$block->base()," ",$block->hostmask()," eq 443","\n"; } @dumpa = (); @dumpa2 = (); $list = {}; # write END of ACL file and setup ACL to internal interfaces print $httpsiph " permit ip any any\n"; print $httpsiph "exit\n"; print $httpsiph "interface Port-channel1.1\n ip access-group $acl in\nexit\n"; print $httpsiph "interface Port-channel2.1\n ip access-group $acl in\nexit\n"; # close ACL file close $httpsiph; # make urls and print them to STDOUT (then use uniq for historical reasons :-)) my @sortedhttpurl = sort @httpurl; for($t=0;$t<=$#sortedhttpurl;++$t) { $U = ""; $U = $sortedhttpurl[$t]; # check for non-ASCII chars in url if($U =~ /[^!-~\s]/g) { if ($U =~ m!^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?!) { my($host,$path) = ($4,$5); chomp($host) ; chomp($path); $path =~ s/^\/// ; my($h,$p) = ( domain_to_ascii($host),url_encode_utf8($path) ); print "http://$h/$p\n"; } } else { print "$U\n"; } } Но при заливке файла с выводом этого скрипта выдаются такие ошибки: Error - Internal error, Input concatenated Key String are not valid: 195.2.252.170\:/music/%D0%9C%D0%A3%D0%A1%D0%90%20%D0%90%D0%91%D0%A3%20%D0%AE%D0%A1%D0%A3%D0%A4.html:*:* Error - Internal error, Input concatenated Key String are not valid: 195.2.252.170\:/music/%D0%9C%D1%83%D1%81%D0%B0%20%D0%90%D0%B1%D1%83%20%D0%AE%D1%81%D1%83%D1%84.html:*:* Error - Internal error, Input concatenated Key String are not valid: 27.255.83.149\:/:*:* Error - Internal error, Input concatenated Key String are not valid: 37.139.28.143\:/:*:* Опять какая-то лажа в реестре. Напрмиер, там естьтакой url: "http://37.139.28.143\:8001/" -
Cisco SCE и РКН
тему ответил в KsenZ пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Ладно, наверное пора уже весь исходник выложить. Он работает с ошибкой: time /usr/bin/xml2 < /opt/zapret-info/dump.xml | ./ziparser.pl > url3 disallowed character U+0081 at /usr/local/lib/perl/5.14.2/Net/IDN/Encode.pm line 46. real 0m3.540s user 0m3.428s sys 0m0.111s сколько-то url успевает разобрать. Это далеко не финальная версия. Запускать так: time /usr/bin/xml2 < /opt/zapret-info/dump.xml ./ziparser.pl | uniq > ./url Код ziparser.pl, засада в последнем цикле for, в самом конце: #!/usr/bin/perl use strict; use warnings; use utf8; # for UTF8 to work correctly binmode(STDOUT,':utf8'); # for removing warnings about wide chars use Net::Netmask; # for ip address list aggregation use Net::IDN::Encode 'domain_to_ascii'; # convert to punycode use URL::Encode 'url_encode_utf8'; # encode national symbols to %bla-bla our $acl = "ZAPRETINFOHTTPS"; # name of ACL in cisco router (border router, not SCE) our $httpsipfile = "ACL"; # for test #our $httpsipfile = "/home/sce/upload/$acl"; # text file with "ZAPRETINFOHTTPS" our @httpsip = (); # https disabled ips our @httpurl = (); # disabled http:// urls our @domainip = (); # ips of disabled domains our $list = {}; ## our @dumpa = (); # for Net::Netmask aggregation and ... our @dumpa2 = (); ## our $U = ""; # variable for URL # we do not use xml modules and we precess plain output from /usr/bin/xml2 # so we use flags, variables and workflow # flags and variables for workflow our $ip = 0; our $https = 0; our $domain = 0; our $t; while (<>) { # http:// url if ( /content\/url=http\:\/\/(.+)$/ ) { my $u = $1; $u =~ s/\:/\\\:/; push @httpurl,"http://".$u; next; } # reset flags if find new id if ( /content\/\@id=\d+$/ ) { $ip = 0; $https = 0; $domain = 0; next;} # set flags if find domain, ip or https if ( /content\/\@blockType=domain$/ ) { $domain = 1; next;} if ( /content\/\@blockType=ip$/ ) { $ip = 1; next;} if ( /content\/url=https\:/ ) { $https = 1; next;} # do actions if flags are set if ( $domain == 1 && /content\/domain=(.+)$/ ) { push @httpurl,"http://".$1."/*"; next; } if ( $domain == 1 && /content\/ip=(.+)$/ ) { push @domainip,$1; next;} if ( $ip == 1 && /content\/ip=(.+)$/ ) { push @domainip,$1; next;} if ( $https == 1 && /content\/ip=(.+)$/ ) { push @httpsip,$1 ; next; } } # Here xml is parsed and massives are filled up # open ACL file for write open(my $httpsiph, '>', $httpsipfile ); # write HEAD of ACL file (delet ACL from internal interfaces) print $httpsiph "interface Port-channel1.1\n no ip access-group $acl in\nexit\n"; print $httpsiph "interface Port-channel2.1\n no ip access-group $acl in\nexit\n"; print $httpsiph "no ip access-list extended $acl\n"; print $httpsiph "ip access-list extended $acl\n"; # Try to aggregate single ips into networks to reduse nubmber of acl records (ace-s) for($t=0;$t<=$#httpsip;++$t) { my $block = new Net::Netmask($httpsip[$t]); $block->storeNetblock( $list); } @dumpa = dumpNetworkTable($list);@dumpa2 = cidrs2cidrs(@dumpa); for($t=0;$t<=$#dumpa2;++$t) { my $block = new Net::Netmask($dumpa2[$t]); print $httpsiph " deny tcp any ",$block->base()," ",$block->hostmask()," eq 443","\n"; } @dumpa = (); @dumpa2 = (); $list = {}; for($t=0;$t<=$#domainip;++$t) { my $block = new Net::Netmask($domainip[$t]); $block->storeNetblock( $list); } @dumpa = dumpNetworkTable($list);@dumpa2 = cidrs2cidrs(@dumpa); # here we have aggregated ip-addresses of https urls in @dumpa2 # write acl rules to ACL file for($t=0;$t<=$#dumpa2;++$t) { my $block = new Net::Netmask($dumpa2[$t]); print $httpsiph " deny tcp any ",$block->base()," ",$block->hostmask()," eq 443","\n"; } @dumpa = (); @dumpa2 = (); $list = {}; # write END of ACL file and setup ACL to internal interfaces print $httpsiph " permit ip any any\n"; print $httpsiph "exit\n"; print $httpsiph "interface Port-channel1.1\n ip access-group $acl in\nexit\n"; print $httpsiph "interface Port-channel2.1\n ip access-group $acl in\nexit\n"; # close ACL file close $httpsiph; # make urls and print them to STDOUT (then use uniq for historical reasons :-)) my @sortedhttpurl = sort @httpurl; for($t=0;$t<=$#sortedhttpurl;++$t) { # print $sortedhttpurl[$t]."---\n"; # print "# ".$sortedhttpurl[$t]." :\n"; $U = ""; $U = $sortedhttpurl[$t]; # $U =~ /http\:\/\/(.+)(\/)?(.+)?$/; # this regex was taken from internet ... if ($U =~ m!^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?!) { my($host,$path) = ($4,$5); my($h,$p) = ( domain_to_ascii($host),url_encode_utf8($path) ); print "http://$h/$p\n"; } } -
Cisco SCE и РКН
тему ответил в KsenZ пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Да, блокируется. И как вы генерируете список для SCE? Мне осталось забороть ошибку "disallowed character U+0081 at /usr/local/lib/perl/5.14.2/Net/IDN/Encode.pm line 46. " (см. выше) и скорее всего будет всё работать. Помогите, кто в перле шарит ? -
Cisco SCE и РКН
тему ответил в KsenZ пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Скажите, вы уверены, что если в SCE загрузить ссылку вида "http://xn-----elcnyxdiedhf.xn--p1ai/%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%B0%D0%BB%D0%BA%D0%BE%D0%B3%D0%BE%D0%BB%D1%8F-503752.htm" (это http://сптр-в-орске.рф/доставка-алкоголя-503752.htm), то она заблокируется ? Т.е. вы это проверяли ? А то может я зря мучаюсь ?:-). -
Cisco SCE и РКН
тему ответил в KsenZ пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Уже ж всем эти тп-линки перепрошитые поставили... не суть. Почему это не работает? #!/usr/bin/perl use strict; use warnings; use Net::IDN::Encode ':all'; use URL::Encode ':all'; my $U = 'http://сптр-в-орске.рф/доставка-алкоголя-503752.htm'; #my $U = 'http://yandex.ru/доставка-алкоголя-503752.htm'; $U =~ /http\:\/\/(.+)\/(.+)$/; print "$1\n"; print "$2\n\n"; my $domain = domain_to_ascii($1); my $url = url_encode_utf8($2); print "$domain\n"; print "$url\n"; Выдаёт: сптр-в-орске.рф доставка-алкоголя-503752.htm disallowed character U+0081 at /usr/local/lib/perl/5.14.2/Net/IDN/Encode.pm line 46. Я уже пару часов ищу рабочий пуникодер на перле ... -
Cisco SCE и РКН
тему ответил в KsenZ пользователя wtyd в Активное оборудование Ethernet, IP, MPLS, SDN/NFV...
Да какая разница, что там открывается или нет и куда резовится ? Главное, чтобы проверялки РКН делали отчёт со статусом "ок". Но "ок" всёравно никогда не будет, хотя бы потому, что операторы блокируют по xml документу, который они получают самостоятельно, а провреялки проверяют по какому-то другому документу, который 100% будет получен в иное время и скорее всего будет отличаться. И вообще, мы отвлеклись от темы :-). Как нормализовать url ?