Первоначальная настройка Cisco Catalyst. Шаблон базовой настройки маршрутизатора Cisco


Как говорят в народе: Дела идут, контора пишет.

Постепенно и у нас начались движения по приведению сети компании к нормальному виду. Постепенно все филиалы будут завязаны в единую локальную сеть, будут установлены нормальные коммутаторы, в нашем случае это Cisco Catalyst 2950.

Соответственно сегодня о первоначальной настройке данной железки:

в Windows можно использовать Hiper Terminal для подключения к com порту

1. Зададим пароль на enable режим

Switch> enable

Switch# configure terminal

Switch(config)# enable password my-secret-password

2. Установим пароль для входа по telnet

Switch(config)# line vty 0 15

Switch(config-line)#password my-telnet-password

3. Сразу разрешим вход по telnet

Switch(config-line)# login

Switch(config)# exit

4. Зашифруем пароли, чтобы по sh run они не показывались в открытом виде

Switch(config)# service password-encryption

5. Зададим имя девайсу, например c2950

Switch(config)# hostname c2950

6. присвоим IP-адрес нашему девайсу (в некоторых управляемых коммутаторах, ip уже присутствует по умолчанию, какой он? Обычно прописано в мануале).

c2950(config)# interface vlan 1

c2950(config-if)# ip address 192.168.1.2 255.255.255.0

c2950(config-if)# exit

7. Если вы ошибетесь при наборе чего либо в консоле, то циска начнет пытаться это отрезолвить, чем заставляет вас ждать, выключим эту фичу

c2950(config)# no ip domain-lookup

8. Зададим имя домена

c2950(config)# ip domain-name my-domain.ru

9. Зададим IP-адрес DNS сервера

c2950(config)# ip name-server 192.168.1.15

10. Зададим время

если у вас есть доступный NTP сервер (в моем случае это контроллер домена, но в последствии планируем сделать отдельный NTP сервер).

c2950(config)# ntp server 192.168.10.1 version 2 source vlan 1

c2950(config)# ntp clock-period 36029056

c2950(config)# ntp max-associations 1

где 192.168.10.1 - это IP-адрес NTP сервера

а используя «добавку» source vlan вы можете четко задать номер vlan с IP которого будет отправляться NTP запрос

если нет NTP сервера, то можно задать время вручную, но для этого придется выйти из режима конфигурирования

c2950(config)# exit

11. Зададим переход с зимнего на летнее время и наоборот

c2950# configure terminal

c2950(config)# clock timezone MSK 3

c2950(config)# clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 2:00

12. Сделаем так, чтобы по команде show logging отображалось нормальное время, а не кол-во дней и т.п.

c2950(config)# service timestamps log datetime localtime

13. Зададим дефолтовые настройки сразу всем портам на девайсе (у меня catalyst 24 порта + 4 SFP)

c2950(config)# vlan 10

c2950(config-vlan)# name unused_ports

c2950(config-vlan)# shutdown

c2950(config-vlan)# exit

c2950(config)# interface range gi 0/1 - 28

c2950(config-if-range)# description not_used

c2950(config-if-range)# shutdown

c2950(config-if-range)# no cdp enable

c2950(config-if-range)# switchport nonegotiate

c2950(config-if-range)# switchport access vlan 10

c2950(config-if-range)# switchport mode access

c2950(config-if-range)# exit

14. Выключим web-интерфейс, командная строка это конечно не плохо, так скажет любой уважающий себя цисковод, но иногда нет времени сидеть и вспоминать команды командной строки, просто бывает нужно быстро зайти включить порт или еще что нибудь поправить, по любому эта функция не помешает).

c2950(config)# no ip http server

15. Зададим gateway по умолчанию (допустим это будет 192.168.1.1, т.к. мы присвоили девайсу IP 192.168.1.2/255.255.255.0)

c2950(config)# ip default-gateway 192.168.1.1

