Xpoint
   [напомнить пароль]

Интернет::Телематика и маршрутизация - F.A.Q.

Где можно что-то почитать про Cisco?
UniverCD, идущий в поставке. http://www.cisco.com и http://www-europe.cisco.com
Где взять свежий IOS ?
Бета версии лежат на ftp://ftpeng.cisco.com/isp P.S. Вообщем-то IOS не бесплатен. Подробнее об этом можно почитать на Cisco
Что такое NetFlow?
NetFlow - система сбора статистики, точнее говоря, этот инструмент, который позволяет знать всё о текушем трафике, кто, куда и от куда и зачем полез в сеть. Подробнее об этом можно почитать на Cisco http://www.cisco.com/warp/public/732/netflow Программы для сборки и обработки статистики NetFlow. http://www.auckland.ac.nz/net/NeTraMet http://www.caida.org/Tools/Cflowd На этих же сайтах есть еще ссылки, но эти - кажется самые популярные. Есть еще http://www.ipmeter.com (биллинг) нужен NeTraMet. Примеры конфигурации - http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/120newft/120t/120t3/policyrt.htm там же ссылки на дополнительную документацию.
Dialout service for unix.
Под Win'95/3.x/NT проблема решается при помощи http://www.cisco.com/univercd/cc/td/doc/product/access/dialout/index.htm
Обратный звонок с Cisco в Windows
Hа Cisco 2511: version 11. service exec-callback ... aaa authentication login execcheck tacacs+ aaa authentication ppp ppp_list tacacs+ ... interface Async2 ip unnumbered Ethernet0 ip tcp header-compression passive encapsulation ppp async mode interactive peer default ip address x.x.x.x ppp callback initiate ppp authentication chap ppp_list .... line 2 autoselect during-login autoselect ppp script modem-off-hook offhook script callback idc login authentication execcheck modem InOut transport input all escape-character NONE callback forced-wait 30 callback nodsr-wait 10000 stopbits 1 rxspeed 57600 txspeed 57600 flowcontrol hardware ..... Hа сервере где tacacs+: В файле tacacs.config user= mylogin { global = cleartext "xxxxxxxxxx" service=ppp protocol = lcp { callback-dialstring = 388888 } service=ppp protocol=ip { } service=exec { callback-dialstring = 388888 callback-line=2 nocallback-verify=1 } }
Как связать две cisco по Е1?
Конфиг пpимеpно следующий (одинаковый в случае 5300 & 3600): controller E1 ZZZ linecode hdb3 | framing CRC4 | Эти два паpаметpа зависят от каналообp. обоpудования clock source line primary | Hа 3600 есть только в 12.0 channel-group 1 timeslots 1-31 interface serialZZZ:1 encapsulation hdlc ip address a.b.c.d x.y.z.t ip route 0.0.0.0 0.0.0.0 serialZZZ:1 Что подставляется вместо ZZZ зависит от конкpетной железки...
Рекомендации по access-lists для защиты от атак из интернета.
Некоторые рекомендации и соображения. aaa.bbb.ccc.ddd, naa.nbb.ncc.ndd - соответственно свои сеть и маска. wba.wbb.wbc.wbd - wildcard bits ВНИМАНИЕ !!! в access-list используется не netmask, а wildcard bits. Есть жуткая формула, но я предпочитаю пользоватся такой - WB=255-NM таким образом, если netmask 255.255.255.0 в access-list пишется 0.0.0.255 ! deny all RFC1597 & default no access-list 101 access-list 101 deny ip host 0.0.0.0 any access-list 101 deny ip 10.0.0.0 0.255.255.255 any access-list 101 deny ip 127.0.0.0 0.255.255.255 any access-list 101 deny ip 172.16.0.0 0.15.255.255 any access-list 101 deny ip 192.168.0.0 0.0.255.255 any ! deny ip spoofing access-list 101 deny ip aaa.bbb.ccc.ddd wba.wbb.wbc.wbd any ! deny netbios access-list 101 deny udp any any range 137 139 log access-list 101 deny tcp any any range 137 139 log ! deny Back-Orifice access-list 101 deny udp any any eq 31337 log ! deny telnet access-list 101 deny tcp any any eq telnet log ! deny unix r-commands and printer, NFS, X11, syslog. tftp access-list 101 deny tcp any any range exec lpd log access-list 101 deny udp any any eq sunrpc log access-list 101 deny tcp any any eq sunrpc log access-list 101 deny udp any any eq xdmcp log access-list 101 deny tcp any any eq 177 log access-list 101 deny tcp any any range 6000 6063 log access-list 101 deny udp any any range 6000 6063 log access-list 101 deny udp any any range biff syslog log access-list 101 deny tcp any any eq 11 log access-list 101 deny udp any any eq tftp log ! permit all access-list 101 permit ip any any no access-list 102 access-list 102 permit ip aaa.bbb.ccc.ddd wba.wbb.wbc.wbd any access-list 102 deny ip any any int XXX ip access-group 101 in ip access-group 102 out
Пример access-list'а ( надо закрыть для доступа извне во внутреннюю сеть все порты - оставить только возможность работы по http и e-mail) Cisco - 1601
Итак. Есть две стратегии по установке аксесс-листов: 1. Закрыть все опасное, открыть все остальное. 2. Открыть все нужное, закрыть все остальное. Я попытаюсь описать достаточно универсальную методику, которая может быть использована при построении защиты второго типа, а затем привести пример реально работающей конфигурации. Сразу хочу сказать, что все ниженаписаное - это чисто мое IMHO. Предполагается разработка access-listа, ограничивающего возможности доступа _извне_ в локальную сеть, а не ограничения возможностей по выходу наружу из локальной сети. Итак. Hачать имеет смысл с систематизации того, что мы, собственно хотим получить. Для этого предлагаю выстроить следующую таблицу: ! ! ! ! ! !www !mail!ftp!binkd! и так далее - здесь перечиляем сервисы ! ! ! ! !доступ к которым мы хотим предоставить ! ! ! ! !пользователям "извне" !----!----!---!-----!---------------------------------------www.qq.ru ! X ! ! ! ! relay.qq.ru ! ! X ! ! ! ftp.qq.ru ! ! ! X ! ! any ! ! ! ! X ! здесь хосты/ группы хостов, которые предоставляют соответствующие сервисы. Порядок расположения хостов в таблице важен. Есть два правила: a. Общие определения необходимо располагать как можно ниже. То есть host 10.0.1.1/32 должен быть расположен _выше_ чем subnet 10.0.1.0/24. Соответственно в самую последнюю строчку пишется что-то типа any. b. В случае, если по правилу a. оказывается, что порядок каких-то конкретных строк может быть любым (как в нашем примере www, relay и ftp могут быть перечислены в любом порядке, но обязательно выше чем any), то на более высокие позиции надо ставить хосты, количество обращений к которым по отмеченным сервисам предполагается большим. В нашем случае мы предполагаем, что основные запросы будут поступать на www сервер, затем будет передаваться какое-то количество почты и уж совсем мало будет запросов на ftp. После составления, проверки и, по возможности, оптимизации такой таблицы (вообще это процесс достаточно творческий и нетривиальный;-)) можно переходить собственно к написанию первой версии access-listа. Первая версия будет практически калькой нашей таблицы. ip access-list extended Firewall permit tcp any host www.qq.ru eq www permit tcp any host relay.qq.ru eq smtp permit tcp any host ftp.qq.ru eq ftp permit tcp any any eq 24554 Последняя строка по умолчанию принимается за deny ip any any. Фактически, построение первой версии access-listа закончено. Что мы делаем, чтобы продолжать развивать этот access-list? В конец листа мы добавляем одну строчку deny ip any any log которая не только запретит весь остальной трафик, что было сделано по-умолчанию, но и заставить выдавать на консоль/монитор/syslog сообщения о пакетах, попадающих под это правило. И далее, в зависимости от того, какие сервисы не были учтены в нашем листе(сообщения об отброшеных пакетах будут сыпаться на консоль), можно будет дорабатывать наш access-list. Вот примеры сообщений: %SEC-6-IPACCESSLOGP: list firewall denied tcp xxx.xxx.xx.xx(1418) -> %xxx.xxx.xxx.xx(23), 1 packet %SEC-6-IPACCESSLOGP: list firewall denied udp xxx.xxx.xxx.xxx(4000) -> %xxx.xxx.xxx.xx(1038), 1 packet %SEC-6-IPACCESSLOGP: list firewall denied udp xxx.xxx.xxx.xxx(53) -> %xxx.xxx.xxx.xx(1041), 1 packet %SEC-6-IPACCESSLOGP: list firewall denied udp xxx.xxx.xxx.xxx(53) -> %xxx.xxx.xxx.xx(1044), 1 packet %SEC-6-IPACCESSLOGP: list firewall denied udp xxx.xxx.xxx.xxx(53) -> %xxx.xxx.xxx.xx(1047), 1 packet %SEC-6-IPACCESSLOGP: list firewall denied udp xxx.xxx.xx.xx(49869) -> %xxx.xxx.xxx.xx(33456), 1 packet %SEC-6-IPACCESSLOGP: list firewall denied udp xxx.xxx.xx.xx(49869) -> %xxx.xxx.xxx.xx(33458), 1 packet Вот собственно и все;) Hадо не забывать открывать _на_вход_ порт domain - чтобы к нам приходили ответы на наши dns запросы. active ftp - это вообще отдельная песня. Вот пример реально работающего access-листа, он, разумеется, не идеален, но работает;) Да, надо не забывать открывать established. После знака ; - мой комментарии. =================== ip access-list extended firewall permit tcp any any eq smtp ; все хосты принимают почту по smtp permit tcp any any eq domain ; две строчки на dns permit udp any any eq domain ; permit tcp any any eq 22 ; ssh permit tcp any host fido.qq.ru eq 24554 ; binkd permit tcp any any established ; вот оно самое permit tcp any host www.qq.ru eq www ; www-сервера permit tcp any host images.qq.ru eq www permit tcp any host www.qq.ru range 8100 8104 ; для руской кодировки permit tcp any host images.qq.ru range 8100 8104 permit udp any any eq ntp ; все машины могут получать время с внешних ntp permit tcp any any range 40000 44999 ; уже не помню для чего:-(( permit tcp any any eq ident permit icmp any any permit tcp any eq ftp-data any gt 1024; для active-ftp deny ip any any log ===================
Dynamic ACL
You can use timed access-lists in IOS 12.x You will need the router to synch to a clock source for accuracy though.. for example: int ser0/0 ip access-group 101 in ! access-list 101 remark --FOR THE QUAKE 3 PLAYERS AT THE OFFICE-- access-list 101 permit udp any any range 27850 27999 time-range lunchtime access-list 101 deny any any ! time-range lunchtime periodic weekdays 12:00 to 14:00 periodic weekend 00:00 to 23:59 ! ntp source loopback0 ntp server
Как разрешить заходить на cisco телнетом только с определенных хостов?
access-list 11 permit host 192.168.1.1 line vty 0 4 access-class 11 in
Как зажать исходящий ftp-трафик ?
Для Active-FTP
access-list 115 permit tcp host 123.123.123.123 eq ftp-data any gt 1023
Для Passive-FTP
access-list 115 permit tcp host 123.123.123.123 any eq ftp\n
Как сделать traffic-shape на tun ?
кусок рабочего конфига от 4000. interface Tunnel1 ip address xxx.xxx.xxx.xxx 255.255.255.252 tunnel source aaa.aaa.aaa.aaa tunnel destination bbb.bbb.bbb.bbb ! interface Ethernet0 ip address aaa.aaa.aaa.aaa 255.255.255.224 secondary traffic-shape group 122 32000 8000 8000 1000 ! no access-list 122 access-list 122 permit ip host aaa.aaa.aaa.aaa host bbb.bbb.bbb.bbb access-list 122 deny ip any any
Как зажать входящий трафик?
При входе поможет policyroute, если ресурсов процессора хватит. Еще добавлю что до 11.2(где-то 12~13) traffic-shap криво затыкается и не шейпит. access-list 180 описывает тpаффик, котоpый надо шейпить interface Loopback1 ip address 192.168.11.1 255.255.255.255 traffic-shape rate 64000 ! interface Serial0 ip policy route-map incoming-packets ! access-list 180 permit ip any 192.168.1.0 0.0.0.255 ! route-map incoming-packets permit 10 match ip address 180 set interface Loopback1
Bandwith, queue
Основным параметром, который влияет на распределение полосы пропускания при custom queuing, является byte-count. queue length на это дело влияет мало. Итак. Допустим, у нас есть такой вот queue-list: c4000-m#sh queueing custom Current custom queue configuration: List Queue Args 1 1 byte-count 6000 1 2 byte-count 3000 1 3 byte-count 4500 Остальные очереди по 1500. Понятно, что напрямую bandwith для каждой из очередей не задается. Заполнение очередей, понятно, происходит на основании каких-то критериев, которые я в данном случае не учитываю. Дальше, мы начинаем обходить все 17 очередей начиная с нулевой - 1. Передаем 1500 байт из очереди 0 (если там есть пакеты) 2. Передаем 6000 байт из очереди 1 3. Передаем 3000 байт из очереди 2 4. Передаем 4500 байт из очереди 3 5. Передаем 1500 байт из очереди 4 ..... 17. Передаем 1500 байт из очереди 16 Допустим, что мы используем для нашего трафика только первые 4 очереди - в остальные очереди трафик никогда не попадает. Соответвтсенно, в среднем за один цикл будет передано S=1500(q0)+6000(q1)+3000(q2)+4500(q3)+1500(q4)=16500 байт Соответственно, под Q0 будет выделено B0=1500/16500~=9% BW B1~=36% BW B2~=18% BW B3~=28% BW B4~=9% BW То есть реальную полосу пропускания поделят пропорционально используемые очереди. Соответственно, реальный bandwith по каждой очереди задается с помощью параметра byte-count, но indirectly, так как он зависит от числа используемых реально очередей и от пропускной способности интерфейса. Данные значения, разумеется, будут верны только при достаточно серьезном усреднении. Связано это с тем, что если byte-count исчерпывается в процессе передачи пакета, пакет все равно передается до конца - то есть реальная занимаемая полоса будет больше. Все, что написано выше - не более чем некие теоретические выкладки при работе в идеальных условиях. Реально все эти значения надо подбирать, анализируя средний размер пакета и не только;)
Как зажать фтп?
interface Serial2/0 description xxx XXX ip address aaa.bbb.ccc.ddd 255.255.255.0 no ip route-cache no ip mroute-cache bandwidth 128 ipx network B021 ipx accounting priority-group 2 traffic-shape group 191 32000 8000 8000 1000 ! access-list 191 permit tcp any any eq ftp access-list 191 permit tcp any any eq ftp-data priority-list 2 protocol ip medium list 101 priority-list 2 protocol ipx low priority-list 2 protocol ip high tcp telnet priority-list 2 protocol ip high udp snmp priority-list 2 protocol ip high tcp echo priority-list 2 protocol ip high udp echo
OSPF, RIP
router ospf 10 redistribute connected metric 1 subnets route-map only_public_net redistribute static metric 1 subnets route-map only_public_net redistribute rip network 194.186.108.0 0.0.0.63 area 0 ! router rip version 2 redistribute connected route-map only_public_net redistribute static route-map ony_public_net redistribute ospf 10 metric 4 redistribute ospf 200 metric 4 network 194.186.108.0 neighbor 194.186.108.10 neighbor 194.186.108.138 ! Разумеется, стоит ip classless и ip subnet-zero.
Есть два канала к провайдерам, есть две сетки, как сделать, что бы каждая сеть ходила по своему каналу?
policy-routing, пример есть на CD. Для примера ( в очень простом случае ) access-list 110 permit ip aaa.aaa.aaa.0 0.0.0.255 any access-list 111 permit ip bbb.bbb.bbb.0 0.0.0.255 any route-map XXXX permit 10 match ip address 110 set default interface Serial 0 route-map XXXX permit 20 match ip address 111 set default interface Serial 1 int eth 0 ip policy route-map XXXX
Есть статический маршрyт: ip route 0.0.0.0 0.0.0.0 Serial 0/0 Как мне исключить его из ospf'ных анонсов?
1. Убрать default-information originate always, или заменить его на default-information originate , если таки нужно его куда-то анонсить 2. Отфильтровать ;) distribute-list out [interface name] access-list permit 0.0.0.0 0.0.0.0
что такое stubby areas и в каких случаях их введение оправдано?
В цисках есть три типа тупиковых арий - stub, totally stub, Not-so-stubby. Stub - это такая ария, роутерам в которой не нужно знать, куда кидать пакеты, предназначенные external адресам. Заметим - только external, т.е. тем, которые сами редистрибьютятся в домен оспф. Вместо этих анонсов ASBR будет выкидывать дефолт маршрут для посылки на него соответствующих пакетов. Если такая ария имеет несколько выходов в бэкбон, то каждый ASBR бужет слать свой дефолт. От Вас зависит, какой из них рассматривать первым, а какой - вторым. Это делается, ясное дело, метрикой по команде на ASBR: area 1 default-cost где ария 1 - типа stub. Все остальные маршруты, приходящие из других арий, кроме external будут анонсироваться. Totally stub и Not-so-stubby - это специфические цисочные прилады, помогающие фильтровать также анонсы маршрутов из других арий типа interdoman (totally stub), однако, только в том случае, если в этой тотально тупиковой арии нет ни одного external маршрута. Чтобы преодолеть последнее ограничение, арию можно сделать типа NSSA (начиная с версии 11.3). В последних случаях в арию вообще будет анонсироваться только дефолт по команде default-information originate. Так же, как и в предыдущем случае, ASBRов может быть несколько.
Где взять tacas-plus/radius в исходниках?
ftp://ftpeng.cisco.com/pub/tacacs оригинальный оригинальный от Cisco (ls там не работает, сначала get README, потом get то, что нужно) ls там работает не во всех каталогах. ftp://ftp.east.ru/pub/inet-admins - патченный на предмет разных вкусностей ftp://ftp.vsu.ru/pub/hardware/cisco/tacacs - и еще пропатченный pppd теперь отдельно от tac+ia, но рядом - tacpppd
Где взять TACACS+ под NT?
http://www.radtac.com http://www.nttacplus.com NTTacPlus2 (демоверсия доступна для скачивания) Radius Tacacs+ Available for Windows NT 4.0 and Windows 95/98 Работает с ODBC (Access97), предупреждает e-mail'ом об окончании лимита, может быть backup-сервером, работать с несколькими CISCO, ведет группы по привилегиям и т.д. Полная версия за деньги или на варезах ;)))
Как ограничить число запросов cisco на login?
conf t; tacacs-server attempts N
Как снимать/считать статистику по интерфейсам ?
Скрипт: #!/bin/sh #[skip] rsh -l loger cisco.domain.adr clear ip accounting rsh -l loger cisco.domain.adr sh ip accounting checkpoint #[skip до конца скрипта :-)] 2) Hа cisco сказать следующие команды: username specloger privilege 8 password 0 plane_text_password ! Пароль зашифруется и через password 7 показываться будет по sh ru ip rcmd rsh-enable ip rcmd remote-host loger REMOTE_IP_ADDRESS REMOTE_USER_NAME enable 8 privilege exec level 8 show ip accounting checkpoint privilege exec level 1 show ip privilege exec level 8 clear ip accounting включить бы еще no ip rcmd domain-lookup /usr/bin/rsh cisco clear ip accounting /usr/bin/rsh cisco sh ip accounting checkpoint > `/bin/date +"%Y%m%d%H%M"` /usr/bin/rsh cisco clear ip accounting checkpoint
Как заменить "Username:" на "login:" ?
Существует 2 варианта: 1. В tac+ia можно переопределить этот prompt. 2. aaa authentication username-promt
rsh cisco show version получаю что-то типа Undefined error
debug ip tcp rcmd
не работает aaa authentication banner "..." при использовании tacacs или radius для аутентикации
tacacs.conf (tac+ia-0.9x) group = fido { after authorization "/usr/local/tacplus/emsi $user $port" login = none service = exec { } } user = \*\*EMSI_INQC816 { member = fido } user = \*\*EMSI_INQC816q { member = fido } user = \*\*EMSI_INQC816\*\*EMSI_INQC816q. { member = fido } cat /usr/local/tacplus/emsi #!/bin/sh if [ "X$2X" = "Xtty3X" ] then echo noescape=true echo autocmd="telnet host_1 60179 /stream" else echo noescape=true echo autocmd="telnet host_2 60179 /stream" fi exit 2
Как при аутентикации на радиусе пользователю назначить in-out ip access-list на его интерфейсе ?
Framed-Filter-Id="blabla.in" Framed-Filter-Id="blabla.out"
Powered by POEM™ Engine Copyright © 2002-2005