АНДРЕЙ МАРКЕЛОВ
Базовая настройка маршрутизатора Cisco начального уровня
Устав бороться дома с несогласным стабильно работать маршрутизатором DLink 624+, я наконец решил поменять это недорогое, но проблемное устройство на что-нибудь более надежное.
Необходимо было выполнение следующих типичных для дома или небольшого офиса функций:
- подключение до пяти сетевых устройств (реально у меня одновременно работало не больше двух, требующих выхода за пределы домашней сети);
- развитый брандмауэр и сетевая трансляция адресов (NAT);
- DHCP-сервер;
- поддержка протокола Point-to-Point Protocol over Ethernet (PPPoE), по которому осуществлялось подключение к провайдеру;
- надежность и возможность мониторинга состояния маршрутизатора, которой так не хватало в DLink 624+.
В итоге я остановил свой выбор на младшем маршрутизаторе модельного ряда компании Cisco Systems.
Далее я приведу описание процесса базовой настройки маршрутизатора, которое может послужить отправной точкой для самостоятельного конфигурирования домашней/офисной «кошки» UNIX- или Windows-администратором, ранее не работавшим с оборудованием Cisco.
Подключение
Для первоначальной настройки маршрутизатора необходимо подключиться к консольному порту на задней панели устройства. Консольный порт с разъемом RJ-45 представляет собой обыкновенный асинхронный последовательный порт TIA/EIA-232. Для подключения к ПК вам понадобится помимо так называемого rollover-кабеля, идущего в комплекте с маршрутизатором, переходник к DB-9, и, естественно, COM-порт на рабочей станции. Установка соединения осуществляется со стандартными значениями – 9600 бод/8 бит данных/1 стоп бит/без проверки четности и контроля прохождения.
В Windows-системах вы можете использовать утилиту HyperTerminal, а в Linux – cu или minicom. В дальнейшем, когда маршрутизатору будет присвоен IP-адрес, вы сможете обращаться к нему по протоколам telnet или ssh, но первый раз без консольного подключения не обойтись.
Итак, даем с рабочей станции команду на подключение, и после нажатия оказываемся в командной строке маршрутизатора.
Теперь необходимо перейти в привилегированный режим, в котором и будем осуществлять настройку:
Router>enable
Нужно заметить, что в дальнейшем мы установим на вход в привилегированный режим маршрутизатора пароль, ну а пока что свежекупленное устройство должно пустить нас без дополнительных вопросов. Следующий шаг – удаляем имеющуюся конфигурацию, находящуюся во флэш-памяти, и перезагружаем маршрутизатор (рис. 1):
Router#erase startup-config
Router#reload
Рисунок 1
За ходом перезагрузки можно наблюдать по появляющимся сообщениям в окне терминала. По окончании процесса перезагрузки снова заходим в командную строку и переходим в привилегированный enable-режим. После чего можно приступить к конфигурированию маршрутизатора.
Базовые настройки
Для начала присвоим маршрутизатору имя. Переходим в глобальный конфигурационный режим и в нем используем команду hostname:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z. |
Router(config)#hostname Home
Как мы видим, отображение приглашения несколько изменилось. Теперь займемся безопасностью. Отключим управление маршрутизатором через 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
Затем таким же способом, но уже на подключение с помощью 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.
Рисунок 2
Полный конфигурационный лист
В заключение статьи приведу полную конфигурацию маршрутизатора, полученную по команде 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