mousus Опубликовано 26 июля, 2012 · Жалоба при отрицательном балансе биллинг успешно авторизует пользователя и выдаёт ему ипешник из специального серого пула адресов. Требуется при попытке пользователя открыть какой либо сайт показать ему страничку, на которой написано про его отрицательный баланс. В качестве BRAS применяется Cisco ASR1000 биллинг не поддерживает ISG, по какой технологии целесообразнее реализовать данную задачу? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 26 июля, 2012 · Жалоба PBR, роутить эту подсеть на какой-нибудь сервер (можно в виртуалке), там -j REDIRECT на локальный nginx, который отдает Temporary Redirect. Таким образом обходится cache poisoning браузера юзера. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mousus Опубликовано 26 июля, 2012 (изменено) · Жалоба сделал, почти заработало, сможете поделиться строчкой из конфига nginx, которой редирект делаете? при такой конфигурации server { listen 10.0.0.3:81 default rcvbuf=8192 sndbuf=16384 backlog=32000 accept_filter=httpready; server_name localhost; access_log off; rewrite ^ http://host.su/uri permanent; } таки происходит cache poisoning ((( Изменено 26 июля, 2012 пользователем mousus Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
agr Опубликовано 26 июля, 2012 · Жалоба permanent попробуйте убрать, он говорит, что перенаправление должно быть постоянное. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mousus Опубликовано 26 июля, 2012 (изменено) · Жалоба всё получилось)) если кому то надо то вот решение: interface Virtual-Template1 ... ip policy route-map blocked-users-rm ... access-list 110 deny ip any host BILLING-HOST access-list 110 deny ip any host SITE-HOST access-list 110 permit tcp 10.0.10.0 0.0.1.255 any eq www route-map blocked-users-rm permit 10 match ip address 110 set ip next-hop 10.0.0.3 на узле 10.0.0.3: ipfw add 100 fwd 10.0.0.3,81 tcp from 10.0.10.0/23 to any 80 via vlan7 конфиг nginx: server { listen 10.0.0.3:81 default rcvbuf=8192 sndbuf=16384 backlog=32000 accept_filter=httpready; server_name localhost; access_log off; rewrite ^ http://host.su/uri ; } Изменено 26 июля, 2012 пользователем mousus Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 26 июля, 2012 · Жалоба mousus, Именно так. Правда, у меня после URL-а еще redirect стоит. Еще вот такое перед rewrite есть: if ( $http_user_agent ~ ^uTorrent ) { return 404; } if ( $http_user_agent ~ Windows-Update-Agent ) { return 404; } if ( $http_user_agent ~ "Microsoft NCSI" ) { return 404; } if ( $http_user_agent ~ "ESS Update" ) { return 404; } if ( $http_user_agent ~ "Google Update" ) { return 404; } if ( $http_user_agent ~ "Microsoft-CryptoAPI" ) { return 404; } if ( $http_user_agent ~ "Microsoft BITS" ) { return 404; } if ( $http_user_agent ~ MSDW ) { return 404; } if ( $http_user_agent ~ ^SeaPort ) { return 404; } if ( $http_user_agent ~ ^Windows-Media-Player ) { return 404; } if ( $http_user_agent ~ "Google Update" ) { return 404; } if ( $http_user_agent ~ ^GoogleEarth ) { return 404; } if ( $http_user_agent ~ ^Skype ) { return 404; } if ( $http_user_agent = "MailRuSputnik" ) { return 404; } if ( $http_user_agent ~ ^Ya\.Online ) { return 404; } if ( $http_user_agent ~ ^MRA ) { return 404; } if ( $http_user_agent ~* ^MediaGet ) { return 404; } if ( $http_user_agent ~ ^BTWebClient ) { return 404; } # Avast updater if ( $http_user_agent ~ ^Syncer ) { return 404; } # Trend Micro updater if ( $http_user_agent = "TMUFE" ) { return 404; } if ( $http_user_agent ~ ^Akamai\ NetSession\ Interface ) { return 404; } if ( $http_user_agent ~ ^VKSaver ) { return 404; } if ( $http_user_agent ~ DrWebUpdate ) { return 404; } if ( $http_user_agent = "" ) { return 404; } if ( $host ~ geo\.kaspersky\.com ) { return 404; } if ( $host ~ (su|download|webrep).*\.avast\.com ) { return 404; } if ( $host = wi2geo.mobile.yandex.net ) { return 404; } if ( $host ~ bar.*\.yandex\.ru ) { return 404; } if ( $host ~ (ping|master)\d*\.(dyngate|teamviewer)\.com ) { return 404; } if ( $host ~ sitecheck\d*\.opera\.com ) { return 404; } if ( $host ~ (xml\.my|mailsputnik|maps)\.mail\.ru ) { return 404; } if ( $host = onlineconfigservice.ubi.com ) { return 404; } if ( $host = com-services.pandonetworks.com ) { return 404; } if ( $host ~ ticno\.com ) { return 404; } if ( $host ~ conduit ) { return 404; } if ( $host ~ cbox\.ws ) { return 404; } if ( $host ~ (pricelist|metrics)\.skype\.com ) { return 404; } if ( $host = weather.service.msn.com ) { return 404; } if ( $host = advstat.letitbit.net ) { return 404; } if ( $host = skymonk.net ) { return 404; } if ( $host ~ counter ) { return 404; } if ( $request_uri ~* (update|feed|announce|rss|xml|json|oauth) ) { return 404; } if ( $request_uri ~* (toolbar|suggest) ) { return 404; } if ( $request_filename ~ \.(ico|gif|jpg|png) ) { return 404; } if ( $request_filename ~ \.(css|xml|js|swf|flv) ) { return 404; } if ( $request_filename ~ \.(crl|txt|cab|msi|jar) ) { return 404; } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snark Опубликовано 16 августа, 2012 · Жалоба interface Virtual-Template1 ... ip policy route-map blocked-users-rm ... access-list 110 deny ip any host BILLING-HOST access-list 110 deny ip any host SITE-HOST access-list 110 permit tcp 10.0.10.0 0.0.1.255 any eq www route-map blocked-users-rm permit 10 match ip address 110 set ip next-hop 10.0.0.3 wccp c ACL + oops разрулят это в автоматическом режиме. Приятное то, что на проксе сможете именами хостов сказать куда можно ходить, а куда нельзя. Для страницы-заглушки можно сделать как-нить так: server { listen 80 default; server_name localhost; root /path/to/error/page/docroot; access_log /dev/null; error_log /dev/null; add_header Cache-Control no-store; add_header Last-Modified "Thu, 01 Jan 1970 00:00:01 GMT"; expires epoch; location / { index index.html; error_page 400 401 403 404 500 501 502 503 504 = @rewrite; } location @rewrite { rewrite ^.*$ /index.html break; } } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
letnab Опубликовано 24 января, 2015 (изменено) · Жалоба Всем добрый день. У меня точно такая же задача. При отрицательном балансе, выдаётся ip сети 172.17.0.0/16 .. interface Virtual-Template1 ip policy route-map blocked ... access-list 101 permit ip 172.17.0.0 0.0.255.255 any Route-map blocked permit 5 match ip address 101 set ip next-hop 172.17.0.100 На серваке поднят апач со строничкой index.html.Но после получения ip из данной сети, он не переходит на него. Что я сделал не так? Изменено 24 января, 2015 пользователем letnab Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 24 января, 2015 · Жалоба Отлично, вы подменяете нексхоп, но сервер-то не готов к такому трафику. На самом сервере нужно сделать iptables ... DNAT/REDIRECT(самый простой способ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
letnab Опубликовано 24 января, 2015 · Жалоба Отлично, вы подменяете нексхоп, но сервер-то не готов к такому трафику. На самом сервере нужно сделать iptables ... DNAT/REDIRECT(самый простой способ) Не поможете примером, или где про это можно почитать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 24 января, 2015 · Жалоба это делается примерно так: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 80 или iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-port 10.1.1.1:80 где eth0 - интерфейс куда приходит трафик с вашей cisco, 10.1.1.1 принадлежит самому веб-серверу (вешается на лупбек или ещё куда-нибудь) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
letnab Опубликовано 24 января, 2015 · Жалоба Спасибо большое. Попробую. Отпишу по результатам. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
letnab Опубликовано 26 января, 2015 · Жалоба Что то пока не получается. Делаю tracert первый хоп стоит адрес который висит на interface Loopback0, дальше ни одного хопа... Что не так? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wheely Опубликовано 27 января, 2015 · Жалоба Некстхоп там зачем? Если должникам выдается ип из пула 172.17.0.0/16, тогда iptables -t nat -A PREROUTING -s 172.17.0.0/16 -p tcp -j DNAT --to-destination 10.10.10.10:80 Где 10.10.10.10 - айпишник сервака со страничкой index.html. В конфиге веб-сервера - реврайт отовсюду на index.html, либо ErrorDocument 404 /index.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
letnab Опубликовано 27 января, 2015 · Жалоба Некстхоп там зачем? Если должникам выдается ип из пула 172.17.0.0/16, тогда iptables -t nat -A PREROUTING -s 172.17.0.0/16 -p tcp -j DNAT --to-destination 10.10.10.10:80 Где 10.10.10.10 - айпишник сервака со страничкой index.html. В конфиге веб-сервера - реврайт отовсюду на index.html, либо ErrorDocument 404 /index.html Я понимаю, а где это тогда реализовать? На каком сервере? Я смотрел в сторону DNS. стоит bind. Но как?! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wheely Опубликовано 27 января, 2015 · Жалоба Некстхоп там зачем? Если должникам выдается ип из пула 172.17.0.0/16, тогда iptables -t nat -A PREROUTING -s 172.17.0.0/16 -p tcp -j DNAT --to-destination 10.10.10.10:80 Где 10.10.10.10 - айпишник сервака со страничкой index.html. В конфиге веб-сервера - реврайт отовсюду на index.html, либо ErrorDocument 404 /index.html Я понимаю, а где это тогда реализовать? На каком сервере? Я смотрел в сторону DNS. стоит bind. Но как?! На роутере своем. Ессно, команда для ната будет другая, если у вас не софтроутер, а железка. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
letnab Опубликовано 27 января, 2015 · Жалоба Некстхоп там зачем? Если должникам выдается ип из пула 172.17.0.0/16, тогда iptables -t nat -A PREROUTING -s 172.17.0.0/16 -p tcp -j DNAT --to-destination 10.10.10.10:80 Где 10.10.10.10 - айпишник сервака со страничкой index.html. В конфиге веб-сервера - реврайт отовсюду на index.html, либо ErrorDocument 404 /index.html Я понимаю, а где это тогда реализовать? На каком сервере? Я смотрел в сторону DNS. стоит bind. Но как?! На роутере своем. Ессно, команда для ната будет другая, если у вас не софтроутер, а железка. у меня cisco стоит как концентратор. По мимо этого на чём можно сделать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hsvt Опубликовано 20 марта, 2015 (изменено) · Жалоба Вопрос по поводу серого пула айпи для так называемой гостевой сети, необходмо выдавать в IPoE сети не зарегистрированным абонентам. Сетки разделены на сегменты с vlan per switch. Как советуете поделить сети для гостевых пулов ? Адреса взяли из нового rfc6598 100.64.0.0/10. Выделить общий гостевой пул например 100.1.0.0/16 для всех не привязанных юзеров или лучше для каждого VLAN свою сеть (100.1.0.0/24, 100.1.1.0/24, 100.1.2.0/24) чтобы саппорт знал откуда звонит юзер по его ip адресу? И дальше уже что то типа fwd 127.0.0.1,8080 tcp from 100.1.0.0/24, 100.1.1.0/24, 100.1.2.0/24 to any dst-port 80,443 Изменено 20 марта, 2015 пользователем hsvt Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vop Опубликовано 20 марта, 2015 · Жалоба Чего-то не получается. Разве 100.1.0.0/16 входит в 100.64.0.0/10? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hsvt Опубликовано 20 марта, 2015 (изменено) · Жалоба Чего-то не получается. Разве 100.1.0.0/16 входит в 100.64.0.0/10? Смысл не в этом, наверное не правильно выразился, я написал в общем, что за адресное пространство была взята сеть из 100.64/10, а конкретно из неё /15 уже для NAT. Вопрос именно в том как лучше выделить теперь сети\сеть для не авторизованных клиентов. Изменено 20 марта, 2015 пользователем hsvt Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vop Опубликовано 20 марта, 2015 · Жалоба Вопрос именно в том как лучше выделить теперь сети\сеть для не авторизованных клиентов. Ну можно приватные сетки выбрать для не авторизованных. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hsvt Опубликовано 23 марта, 2015 · Жалоба Вопрос именно в том как лучше выделить теперь сети\сеть для не авторизованных клиентов. Ну можно приватные сетки выбрать для не авторизованных. Да, согласен. Я про это и спрашиваю какие сетки лучше взять для не авторизованных и как их поделить. По сегментно /24 или общий /16 ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vop Опубликовано 23 марта, 2015 · Жалоба Да, согласен. Я про это и спрашиваю какие сетки лучше взять для не авторизованных и как их поделить. По сегментно /24 или общий /16 ? Ну, так это уже как удобнее. Можно и 10.0.0.0/8 попилить по /24. Просто, ежели не авторизованных ожидается относительно не очень много, то и делать большие сети нет особого смысла. PS Я бы тем, у кого нет авторизации, вообще раздавал бы ipv6. Заодно и тренинг хороший. :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mrsaygo Опубликовано 8 апреля, 2015 (изменено) · Жалоба PBR, роутить эту подсеть на какой-нибудь сервер (можно в виртуалке), там -j REDIRECT на локальный nginx, который отдает Temporary Redirect. Таким образом обходится cache poisoning браузера юзера. Скажите, а проявление этого всего - долгое открытие страниц? Сейчас так : $IPTABLES -m set -t nat -A PREROUTING -p TCP --dport 80 --match-set setdisallow src -j DNAT --to-destination 192.168.1.1:80 на 192.168.1.1 крутится lighttpd. Для 80 порта наблюдаю иногда подтормаживания и не пойму причину. Изменено 8 апреля, 2015 пользователем mrsaygo Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
No_name Опубликовано 28 октября, 2015 · Жалоба В связи с постепенным переходом на https, как в таком случае реализовать перенаправление? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...