Базовая настройка маршрутизатора Cisco.

Статья впервые опубликована в журнале "Системный администратор" N4/2005


Устав дома бороться с не согласным стабильно работать маршрутизатором DLink 624+, я наконец решил поменять этот дешевое но проблемное устройство на что-нибудь более надежное.
Необходимы были следующее типичные для дома или небольшого офиса функции:
- подключение до пяти сетевых устройств (реально у меня одновременно работало не больше двух, требующих выхода за пределы домашней сети);
- развитый брандмауэр и сетевая трансляция адресов (NAT);
- DHCP-сервер;
- поддержка протокола Point-to-Point Protocol over Ethernet (PPPoE) по которому осуществлялось подключение к провайдеру;
- надежность и возможность мониторинга состояния маршрутизатора, которой так не хватало в DLink 624+;

В итоге, я остановил свой выбор на младшем маршрутизаторе модельного ряда компании Cisco Systems. Оборудование Cisco является традиционно надежным, хотя и относительно дорогим. Однако с учетом всех полученных скидок цена на младшую модель Cisco SOHO 91 показалась мне вполне приемлемой.
Далее я опишу собственно процесс базовой настройки маршрутизатора. Такое описание может послужить отправной точкой для самостоятельного конфигурирования домашней/офисной «кошки» Unix или Windows – администратором, ранее не работавшим с оборудованием Cisco.



Подключение


Для первоначальной настройки маршрутизатора необходимо подключиться к консольному порту на задней панели устройства. Консольный порт с разъемом RJ-45 представляет из себя обыкновенный асинхронный последовательный порт TIA/EIA-232. Для подключения к ПК вам понадобиться помимо т.н. rollover кабеля, идущего в комплекте с маршрутизатором – переходник к DB-9, который также должен быть в комплекте. Ну и естественно COM-порт на рабочей станции. Установка соединения осуществляется со стандартными значениями – 9600 бод/8 бит данных/1 стоп бит/без проверки четности и контроля прохождения. В Windows – системах вы можете использовать утилиту HyperTerminal, а в Linux, например – cu или minicom. В дальнейшем, когда маршрутизатору будет присвоен IP-адрес вы сможете обращаться к нему по протоколам telnet или ssh, но первый раз без консольного подключения не обойтись.

Итак, даем с рабочей станции команду на подключение, и после нажатия [Enter] оказываемся в командной строке маршрутизатора:
Router>
Теперь необходимо перейти в привилегированный режим, в котором и будем осуществлять настройку:
Router>enable
Router#
Нужно заметить, что в дальнейшем мы установим на вход в привилегированный режим маршрутизатора пароль, ну а пока что свеже купленное устройство должно пустить нас без дополнительных вопросов.
Следующий шаг – удаляем имеющуюся конфигурацию, находящуюся во флэш-памяти, и перезагружаем маршрутизатор:
Router#erase startup-config
Router#reload
За ходом перезагрузки можно наблюдать по появляющимся сообщениям в окне терминала.



По окончании процесса перезагрузки, снова заходим в командную строку и переходим в привелегированный enable-режим. После чего можно собственно приступить к конфигурированию маршрутизатора.

Базовые настройки


Для начала, дадим маршрутизатору имя. Конечно, это опциональный пункт нашей конфигурации, но тем не менее. Переходим в глобальный конфигурационный режим и в нем используем команду hostname:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname Home
Home(config)#
Как мы видим, отображение приглашения несколько изменилось. Теперь займемся безопасностью. Отключим управление маршрутизатором через http и https, а также проприетарниый Cisco Discovery Protocol который нам в данном случае абсолютно не нужен.

Home(config)#no ip http server
Home(config)#no ip http secure-server
Home(config)#no cdp run
Теперь включим режим хранения паролей в файле конфигурации устройства в зашифрованном виде:
Home(config)#service password-encryption
После чего можно задать и сами пароли. Для начала на консольное подключение:
Home(config)#line con 0
Home(config-line)#password пароль
Home(config-line)#login
Home(config-line)#exit
Home(config)#
Затем таким же точно способом, но уже на подключение telnet-ом. Вместо команды line con 0 в этом случае будет line vty 0 4 остальное останеться неизменным. Зададим также пароль, который маршрутизатор будет спрашивать у уже подключившегося пользователя при попытке перейти из пользовательского в привилегированный режим командой enable:
Home(config)#enable secret пароль_enable_режима
Думаю, к этому моменту я привел достаточно примеров того, как выглядит работа с командной строкой маршрутизатора Cisco, и в оставшейся части статьи, чтобы избегать повторов, я просто буду ссылаться на соответствующие строки конфигурации маршрутизатора, приведенной в конце материала.

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


Поскольку мы настраиваем маршрутизатор, то естественно у него имеется минимум два интерфейса. Внутренний – Ethernet0 и внешний Ethernet1. Определяются они в строках 31-35 и 37-43 соответственно. Для внутреннего интерфейса мы задаем IP адрес 192.168.0.88 и маску 255.255.255.0, а для внешнего указываем команду no ip address. Все внешние параметры будут полученычерезPPPoE (строки 42 и 43). Для того чтобы закрыть обсуждение ethernet-интерфейсов, но несколько забегая вперед обращаю внимание на строчку 33, где указан внутренний интерфейс для NAT.
В строках с 45 по 55 приведено описание интерфейса Dialer0. Это виртуальный интерфейс, через который и осуществляется подключение к PPPoE. Хочу обратить особое внимание на 53 и 54 строки – где нужно задать имя и пароль выданные вам провайдером. А также на строку 55 – без которой маршрутизатор не получит IP-адресов DNS-серверов провайдера. Помимо описания Dialer0 к настройке PPPoE относятся также строки 25-29 и 77. За более подробной информацией я рекомендую обратиться к документации и сайту www.cisco.com. Более подробное описание в статье посвященной «быстрому старту», я считаю не оправданным. Последнее, о чем необходимо упомянуть – строка 59, где задается маршрут по умолчанию, указывающий на Dialer0.

