Страница заглушка для заблокированных абонентов
Страница заглушка для заблокированных абонентов
Добрый день, коллеги.
Подскажите что делаю не так, требуется создать страницу заглушку для абонентов с системной блокировкой.
Блокированному абоненту выдаю IP из отдельного пула 10.100.0.0/16
В роли нас выступает cisco с радиус авторизацией.
на ней создал route-map:
route-map blocked permit 10
match ip address 110
set ip next-hop 192.168.115.30
прикрутил к темплейту
interface Virtual-Template1
mtu 1492
ip unnumbered Loopback10
ip flow ingress
ip nat inside
ip virtual-reassembly in
ip policy route-map blocked
autodetect encapsulation ppp
peer default ip address pool PPPoE
ppp max-bad-auth 3
ppp authentication chap radius
ppp authorization radius
ppp accounting radius
ppp ipcp dns 192.168.115.30
ppp timeout retry 3
ppp timeout authentication 45
создал правило в списке доступа:
access-list 110 permit tcp 10.100.0.0 0.0.255.255 any eq www log
на юниксе (192.168.115.30), где планирю разместить страницу
прописал такое правило в iptables:
iptables -t nat -A PREROUTING -d 192.168.115.30 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 81
Если обращаюсь напрямую на этот хост, то вижу страницу-заглушку, однако, если обращаюсь на любой другой хост:
Ошибка Веб-страница недоступна.
Подскажите что делаю не так, требуется создать страницу заглушку для абонентов с системной блокировкой.
Блокированному абоненту выдаю IP из отдельного пула 10.100.0.0/16
В роли нас выступает cisco с радиус авторизацией.
на ней создал route-map:
route-map blocked permit 10
match ip address 110
set ip next-hop 192.168.115.30
прикрутил к темплейту
interface Virtual-Template1
mtu 1492
ip unnumbered Loopback10
ip flow ingress
ip nat inside
ip virtual-reassembly in
ip policy route-map blocked
autodetect encapsulation ppp
peer default ip address pool PPPoE
ppp max-bad-auth 3
ppp authentication chap radius
ppp authorization radius
ppp accounting radius
ppp ipcp dns 192.168.115.30
ppp timeout retry 3
ppp timeout authentication 45
создал правило в списке доступа:
access-list 110 permit tcp 10.100.0.0 0.0.255.255 any eq www log
на юниксе (192.168.115.30), где планирю разместить страницу
прописал такое правило в iptables:
iptables -t nat -A PREROUTING -d 192.168.115.30 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 81
Если обращаюсь напрямую на этот хост, то вижу страницу-заглушку, однако, если обращаюсь на любой другой хост:
Ошибка Веб-страница недоступна.
все равно не работает:
[root@gsbind ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 81
[root@gsbind ~]# iptables -L -t nat -v --line-numbers
Chain PREROUTING (policy ACCEPT 23 packets, 1373 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 REDIRECT tcp -- eth0 any anywhere anywhere tcp dpt:http redir ports 81
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
[root@gsbind ~]# iptables -L -n -v --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 4798 1165K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
3 159 9658 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
4 1 52 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
6 50 2600 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:81
7 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:53
8 187 12360 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:53
9 13 1292 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 5347 packets, 5459K bytes)
num pkts bytes target prot opt in out source destination
Попробуйте в каталоге страницы-заглушки создать файл .htaccess
со следующим содержанием:
со следующим содержанием:
Код: Выделить всё
AddDefaultCharset UTF-8
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.htm [NC,L]
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond $1 !^(index\.htm|src|w|robots\.txt)
Решение не претендует на супер, родилось почти на скорую руку и пока устраивает.
Я сделал так.
на cisco 720х:
У кого минус получают IP из пула (в настройках радиуса UTM указываектся название пула для заблокированных юзеров):
ip local pool Users_Blocked 10.0.0.2 10.0.3.254
ip access-list extended BLOCKED_USERS
permit tcp 10.0.0.0 0.0.3.255 any eq www
deny ip any any
!
route-map RM_BLOCKED_USERS permit 10
match ip address BLOCKED_USERS
set ip next-hop A.B.C.D
!
interface Virtual-Template1
ip policy route-map RM_BLOCKED_USERS
!
Далее на серверве A.B.C.D на nginx настраиваем на 81 порт и пишем прокси-пасс на личку либо на заглушку (использую сейчас).
Личка и заглушка на одном серваке.
правило в iptables :
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 81
При пропытке открыть сайт, юзер видит инфо, что нужно бежать и платить.
Я сделал так.
на cisco 720х:
У кого минус получают IP из пула (в настройках радиуса UTM указываектся название пула для заблокированных юзеров):
ip local pool Users_Blocked 10.0.0.2 10.0.3.254
ip access-list extended BLOCKED_USERS
permit tcp 10.0.0.0 0.0.3.255 any eq www
deny ip any any
!
route-map RM_BLOCKED_USERS permit 10
match ip address BLOCKED_USERS
set ip next-hop A.B.C.D
!
interface Virtual-Template1
ip policy route-map RM_BLOCKED_USERS
!
Далее на серверве A.B.C.D на nginx настраиваем на 81 порт и пишем прокси-пасс на личку либо на заглушку (использую сейчас).
Личка и заглушка на одном серваке.
правило в iptables :
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 81
При пропытке открыть сайт, юзер видит инфо, что нужно бежать и платить.
да, попадают, но матчей напротив www почему то нетуmaxxsoft писал(а):Для начала надо посмотреть, попадают ли какие нибудь виаксессы в полисинг:
show ip policy
Extended IP access list 110
10 permit tcp 10.100.0.0 0.0.255.255 any eq www log
20 permit tcp 10.100.0.0 0.0.255.255 any eq domain
30 permit udp 10.100.0.0 0.0.255.255 any eq domain (770 matches)
telecom#sh ip policy
Interface Route map
Vi3 blocked
Vt1 blocked
sh route-map blockedCBuilder писал(а):Покажите еще раз вывод:
sh route-map blocked
sh ip access-lists 110
sh run interface Virtual-Template1
sh ip access-lists 110telecom#sh route-map blocked
route-map blocked, permit, sequence 10
Match clauses:
ip address (access-lists): 110
Set clauses:
ip next-hop 192.168.115.30
Policy routing matches: 5303 packets, 295130 bytes
sh run interface Virtual-Template1telecom#sh ip access-lists 110
Extended IP access list 110
10 permit tcp 10.100.0.0 0.0.255.255 any eq www log
20 permit tcp 10.100.0.0 0.0.255.255 any eq domain
30 permit udp 10.100.0.0 0.0.255.255 any eq domain (881 matches)
telecom#sh run interface Virtual-Template1
Building configuration...
Current configuration : 421 bytes
!
interface Virtual-Template1
mtu 1492
ip unnumbered Loopback10
ip flow ingress
ip nat inside
ip virtual-reassembly in
ip policy route-map blocked
autodetect encapsulation ppp
peer default ip address pool PPPoE
keepalive 4 2
ppp max-bad-auth 3
ppp authentication chap radius
ppp authorization radius
ppp accounting radius
ppp ipcp dns 192.168.115.30
ppp timeout retry 3
ppp timeout authentication 45
end
У вас пакеты не попадаю в acl. Вот вывод с моего браса:
c7201#sh route-map RM_BLOCKED_USERS
route-map RM_BLOCKED_USERS, permit, sequence 10
Match clauses:
ip address (access-lists): BLOCKED_USERS
Set clauses:
ip next-hop 192.168.*.11
Policy routing matches: 114101 packets, 13367655 bytes
c7201#sh access-lists BLOCKED_USERS
Extended IP access list BLOCKED_USERS
10 permit tcp 10.0.0.0 0.0.3.255 any eq www (22573 matches)
20 permit tcp 10.0.0.0 0.0.3.255 any eq 443 (91531 matches)
30 deny ip any any (2807700444 matches)
c7201#
Если жестоко, то нужно включать дебаг пакетов и смотреть на предмет попадания в acl, только осторожно не рекомендуется делать удаленно, можно повесить роутер.
Самое простое, попробуйте именованный список содать, например как у меня:
ip access-list extended BLOCKED_USERS
А IOS у вас какой? Случалось, что обновление решало проблемы.
c7201#sh route-map RM_BLOCKED_USERS
route-map RM_BLOCKED_USERS, permit, sequence 10
Match clauses:
ip address (access-lists): BLOCKED_USERS
Set clauses:
ip next-hop 192.168.*.11
Policy routing matches: 114101 packets, 13367655 bytes
c7201#sh access-lists BLOCKED_USERS
Extended IP access list BLOCKED_USERS
10 permit tcp 10.0.0.0 0.0.3.255 any eq www (22573 matches)
20 permit tcp 10.0.0.0 0.0.3.255 any eq 443 (91531 matches)
30 deny ip any any (2807700444 matches)
c7201#
Если жестоко, то нужно включать дебаг пакетов и смотреть на предмет попадания в acl, только осторожно не рекомендуется делать удаленно, можно повесить роутер.
Самое простое, попробуйте именованный список содать, например как у меня:
ip access-list extended BLOCKED_USERS
А IOS у вас какой? Случалось, что обновление решало проблемы.
Спасибище огромное. Получилось.CBuilder писал(а): Самое простое, попробуйте именованный список содать, например как у меня:
ip access-list extended BLOCKED_USERS
А IOS у вас какой? Случалось, что обновление решало проблемы.
расширенный лист помог.
ios = Cisco IOS Software, C3900 Software (C3900-UNIVERSALK9-M), Version 15.1(3)T, RELEASE SOFTWARE (fc1)