В настоящее время у меня есть маршрутизатор CISCO, и я хотел бы настроить ACL, который будет разрешать только DNS-серверы Google и блокировать все остальные, если они настроены на клиенте.
У меня есть следующий ACL, но он не применяется правильно и позволяет использовать другие DNS-серверы вместо Google.
ACLS
access-list 101 permit udp any host 8.8.8.8 eq 53
access-list 101 permit udp any host 8.8.4.4 eq 53
access-list 101 deny udp any any eq 53
access-list 101 permit ip any any
Что мне не хватает?
Заранее спасибо :)
Вы определили свой ACL, однако не показываете, к каким интерфейсам вы его применили. ACL без применения его к интерфейсу не имеет никакого эффекта. Ссылаться на
В основном вы хотите
interface ethernet 0
ip access-group 101 out
Замените свой Ethernet 0 на свой тип и номер интерфейса.
Ваш список доступа должен быть применен для входящего трафика на интерфейсах LAN. Это расширенный ACL, который следует применять как можно ближе к источнику. Это должно выглядеть примерно так:
interface GigabitEthernet0/0
description LAN interface
ip access-group 101 in
У вас также есть проблема в том, что вы блокируете только DNS через UDP, в то время как DNS также должен поддерживать TCP. RFC 5966, DNS Transport over TCP - Требования к реализации поясняет тот факт, что DNS должен поддерживать TCP:
Поэтому в этом документе обновляются основные спецификации протокола DNS, так что поддержка TCP отныне является ОБЯЗАТЕЛЬНОЙ частью полной реализации протокола DNS.
Вероятно, вам нужно что-то вроде этого:
access-list 101 permit udp any host 8.8.8.8 eq 53
access-list 101 permit udp any host 8.8.4.4 eq 53
access-list 101 deny udp any any eq 53
access-list 101 permit tcp any host 8.8.8.8 eq 53
access-list 101 permit tcp any host 8.8.4.4 eq 53
access-list 101 deny tcp any any eq 53
access-list 101 permit ip any any
Размещение указанного ACL, входящего в маршрутизатор из локальной сети, заблокирует любые DNS-запросы от входа в маршрутизатор, если они не предназначены для 8.8.8.8
или 8.8.4.4
.