Сергей Крутилин
Оборудование Cisco для «самых маленьких»
Большинство системных администраторов знают, что существует сетевое оборудование под торговой маркой Cisco. При первой встрече с данным оборудованием у многих появляются вопросы: как подключиться, как настраивать и что означают те или иные команды. Статья поможет начинающим разобраться в терминологии, методах начального конфигурирования и с возникающими вопросами.
Итак, начнём с простейшего. Ваша организация приобрела маршрутизатор Cisco 871 для следующих задач: доступ в Интернет, сервис для автоматического назначения IP-адресов локальным ПК (DHCP), публикация внутреннего почтового сервера.
Вы распаковываете коробку с новым оборудованием и видите перед собой устройство, внешний вид которого представлен на рис. 1.
Рисунок 1. Внешний вид устройства
Первый вопрос – как подключиться? Достаточно просто – в комплекте с оборудованием идёт «шнурок» синего цвета (консольный кабель, см. рис. 2), его нужно подключить одной стороной (разъём RJ45) к порту с названием Console, а другой стороной к COM-порту вашего ПК.
Рисунок 2. Консольный кабель
Для управления оборудованием нам понадобится программа, к примеру, Hyper Terminal в Microsoft Windows («Главное меню -> Программы -> Стандартные -> Связь»). Запускаем Hyper Terminal, вводим название подключения (к примеру, Cisco), затем нажимаем ОК, на втором окне выбираем требуемый COM-порт, затем настраиваем Hyper Terminal, как показано на рис. 3, и нажимаем ОК.
Рисунок 3. Настройка Hyper Terminal
Теперь включаем маршрутизатор. На экране появится окно загрузки с примерно следующим содержанием:
System Bootstrap, Version 12.2(11r)YV3, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2004 by cisco Systems, Inc.
C800/SOHO series (Board ID: 29-129) platform with 65536 Kbytes of main memory
program load complete, entry point: 0x80013000, size: 0x753404
Self decompressing the image : ##############################################
#############################################################################
################ [OK]
|
После распаковки образа Cisco IOS (Internetwork Operating System) и загрузки всех компонентов вы оказываетесь в пользовательском режиме, который обозначается знаком «>» (Router>). Помимо подключения по консоли, возможно также удалённое подключение по telnet или ssh. Настройка подключения по telnet будет рассмотрена чуть позже. Пользовательский режим предназначен для отладочных целей, таких как ping, подключения к другим маршрутизаторам и прочее. При вводе вопросительного знака вы получаете весь список команд. В дальнейшем вы часто будете использовать систему справки.
Рисунок 4. Вывод справки
Рисунок 5. Пример использования системы справки
Рассмотрим пример.
Router>show ?
aaa Show AAA values
aal2 Show commands for AAL2
appfw Application Firewall information
auto Show Automation Template
backup Backup status
bgp BGP information
|
Router>show ip ?
accounting The active IP accounting database
admission Network Admission Control information
aliases IP alias table
arp IP ARP table
as-path-access-list List AS path access lists
auth-proxy Authentication Proxy information
|
Помимо пользовательского режима, существует привилегированный режим. Для доступа к нему необходимо ввести команду enable и пароль (стандартные имя пользователя и пароль обычно Cisco, список стандартных паролей для различного оборудования смотрите по адресу http://www.phenoelit-us.org/dpl/dpl.html).
В данном режиме выполняются основные действия конфигурирования, такие как настройка сетевых интерфейсов, правила брандмауэра и т. д.
Для просмотра текущей конфигурации маршрутизатора выполните команду «show config» (или сокращённо «sh conf»). Просматривать конфигурацию можно при помощи клавиши пробела.
Для настройки основных параметров необходимо использовать команду «configure terminal» (или сокращённо «conf t»).
Рассмотрим пример настройки.
Пункт 1. Сетевые интерфейсы
В привилегированном режиме просматриваем доступные интерфейсы (не забывайте поставить пробел после знака «|»):
Router#sh conf | include interface
Получаем примерно следующие результаты:
interface Ethernet0
interface Ethernet1
interface FastEthernet1
interface FastEthernet2
|
где:
- Ethernet – это физические интерфейсы, которым можно присваивать IP-адреса;
- FastEthernet – это так называемые линки (ссылки) на внутренний интерфейс, IP-адреса данным линкам присваивать нельзя.
Заходим в режим конфигурирования и настраиваем интерфейсы:
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z. |
Выбираем интерфейс Ethernet 0 («interface Ethernet 0»):
Router(config)#int et 0
Присваиваем интерфейсу IP-адрес и маску подсети:
Router(config-if)#ip address 192.168.5.3 255.255.255.0
Нажимаем <CTRL> + <Z> для выхода из режима конфигурирования:
Router(config-if)#^Z
Router#
4d01h: %SYS-5-CONFIG_I: Configured from console by console
|
Cохраняем конфигурацию («write memory»):
Router#wr mem
Конфигурация маршрутизатора хранится в 2 файлах:
- running-config – текущая конфигурация маршрутизатора;
- startup-config – конфигурация, применяемая при загрузке.
После внесения изменений в конфигурацию вы также можете выполнить команду «copy run start» («copy running-config startup-config»). Также будет полезным сохранять конфигурацию на внешний TFTP-сервер (Trivial File Transfer Protocol) (к примеру, этот – http://tftpd32.jounin.net). Выполним следующие команды.
Выбираем копируемую конфигурацию:
Router#copy tftp: startup-config
или
Router#copy tftp: running-config
Вводим IP-адрес TFTP-сервера:
Address or name of remote host []?192.168.5.1
Задаём имя сохраняемого файла:
Source filename []?cisco871-strat-config
Пункт 2. Смена стандартного пароля и настройка telnet
По умолчанию telnet отключён на маршрутизаторах Cisco. В первом пункте мы настроили внутренний интерфейс на использование IP-адреса 192.168.5.3 и при попытке подключения посредством telnet увидим следующее сообщение:
C:\>telnet 192.168.5.3
Trying 192.168.5.3 ... Open
Password required, but none set
[Connection to 192.168.5.3 closed by foreign hos
|
Заходим в режим конфигурирования и выполняем следующие команды:
Router#conf t
Router(config)#line vty 0 4
Router(config?line)#login
% Login disabled on line 66, until 'password' is set
% Login disabled on line 67, until 'password' is set
% Login disabled on line 68, until 'password' is set
% Login disabled on line 69, until 'password' is set
% Login disabled on line 70, until 'password' is set
|
Устанавливаем пароль samag:
Router(config?line)#password samag
Пробуем подключиться к маршрутизатору:
C:\>telnet 192.168.5.3
User Access Verification
Password:samag
Router>
|
Устанавливаем пароль samagsecret для доступа к привилегированному режиму (enable):
Router#conf t
Router(config)#enable secret samagsecret
Создаём пользователя user с паролем samaguser:
Router(config)#username user secret samaguser
Router(config)#^Z
Router#wr mem
Пробуем подключиться к маршрутизатору:
C:\>telnet 192.168.5.3
User Access Verification
Username: user
Password:samaguser
Router>enable
Password:samagsecret
|
Пункт 3. Настраиваем доступ в Интернет для внутренних пользователей при помощи NAT
(Network Address Translation – трансляция сетевых адресов)
Создаём пул с публичными IP-адресами или адресом (на эти адреса будут отвечать внешние устройства сети – отправленные пакеты данных должны возвращаться к источнику отправки).
Предположим, что провайдер выделил вашей организации внешний пул IP-адресов: 1.2.3.4-1.2.3.6 с маской 255.255.255.248, тогда пул с названием Internet будет выглядеть так:
Используем один внешний адрес:
Router#conf t
Router(config)#ip nat pool Internet 1.2.3.4 1.2.3.4 netmask 255.255.255.248
Либо используем несколько внешних адресов:
Router#conf t
Router(config)#ip nat pool Internet 1.2.3.4 1.2.3.6 netmask 255.255.255.248
Теперь создаём список доступа (Access Control List, ACL) с перечислением адресов подсетей, которым разрешён выход в Интернет. Более подробно списки доступа рассмотрены ниже.
Router(config)#ip access-list 10 permit 192.168.5.0 0.0.0.255
Настраиваем правила трансляции для IP-адресов внутренней подсети, используя ACL:
Router(config)#ip nat insi\de source list 10 pool Internet overload
Определяем, на каких интерфейсах будет входящий/исходящий NAT:
Router(config)#int et 0
Router(config-if)#in nat inside
Router(config-if)#int et 1
Router(config-if)#in nat outside
Настраиваем шлюз по умолчанию:
Router(config)#ip route 0.0.0.0 0.0.0.0 et 1 (ip route 0.0.0.0 0.0.0.0 Ethernet 1)
или
Router(config)#ip route 0.0.0.0 0.0.0.0 внешний_IP-адрес_шлюза_провайдера (ip route 0.0.0.0 0.0.0.0 a.b.c.d)
Далее как обычно:
Router(config-if)#^Z
Router#wr mem
Пункт 4. ACL – списки доступа
- <1-99> – стандартные списки доступа;
- <100-199> – расширенные списки доступа;
- <1100-1199> – расширенные 48-битные списки доступа по MAC-адресам;
- <1300-1999> – стандартные списки доступа (дополнительные номера);
- <200-299> – списки доступа, основанные на типах протоколов;
- <2000-2699> – расширенные списки доступа (дополнительные номера);
- <700-799> – 48-битные списки доступа по MAC-адресам;
- dynamic-extended – расширенные ACL, зависящие от времени;
- rate-limit – специфические ACL, построенные на оценке лимитов.
Рассмотрим наиболее часто используемые.
Стандартный список доступа (присваиваем 10-й номер списку и разрешаем доступ пятой подсети):
Router(config)#ip access-list 10 permit 192.168.5.0 0.0.0.255
Создаём список доступа с определением протокола, в частности, TCP (рекомендуется создавать «зеркальные» списки доступа). Разрешаем обмен трафиком между хостами a.b.c.d и w.x.y.z:
Router(config)#ip access-list 101 permit tcp host a.b.c.d host w.x.y.z
Router(config)#ip access-list 101 permit tcp host w.x.y.z host a.b.c.d
Примечание: нельзя удалять в режиме конфигурирования одну из строчек ACL при выполнении команды.
Удалим список доступа под номером 101:
Router(config)# no ip access-list 101 permit tcp host a.b.c.d host w.x.y.z
Создаём расширенный список доступа с именем SamagACL:
Router(config)# ip access-list extended SamagACL
Разрешаем прохождение TCP-трафика между хостами a.b.c.d и w.x.y.z:
Router(config-ext-nacl)# permit tcp host a.b.c.d host w.x.y.z
Для удаления одного из правил в списке доступа выполняем команду:
Router(config-ext-nacl)# no permit tcp host a.b.c.d host w.x.y.z
Список доступа по портам. Разрешаем прохождение входящего/исходящего трафика на 80 TCP-порт:
Router(config)#access-list 111 permit tcp any any eq 80
где eq – определение номера порта.
Также можно вместо цифр вводить имена для распространенных портов, к примеру:
Router(config)#access-list 111 permit tcp any any eq WWW
Полный список доступных имён смотрите в справке данной команды:
Router(config)#access-list 111 permit tcp any any eq ?
Пункт 5. Перенаправляем входящий трафик на внутренние серверы
К примеру, мы хотим опубликовать 25 TCP-порт (электронная почта). Делается это следующей командой:
Router(config)#ip nat inside source static tcp 192.168.5.2 25 a.b.c.d 25 extendable
где:
- 192.168.5.2 – адрес почтового сервера;
- a.b.c.d – внешний IP-адрес нашего маршрутизатора.
Пункт 6. Реализуем поддержку раздачи динамических IP-адресов для локальной подсети (DHCP)
Создаём пул DHCP-сервера:
Router(config)# ip dhcp pool Office
где Office – имя создаваемого пула.
Определяем, какую подсеть будет обслуживать DHCP-сервер:
Router(config-dhcp)# network 192.168.5.0 255.255.255.0
Задаём имя домена для клиентов DHCP:
Router(config-dhcp)# domain-name samag.ru
Назначаем шлюз по умолчанию:
Router(config-dhcp)#default-router 192.168.5.3
Примечание: адрес шлюза должен быть из подсети клиентов, в нашем случае это подсеть 192.168.5.0.
Настраиваем список DNS-серверов для выдачи клиентам локальной подсети:
Router(config-dhcp)# dns-server 192.168.5.2
где 192.168.5.2 – адрес внутреннего DNS-сервера.
Устанавливаем срок аренды выданных IP-адресов на 7 дней:
Router(config-dhcp)#lease 7
Исключаем адреса из пула для предотвращения конфликтов (серверам присваиваем статические IP-адреса):
Router(config)# ip dhcp excluded-address 192.168.5.3 192.168.5.4
Router(config)#^Z
Router#wr mem
Заключение
Теперь наш маршрутизатор способен предоставлять ПК внутренней подсети доступ в Интернет, сервис DHCP, почтовый сервер способен принимать почту с внешних адресов на 25-й порт.
- http://cisco.com/en/US/support/index.html.
- http://www.faq-cisco.ru.
- http://www.ciscolab.ru.
- http://ru.wikipedia.org/wiki/Cisco.