16. Если этот свич будет поддерживать маршрутизацию (будет router`ом), то включим функцию маршрутизации (если это позволяет сам девайс и его прошивка)

c2950(config)# ip routing

c2950(config)# ip classless

c2950(config)# ip subnet-zero

17. Если вы выполнили пункт 16-ть, то снова необходимо задать gateway по умолчанию, но уже другой командой

c2950(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1

18. Настроим access-list для доступа к свичу только с определенных IP-адресов

c2950(config)# ip access-list standard TELNET

c2950(config-std-nacl)# permit 192.168.1.1

c2950(config-std-nacl)# permit 192.168.1.15

c2950(config-std-nacl)# exit

19. Применим этот access-list

c2950(config)# line vty 0 15

c2950(config-line)# access-class TELNET in

20. Зададим timeout неактивности telnet сессии, по истечении указанного времени, если вы в консольке ничего не вводили, то telnet соединение будет автоматически закрываться (вообще telnet это не самый лучший вариант, конечно более безопасен SSH, но об этом чуть позже).

c2950(config-line)# exec-timeout 5 0

c2950(config-line)# exit

21. Включим SNMP, но только read only (RO) и доступность только с хоста 192.168.1.1

c2950(config)# snmp-server community RO-MY-COMPANY-NAME RO

c2950(config)# snmp-server trap-source Vlan1

c2950(config)# snmp-server source-interface informs Vlan1

c2950(config)# snmp-server location SWITCH-LOCATION

c2950(config)# snmp-server contact [email protected]

c2950(config)# snmp-server host 192.168.1.1 RO-MY-COMPANY-NAME

c2950# copy running-config startup-config

или вот так

Подробнее инфу можно найти здесь: www.cisco.com

23. Если необходимо включить на девайсе ssh, чтобы подключаться к cisco по ssh (если это позволяет установленный IOS), то выполним следующее.

Очень часто у новичков возникает вопрос:

«Что нужно настроить на Cisco Catalyst с нуля?»

«Скачать дефолтовый конфиг для Cisco Catalyst»

«catalyst 2960 2950 3560 ip адрес по умолчанию»

«как настроить cisco catalyst «

Попробую немного помочь этим людям 🙂

  1. Дефолтовых конфигов не бывает, т.к. у каждого своя сеть и свои «правила»
  2. Нету у Cisco IP-адреса по умолчанию (это же не Dlink), все настраивается ручками и сначала через консоль.

Итак, попробуем разобраться в том, что желательно настроить на нулевом Cisco Catalyst ?

Например, часто встречающиеся:

  • Cisco Catalyst 2950
  • Cisco Catalyst 2960
  • Cisco Catalyst 3550
  • Cisco Catalyst 3560
  • Cisco Catalyst 3560G

Я использовал Cisco Catalyst 3560G

0. Подключаемся к cisco по консольному кабелю через com порт:

FreeBSD через com порт:

cu -l /dev/cuad0

FreeBSD через переходник USB->Com:

  • kldload uplcom.ko
  • kldstat | grep uplcom (убедиться что подгрузился)
  • подключить переходник к USB порту
  • cu -l /dev/cuaU0

в Windows можно использовать Hiper Terminal для подключения к com порту

1. Зададим пароль на enable режим

Switch> enable

Switch# configure terminal

Switch(config)# enable password my-secret-password

2. Установим пароль для входа по telnet

Switch(config)# line vty 0 15

Switch(config-line)#password my-telnet-password

3. Сразу разрешим вход по telnet

Switch(config-line)# login

Switch(config)# exit

4. Зашифруем пароли, чтобы по sh run они не показывались в открытом виде

Switch(config)# service password-encryption

5. Зададим имя девайсу, например будет c3560G

Switch(config)# hostname c3560G

6. повесим / присвоим IP-адрес нашему девайсу

c3560G(config)# interface vlan 1

c3560G(config-if)# ip address 192.168.1.2 255.255.255.0

c3560G(config-if)# exit

7. Если вы ошибетесь при наборе чего либо в консоле, то циска начнет пытаться это отрезолвить, чем заставляет вас ждать, выключим эту фичу

c3560G(config)# no ip domain-lookup

8. Зададим имя домена

c3560G(config)# ip domain-name my-domain.ru

9. Зададим IP-адрес DNS сервера

c3560G(config)# ip name-server 192.168.1.15

10. Зададим время

если у вас есть доступный NTP сервер

c3560G(config)# ntp server 192.168.1.1 version 2 source vlan 1

c3560G(config)# ntp clock-period 36029056

c3560G(config)# ntp max-associations 1

где 192.168.1.1 — это IP-адрес NTP сервера

а используя «добавку» source vlan вы можете четко задать номер vlan с IP которого будет отправляться NTP запрос

если нет NTP сервера, то можно задать время вручную, но для этого придется выйти из режима конфигурирования

c3560G(config)# exit

11. Зададим переход с зимнего на летнее время и наоборот

c3560G# configure terminal

c3560G(config)# clock timezone MSK 3

c3560G(config)# clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 2:00

12. Сделаем так, чтобы по команде show logging отображалось нормальное время, а не кол-во дней и т.п.

c3560G(config)# service timestamps log datetime localtime

13. Зададим дефолтовые настройки сразу всем портам на девайсе (у меня catalyst 24 порта + 4 SFP)

C3560G(config)# vlan 999

C3560G(config-vlan)# name unused_ports

C3560G(config-vlan)# shutdown

C3560G(config-vlan)# exit

C3560G(config)# interface range gi 0/1 — 28

C3560G(config-if-range)# description not_used

C3560G(config-if-range)# shutdown

C3560G(config-if-range)# no cdp enable

C3560G(config-if-range)# switchport nonegotiate

C3560G(config-if-range)# switchport access vlan 999

C3560G(config-if-range)# switchport mode access

C3560G(config-if-range)# exit

14. Выключим web-интерфейс, командная строка рулит 😉

C3560G(config)# no ip http server

15. Зададим gateway по умолчанию (допустим это будет 192.168.1.1, т.к. мы присвоили девайсу IP 192.168.1.2/255.255.255.0)

C3560G(config)# ip default-gateway 192.168.1.1

16. Если этот свич будет моддерживать маршрутизацию (будет router`ом), то включим функцию маршрутизации (если это позволяет сам девайс и его прошивка)