Настройка NAT, DHCP и брандмауэра


Переходим к настройке NAT. Тут в IOS все достаточно просто. Помимо33-ей строки, про которую уже упоминалось во время разбора конфигурации внутреннего интерфейса, за NAT отвечают строки 57 и 64. Как мы видим, 57-я строка ссылается на 64-ю в которой описан так называемый access-list, определяющий внутренние ip-адреса, которые мы будем транслировать во внешний на интерфейсе Dialer0.
С помощью тех же «листов доступа» мы в строках с 65 по 76 на Dialer0 организуем простейший межсетевой экран, безусловно пропуская icmp, www, smtp, pop3, ftp и dns-трафик. Также при уже установленной tcp-сессии, будем принимать пакеты с номером порта большем чем 1023. Кроме того, в строке 49 определен ip-адрес рабочей станции, с которой разрешен доступ по telnet для управления маршрутизатором. Если вам понадобиться подкорректировать правила – опять же отсылаю читателя к документации.
Последнее что мы рассмотрим – это настройку DHCP-сервера. В строке 17 мы указываем область выделенную под статические IP адреса. В нее должен попасть и IP адрес внутреннего интерфейса маршрутизатора. В строках 19 – 23 описан пул адресов нашего DHCP сервера. Командой import all клиентам передаются полученные через Dialer0 сетевые настройки. В качестве шлюза по умолчанию выступает внутренний интерфейс с IP-адресом 192.168.0.88.

Полный конфигурационный лист


В заключении статьи приведу полную конфигурацию маршрутизатора, полученную по команде show running-config. В листинге вы можете увидеть часть команд, которые не были описаны в статье – они или были сформированы самим устройством или не имеют принципиального значения для первого знакомства с маршрутизатором. Для уточнения значения этих команд рекомендую обратиться к документации.

01: version 12.3
02: no service pad
03: service timestamps debug uptime
04: service timestamps log uptime
05: service password-encryption
06: !
07: hostname Home
08: !
09: enable secret xxxxxx
10: enable password xxxxxx
11: !
12: username homeuser password xxxxxx
13: aaa new-model
14: !
15: aaa session-id common
16: ip subnet-zero
17: ip dhcp excluded-address 192.168.0.1 192.168.0.90
18: !
19: ip dhcp pool CLIENT
20: import all
21: network 192.168.0.0 255.255.255.0
22: default-router 192.168.0.88
23: lease 0 2
24: !
25: vpdn enable
26: !
27: vpdn-group 1
28: request-dialin
29: protocol pppoe
30: !
31: interface Ethernet0
32: ip address 192.168.0.88 255.255.255.0
33: ip nat inside
34: ip tcp adjust-mss 1452
34: no cdp enable
35: hold-queue 32 in
36: !
37: interface Ethernet1
38: no ip address
39: no ip unreachables
40: ip tcp adjust-mss 1452
41: duplex auto
42: pppoe enable
43: pppoe-client dial-pool-number 1
44: !
45: interface Dialer0
46: ip address negotiated
47: ip access-group 110 in
48: ip mtu 1492
49: ip nat outside
50: encapsulation ppp
51: dialer pool 1
52: dialer-group 1
53: ppp chap hostname homehostname
54: ppp chap password xxxxxx
55: ppp ipcp dns request
56: !
57: ip nat inside source list 102 interface Dialer0 overload
58: ip classless
59: ip route 0.0.0.0 0.0.0.0 Dialer0
60: no ip http server
61: no ip http secure-server
62: !
63: access-list 49 permit 192.168.0.13
64: access-list 102 permit ip 192.168.0.0 0.0.0.255 any
65: access-list 110 permit tcp any any gt 1023 established
66: access-list 110 permit tcp any any eq www
67: access-list 110 permit tcp any any eq smtp
68: access-list 110 permit tcp any any eq pop3
69: access-list 110 permit tcp any any eq ftp
70: access-list 110 permit tcp any any eq ftp-data
71: access-list 110 permit tcp any any eq domain
72: access-list 110 permit udp any any eq domain
73: access-list 110 permit udp any eq domain any
74: access-list 110 permit tcp any eq domain any
75: access-list 110 permit icmp any any
76: access-list 110 deny ip any any
77: dialer-list 1 protocol ip permit
78: no cdp run
79: !
80: line con 0
81: exec-timeout 120 0
82: password xxxxxx
83: no modem enable
84: stopbits 1
85: line aux 0
86: line vty 0 4
87: access-class 49 in
88: exec-timeout 120 0
89: password xxxxxx
90: !
91: end

Комментарии

Популярные сообщения из этого блога

update-rc.d SysV init scripts (/etc/init.d): автозагрузка программ в Debian, Ubuntu.

Двигатель базы данных "SQLite"