Списки доступа на роутере Сisco работают и строятся также как
правил фильтрации в популярном IPFW или IPF на базе FreeBSD. Правила читаются в
пордке следования и как только находится соот- ветствие шаблону маршрут пакета
определяется этип правилом. Вы можете создавать списки доступа в глобальном
конфиге (командой access list) а затем закрепить какой либо список за любым
интерфейсом. Можно создать следующие списки доступа : Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
<1100-1199> Extended 48-bit MAC address access list
<200-299> Protocol type-code access list
<700-799> 48-bit MAC address access listВот полный синтактис команды
: access-list номер_списка permit/deny протокол исходный_адрес порт
целевой_адрес порт
Синтактис расширеного списка мы рассмотрим на примере строчки
списка разрешающей работать по протоколу SMTP всем сотрудникам компании : Номер расширенного списка берем произвольный, 110 :
Router(config)#access-list 110 ?
deny Specify packets to reject
permit Specify packets to forward
Разрешаем прохождение пакетов :
Router(config)#access-list 110 permit ?
<0-255> An IP protocol number
eigrp Cisco's EIGRP routing protocol
gre Cisco's GRE tunneling
icmp Internet Control Message Protocol
igmp Internet Gateway Message Protocol
igrp Cisco's IGRP routing protocol
ip Any Internet Protocol
ipinip IP in IP tunneling
nos KA9Q NOS compatible IP over IP tunneling
ospf OSPF routing protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
Вводим протокол :
Router(config)#access-list 110 permit tcp ?
A.B.C.D Source address
any Any source host
host A single source hostВводим исходный адрес (в нашем примере
"any" означает любой хост или сеть) : Router(config)#access-list 110 permit tcp any ?
A.B.C.D Destination address
any Any destination host
eq Match only packets on a given port number
gt Match only packets with a greater port number
host A single destination host
lt Match only packets with a lower port number
neq Match only packets not on a given port number
range Match only packets in the range of port numbers
Вводим целевой адрес :
Router(config)#access-list 110 permit tcp any any ?
eq Match only packets on a given port number
established Match established connections
gt Match only packets with a greater port number
log Log matches against this entry
lt Match only packets with a lower port number
neq Match only packets not on a given port number
precedence Match packets with given precedence value
range Match only packets in the range of port numbers
tos Match packets with given TOS value
Указываем что мы хотим только один критерий - номер порта равный
smtp (eq) : Router(config)#access-list 110 permit tcp any any eq ?
<0-65535> Port number
bgp Border Gateway Protocol (179)
chargen Character generator (19)
cmd Remote commands (rcmd, 514)
daytime Daytime (13)
discard Discard (9)
domain Domain Name Service (53)
echo Echo (7)
exec Exec (rsh, 512)
finger Finger (79)
ftp File Transfer Protocol (21)
ftp-data FTP data connections (used infrequently, 20)
gopher Gopher (70)
hostname NIC hostname server (101)
irc Internet Relay Chat (194)
klogin Kerberos login (543)
kshell Kerberos shell (544)
login Login (rlogin, 513)
lpd Printer service (515)
nntp Network News Transport Protocol (119)
pop2 Post Office Protocol v2 (109)
pop3 Post Office Protocol v3 (110)
smtp Simple Mail Transport Protocol (25)
sunrpc Sun Remote Procedure Call (111)
syslog Syslog (514)
tacacs TAC Access Control System (49)
talk Talk (517)
telnet Telnet (23)
time Time (37)
uucp Unix-to-Unix Copy Program (540)
whois Nicname (43)
www World Wide Web (HTTP, 80)И вводим порт smtp (можно было
ввести и "25) : Router(config)#access-list 110 permit tcp any any eq smtpТеперь
вводим остальные строчки списка доступа под наши задачи. Разрешаем работу с POP3
серверами сотрудникам компании : access-list 110 permit tcp any any eq pop3Включаем доступ на наш
прокси сервер (200.200.200.2) на 8080 порту access-list 120 permit tcp 200.200.200.0 0.0.0.255 host 200.200.200.2 eq 8080
access-list 110 permit tcp host 200.200.200.2 anyНа нашем прокси сервер мы
настраиваем Squid на кеширование запросов от сотрудников по FTP и HTPP
протоколам но не даем сотрудникам доступ напрямую в WWW cерверам . Разрешаем
весь трафик в локальной сети (по стандартному списку доступа) : access-list 10
permi ip 200.200.200.0 0.0.0.255 200.200.200.0 0.0.0.255
Если вам необходимо разделить доступ по отделам компании то вы
можете применяя маску подсети оперировать трафиком в локальной сети, напрмер
доступ к серверу бухгалтерии 200.200.200.50 должны иметь только отдел
бухгалтерии (200.200.200.48 255.255.255.240) и руководство компании
(200.200.200.224 255.255.255.240) : access-list 110 permi ip 200.200.200.48 0.0.0.240 200.200.200.224 0.0.0.240Если
вы планируете ограничение трафика средствами серверов то вы должны разрешить
весь IP трафик в локальной сети (применяя стандартный список доступа) : access-list 10 permit 200.200.200.0 0.0.0.255 200.200.200.0 0.0.0.255После
того как вы разберетесь с доступом и составите полный список access-list -ов вы
должны сделать их привязку к интерфесу, в нашем случае Ethernet 0 : Router#configure terminal
Router(config)#int e0
! Разрешаем входящий трафик на прокси сервер
Router(config)#access-group 120 in
! Разрешаем исходящий трайик от прокси сервера и
Router(config)#access-group 110 in
! Разрешаем весь локальный трафик
Router(config)#access-group 10 in
Router(config)#exit
Router#wr memКак вы заметили, мы указываем правилам фильтрации выполняться
на e0 интерфейсе для всех входящих пакетов.
|