3560G прекрасно справляется с функцией маршрутизации

C3560G(config)# ip routing

C3560G(config)# ip classless

C3560G(config)# ip subnet-zero

17. Если вы выолнили пункт 16-ть, то снова необходимо задать gateway по умолчанию, но уже другой командой

C3560G(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1

18. Настроим access-list для доступа к свичу только с определенных IP-адресов

C3560G(config)# ip access-list standard TELNET

C3560G(config-std-nacl)# permit 192.168.1.1

C3560G(config-std-nacl)# permit 192.168.1.15

C3560G(config-std-nacl)# exit

19. Применим этот access-list

C3560G(config)# line vty 0 15

C3560G(config-line)# access-class TELNET in

20. Зададим timeout неактивности telnet сессии, по истечении указанного времени, если вы в консольке ничего не вводили, то telnet соединение будет автоматически закрываться

C3560G(config-line)# exec-timeout 5 0

C3560G(config-line)# exit

21. Включим SNMP, но только read only (RO) и доступность только с хоста 192.168.1.1

C3560G(config)# snmp-server community RO-MY-COMPANY-NAME RO

C3560G(config)# snmp-server trap-source Vlan1

C3560G(config)# snmp-server source-interface informs Vlan1

C3560G(config)# snmp-server location SWITCH-LOCATION

C3560G(config)# snmp-server contact [email protected]

C3560G(config)# snmp-server host 192.168.1.1 RO-MY-COMPANY-NAME

C3560G(config)# exit

22. Ну и наконец сохраним свои труды

C3560G# copy running-config startup-config

или можно проще и короче 🙂

C3560G# wri

Море документации по catalyst`ам, и не только по ним, вы можете найти, ессно, на сайте производителя: www.cisco.com

23. Если хочется включить на девайсе ssh, чтобы подключаться к cisco по ssh (если это позволяет установленный IOS), то выполним следущее:

а) Обязательно указываем имя домена (необходимо для генерации ключа) см. пункт 8.

б) cisco(config)# crypto key generate rsa

в) cisco(config)# line vty 0 15

г) cisco(config)# transport preferred none

д) cisco(config)# transport input ssh

е) cisco(config)#transport output ssh

24. Устранение критической уязвимости в коммутаторах Cisco , которой подвержен Smart Install (работает по TCP порт 4786).
cisco(config)#no vstack
Затем убедиться что сиё зло отключилось, команда:
cisco#show vstack config

Первоначальная настройка коммутатора Cisco.

December 18, 2009

В этой статье будет рассказано, про то как “запустить” свежекупленный коммутатор Cisco Catalyst 2960/3560/3750. В принципе, данные настройки применимы для всех коммутаторов cisco, данные серии коммутаторов указаны, более, для определенности.

Итак, у нас есть коммутатор Cisco Catalyst 2960 или 3560 или 3750. Внешне он будет выглядеть примерно так как на рис. 1.

На рис. 1 Перед нами “48″ портовый коммутатор который, если быть точным, обозначается как Catalyst 2960-48TC-S.

У него 48 портов 10/100 Ethernet мегабит в сек. (то есть портов которые могут работать как и на 10 мегабит в сек, так и на 100 мегабит сек в зависимости от того сколько мегабит в сек устройство к нему подключено на данный конкретный порт.) Кроме этих 48 портов, в нем дополнительно есть еще два порта 10/100/1000 (т.е. могущие работать и на 10 и на 100 и на 1000) и есть еще два места (слота) куда могут быть установлены так называемые модули SFP. SFP модули бывают и оптические, таким образом покупка за отдельную плату SFP модулей

и их установка в эти слоты позволит нам сделать так, чтоб наш коммутатор можно будет подключить по оптике к другим устройствам. Итого в данном коммутаторе есть 50 портов. То есть можно подключить к нему 50 устройств, 50 – не смотря на то, что есть 52 “дырочки”, так как одновременно работать SFP и медный “гигабитный” порт ПОД НИМ не могут. SFP слева и медный гигабитный справа – могут, но вот SFP “сверху” и “медный” порт под ним не могут.

Если посмотреть сзади (1) на этот коммутатор, то можно обнаружить еще две дырочки. Одна для подключения кабеля питания 220 вольт (2), вторая, похожая на порт к которому можно подключить ETHERNET , но которая таковым не является с надписью CONSOLE (3). Этот порт будет использоваться нами для первоначальной настройки коммутатора.

Внизу на рис. 2 представлен вид этого коммутатора сзади.

Берем голубой кабель который идет в комплекте с коммутатором. И подключаем его к COM порт компьютера. Запускаем программу HyperTerminal на компьютере. Выбираем COM порт к которому подключен коммутатор (обычно COM1), устанавливаем скорость передачи данных 9600 и включаем коммутатор.

При первом запуске коммутатора Cisco Catalyst, так как в нем нет никакой записанной конфигурации он запускает программу setup, которая посредством задания вам множества вопросов на английском языке, вроде бы сама пытается все настроить. Но имхо, этот setup только запутывает все, так что если вы увидите на экране такое:

То лучше сказать “n”, прервать тем самым setup, а потом самому настроить коммутатор с нуля. Тем более это очень просто.

Не бойтесь тут нажимать на что-то – вы ничего не сипортите. Жмите смело “n” и Enter потом.

После чего вы должны увидеть такое:

switch>

Это есть командный режим управления Коммутаторм Cisco. Дальше будем настраивать.

Первым делом нам нужно перейти в так называемый “привилегированный режим”, по сути это режим в котором можно конфигурировать, в отличии от того в котором мы находимся по умолчанию и имеем ограниченные воз0можности по управлению коммутатором. ” Привилегированный режим” это что-то вроде root режима в юникс и входа на windows пол админом. Переход в этот привелигированный режим производится просто – пишем enable и вводим пароль. Пароль по умолчанию на оборудовании cisco это либо “cisco”, либо “Cisco”, либо просто жмем enter не вводя ничего

switch>enable

Password:

Switch#

То что у нас изменилось приглашение на ввод и стало таким “switch#” говорит о том, что мы как раз вошли в тот самый привилегированный режим.

Задать ip адрес

Настроить параметры входа (в терминах cisco это настроить VTY, задать логин и пароль)

IP адрес для коммутатора cisco обычно задается заданием его на, так называемый, интерфейс VLAN 1. (Так как коммутатор, по идее, сам не обязательно должен иметь ip адрес для того чтоб выполнять свои функции, то ip адрес для его работы и не нужен. Он нужен только для управления им. А так как нет “физических” интерфейсов (портов) с IP адресами на коммутаторе, то такой адрес и задается виртуальному интерфейсу – который и является интерфейс VLAN 1).

Для того чтоб настраивать коммутатор Cisco нужно перейти в режим конфигурирования. Делает это заданием команды “configuration terminal”, что обозначает – ” настраиваем с терминала”. Задавать такую длинную команду лень. Мы и не будем. Дело в том, что cisco может сам по начальным буквам слова определять нужную команду (если введенные буквы неоднозначно определяют команду, то cisco его не выполнит, а предупредит об этом). Так что нам достаточно задать “conf t”

switch# conf t

Switch(config)#

switch(config)# – обозначает, что мы перешли в режим конфигурирования.

задаем ip адрес:

switch(config)#interface vlan 1 (входим в режим конфигурирования интерфеса VLAN 1)

Switch(config-if)#ip address 10.1.1.1 255.255.255.0 (задаем выбранный нами ip)

Switch(config-if)#no shutdown (эта команды включает интерфейс, по умолчанию он может быть выключен)

Switch(config-if)exit (выходим из режима конфигурирования интерфейса)

Switch(config)#exit (выходим из режима конфигурирования)

switch# conf t

Switch(config)# enable secret пароль_на_вход_в привилегированный режим

Switch(config)# exit

Switch#

Настраиваем параметры входа

switch# conf t

Switch(config)# line VTY 0 4

Switch(config-line)# login

Switch(config-line)#password пароль_на_вход

Switch(config-line)#exit

Switch(config)#exit

Switch#

Все. Первый сеанс настройки коммутатора Cisco почти завершен. Осталось только сохранить сделанную конфигурацию. Делается это командой “write mem”

switch# write mem

Building configuration

Switch#

Сохранились. Можно выдергивать консольный кабель, подключать к коммутатору компы и заходить, при необходимости, на данный коммутатор далее по телнет. При этом, для управления этим коммутатором нам нужно будет знать два пароля – “пароль_на_вход” и “пароль_на_вход_в привилегированный режим”. Запомните их.

Для быстрого конфигурирования коммутора можно сделать следующее:

Скопировать текст ниже в текстовый редактор, задать в нем ip адрес и пароли свои и просто вставить полученный текст (опция “передать главному компьютеру” в hyperterminal по клику правой мыши).

conf t

Interface vlan 1

Ip address 10.1.1.1 255.255.255.0

No shutdown

Exit

Enable secret пароль_на_вход_в привилегированный режим

Line VTY 0 4

Login

Password пароль_на_вход

Exit

Write mem

На столе стоит эта прекрасная железка модели 2950, кабель питания воткнут в розетку, а консольный кабель нежно подключен в соответствующий разъем. Начнем. Запускаем Putty , указываем там вид подключения Serial, жмем ОК и Enter в появившемся черном окошечке. Вуаля, вот оно, приглашение командной строки.
Первым делом даем коммутатору имя. как корабль назовешь, так он и поплывет. Фантазией я, правда, не богат так что...

Switch>enable
Switch#conf ter
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#host
Switch(config)#hostname Catalyst
Catalyst(config)#
Имя дали, дадим фамилию. Установим IP-адрес. Как известно, адрес коммутатора есть не что иное как адрес 1-го VLAN.
Catalyst(config)#int vlan 1
Catalyst(config-if)#ip address 192.168.10.30 255.255.255.0
Catalyst(config-if)#no shutdown
Catalyst(config-if)#
Не забываем включить VLAN 1 командой no shutdown. По умолчанию изначально все интерфейсы находятся в VLAN 1. Попробуем пропинговать нашу железку:

andrey@darkstar:~$ ping 192.168.10.30
PING 192.168.10.30 (192.168.10.30) 56(84) bytes of data.
64 bytes from 192.168.10.30: icmp_req=2 ttl=255 time=1.69 ms
64 bytes from 192.168.10.30: icmp_req=3 ttl=255 time=1.64 ms
64 bytes from 192.168.10.30: icmp_req=4 ttl=255 time=1.73 ms
Чудесно. Далее, чтоб отрезать эту пуповину в виде консольного кабеля настроим SSH. Чтобы SSH заработал нужно провести ряд действий: настроить имя хоста, домен, непосредственно саму виртуальную консоль, и сгенерировать ключ шифрования. Не забывайте, что для SSH v2 необходим ключ длинною не меньше 1024 бита, по умолчанию IOS предлагает 512 бит. Это дает возможность использовать только SSH v1.5.
Catalyst(config)#ip domain-name unix.nt
Catalyst(config)#username andrey password passw0rd
Catalyst(config)#line vty 0 ?
<1-15> Last Line number
Catalyst(config)#line vty 0 15
Catalyst(config-line)#password 0 123
Catalyst(config-line)#login authentication ?
WORD Use an authentication list with this name.
default Use the default authentication list.
Catalyst(config-line)#login authentication def
AAA: Warning authentication list "default" is not defined for LOGIN.
Catalyst(config-line)#transport input ssh telnet
Catalyst(config-line)#exec-timeout 60 0
Catalyst(config-line)#
Последеняя команда введена для того, чтобы при отсутствии активности сессия завершалась через 60 минут и 0 секунд. Это много, но мне лень после похода за чаем заново логиниться и вводить пароль.
Генерируем ключ (ключ генерировать не обязательно, если его не будет, то он в любом случае сгенерируется во время загрузки)
Catalyst(config)#crypto key generate rsa
Тут SSH должен заработать и я смогу войти удаленно на коммутатор под именем andrey и паролем passw0rd. Так и есть, вот только в режим администратора войти я не могу. Конечно, ведь пароль администратора не задан. Исправляем ошибку:
Catalyst(config)#enable secret supersecretpass
и вот оно счастье, коммутатор можно ставить в стойку и рулить им из своего уютненького ноутбука с обоиной в виде фото Дженифер Лопес.
Теперь давайте добавим маршрут по умолчанию, дабы рулить можно было еще и из дома девушки пол-третьего ночи через SSH. Ну и DNS-сервер, просто чтоб было:
Catalyst(config)#ip default-gateway 192.168.10.1
Catalyst(config)#ip name-server 8.8.8.8

Надеюсь, никого не смутит, что указан DNS-сервер гугла. Проверяем.

16 марта 2010 в 09:50

Шаблон базовой настройки маршрутизатора Cisco

  • Cisco

В последнее время приходится часто настраивать с нуля маршрутизаторы Cisco (в основном 800-1800 серии) для филиалов моей компании и дабы не набирать одни и теже команды третий десяток раз составил для себя небольшой шаблон настроек на разные случаи жизни. Сразу скажу что сертификаты от Cisco не получал, книжек по данным роутерам особо не читал, весь свой опыт приобрел методом научного тыка, курением мануалов на cisco.com и кое каким вдумчивым заимствованием кусков чужих конфигов…

Итак распаковываем роутер, заливаем последнюю прошивку (для SSH необходим минимум Advanced Security), делаем
#erase startup-config
дабы избавится от преднастроеного мусора и перегружаемся.

Настройка авторизации и доступа по SSH

Включаем шифрование паролей
service password-encryption
! используем новую модель ААА и локальную базу пользователей
aaa new-model
aaa authentication login default local
! заводим пользователя с максимальными правами
username admin privilege 15 secret PASSWORD

Даем имя роутеру
hostname <...>
ip domain-name router.domain
! генерируем ключик для SSH
crypto key generate rsa modulus 1024
! тюнингуем SSH
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
! и разрешаем его на удаленной консоли
line vty 0 4
transport input telnet ssh
privilege level 15

Настройка роутинга

Включаем ускоренную коммутацию пакетов
ip cef

Настройка времени

Временная зона GMT+2
clock timezone Ukraine 2
clock summer-time Ukraine recurring last Sun Mar 2:00 last Sun Oct 2:00
! обновление системных часов по NTP
ntp update-calendar
! ntp сервера лучше задавать по айпи, ибо если при перегрузке DNS-сервера не доступны то настройки по именам слетают…
ntp server NTP.SERVER.1.IP
ntp server NTP.SERVER.2.IP

Архивирование конфигов

Включаем архивирование всех изменений конфига, скрывая пароли в логах
archive
log config
logging enable
hidekeys

Историю изменения конфига можно посмотреть командой
show archive log config all

Настройка DNS

Включить разрешение имен
ip domain-lookup
! включаем внутренний DNS сервер
ip dns server
! прописываем DNS провайдера
ip name-server XXX.XXX.XXX.XXX
! на всякий случай добавляем несколько публичных DNS серверов
ip name-server 4.2.2.2
ip name-server 208.67.222.222
ip name-server 208.67.220.220

Настройка локальной сети

Обычно порты внутреннего свитча на роутере объединены в Vlan1
interface Vlan1
description === LAN ===
ip address 192.168.???.1

Включаем на интерфейсе подсчет пакетов передаваемых клиентам - удобно просматривать кто съедает трафик
ip accounting output-packets

Посмотреть статистику можно командой
show ip accounting
! очистить
clear ip accounting

Настройка DHCP сервера

Исключаем некоторые адреса из пула
ip dhcp excluded-address 192.168.???.1 192.168.???.99
! и настраиваем пул адресов
ip dhcp pool LAN
network 192.168.???.0 255.255.255.0
default-router 192.168.???.1
dns-server 192.168.???.1

Настройка Internet и Firewall

Настраиваем фильтр входящего трафика (по умолчанию все запрещено)
ip access-list extended FIREWALL
permit tcp any any eq 22

Включаем инспектирование трафика между локальной сетью и Интернетом
ip inspect name INSPECT_OUT dns
ip inspect name INSPECT_OUT icmp
ip inspect name INSPECT_OUT ntp
ip inspect name INSPECT_OUT tcp router-traffic
ip inspect name INSPECT_OUT udp router-traffic
ip inspect name INSPECT_OUT icmp router-traffic

Настраиваем порт в Интернет и вешаем на него некоторую защиту
interface FastEthernet0/0
description === Internet ===
ip address ???.???.???.??? 255.255.255.???
ip virtual-reassembly
ip verify unicast reverse-path
no ip redirects
no ip directed-broadcast
no ip proxy-arp
no cdp enable
ip inspect INSPECT_OUT out
ip access-group FIREWALL in

Ну и напоследок шлюз по умолчанию
ip route 0.0.0.0 0.0.0.0 ???.???.???.???

Настройка NAT

На Интернет интерфейсе
interface FastEthernet0/0
ip nat outside

На локальном интерфейсе
interface Vlan1
ip nat inside

Создаем список IP имеющих доступ к NAT
ip access-list extended NAT
permit ip host 192.168.???.??? any

Включаем NAT на внешнем интерфейсе
ip nat inside source list NAT interface FastEthernet0/0 overload

Добавляем инспекцию популярных протоколов
ip inspect name INSPECT_OUT http
ip inspect name INSPECT_OUT https
ip inspect name INSPECT_OUT ftp

Отключение ненужных сервисов

No service tcp-small-servers
no service udp-small-servers
no service finger
no service config
no service pad
no ip finger
no ip source-route
no ip http server
no ip http secure-server
no ip bootp server

UPD. Убрал лишнее по советам хаброюзеров
UPD2. Добавил отключение ненужных сервисов
UPD3. Изменил настройка файрвола (спасибо