Read the article BASIC CONFIGURATION OF THE CISCO ROUTER. ACCESS TO THE INTERNET in English
Рассмотрим схему подключения офиса к сети Интернет с помощью маршрутизатора Cisco. Для примера возьмем модель Cisco 881. Команды для настройки других маршрутизаторов (1841, 2800, 3825…) будут аналогичными Различия могут быть в настройке интерфейсов, вернее в их названиях и нумерации.
В схеме присутствуют:
- канал в Интернет со статическим адресом
- несколько компьютеров в локальной сети офиса
- маршрутизатор
- коммутатор, который используется для организации локальной сети офиса
Задача: обеспечить доступ компьютеров локальной сети в Интернет.
Шаг 0. Очистка конфигурации
Первое, с чего стоит начать настройку нового маршрутизатора – полностью очистить стартовую конфигурацию устройства. (Выполнять только на новом или тестовом оборудовании!) Для этого нужно подключиться с помощью специального кабеля к консольному порту маршрутизатора, зайти в командную строку и выполнить следующее:
Войти в привилегированный режим(#), возможно потребуется ввести логин/пароль.
router> enable
Удалить стартовую конфигурацию
router# write erase
/подтверждение/
Перезагрузить маршрутизатор
router# reload
/подтверждение/
После выполнения маршрутизатор должен перезагрузиться в течение 3ех минут, а при старте вывести запрос о начале базовой настройки. Следует отказаться.
Would you like to enter the basic configuration dialog (yes/no): no
В текущей конфигурации маршрутизатора будут только технологические строки по умолчанию, и можно приступать к основной настройке.
Шаг 1. Имя устройства
Задание имени маршрутизатора для удобства последующего администрирования выполняется командой hostname «название устройства»
router#conf t
router (config)#hostname R-DELTACONFIG
R-DELTACONFIG(config)#
Шаг 2. Настройка интерфейсов
Необходимо настроить 2 интерфейса: внешний и внутренний.
Через внешний интерфейс будет осуществляться связь с Интернет. На нем будут те ip адрес и маска сети, которые предоставил Интернет провайдер.
Внутренний интерфейс будет настроен для локальной сети 192.168.0.0 /24
Предположим, что оператор связи предоставил нам следующие адреса:
- Сеть 200.150.100.0
- Маска подсети 255.255.255.252 или /30
- Шлюз по умолчанию 200.150.100.1
Настроим внешний интерфейс: зададим ip адрес и сетевую маску, и включим его командой no shut
R-DELTACONFIG#conf t
R-DELTACONFIG (config)#
interface Fa 4
ip address 200.150.100.2 255.255.255.252
no shutdown
После этого соединяем этот интерфейс маршрутизатора с портом оборудования провайдера при помощи прямого патч корда и далее проверяем его доступность командой ping.
Сначала собственный интерфейс
R-DELTACONFIG#ping 200.150.100.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 200.150.100.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
Затем соседний адрес — шлюз провайдера
R-DELTACONFIG#ping 200.150.100.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 200.150.100.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/4/10 ms
Убедившись в доступности шлюза Провайдера, переходим к настройке внутреннего интерфейса.
В локальной сети будет использоваться следующая адресация
- Сеть 192.168.0.0
- Маска подсети 255.255.255.0
- Внутренний адрес маршрутизатора, который выполняет роль шлюза в Интернет для всех хостов в сети, 192.168.0.1
- Диапазон внутренних адресов сети (пользователи, принтеры, серверы и.т.д.) советую начинать с адреса 192.168.0.5
- Максимально возможный доступный для использования адрес в этой сети будет 192.168.0.254
- Адреса с 192.168.0.2 до 192.168.0.4 оставим про запас для непредвиденных технологических нужд
Для настройки внутреннего интерфейса локальной сети следует зайти в режим конфигурирования виртуального интерфейса Vlan 1, задать на нем ip адрес и соотнести ему один из физических интерфейсов маршрутизатора (Fa 0).
R-DELTACONFIG#conf t
interface Vlan 1
Ip address 192.168.0.1 255.255.255.0
no shutdown
Выбираем физический интерфейс маршрутизатора и соотносим его с виртуальным Vlan
interface Fa 0
switchport access vlan 1
no shutdown
Для наглядности:
ip address => interface Vlan X => interface Fastethernet Y
Ip адрес присваивается виртуальному интерфейсу Vlan X, а он привязывается к физическому интерфейсу Fastethernet Y.
Интерфейс маршрутизатора Fa 0 нужно соединить с коммутатором, где располагаются рабочие станции локальной сети или напрямую с рабочей станцией администратора. После этого проверить доступность этого интерфейса маршрутизатора с помощью ping из командной строки.
Шаг 3 Настройка удаленного доступа к маршрутизатору
Получить доступ к консоли маршрутизатора можно не только с помощью консольного кабеля, но и удаленно с помощью протоколов Telnet(данные передаются в открытом виде) или SSH(защищенное соединение).
Рассмотрим настройку безопасного подключения.
Включаем протокол SSH 2 версии и задаем произвольное имя домена
R-DELTACONFIG (config)#
ip ssh ver 2
ip domain-name xxx.ru
Генерируем ключи rsa, необходимые для подключения. При запросе указываем 1024.
crypto key generate rsa
How many bits in the modulus [512]: 1024
Задаем имя пользователя с правами администратора и его пароль (*****)
username admin privilege 15 secret 0 *****
Включаем авторизацию через локальную базу устройства (тот пользователь, которого создали строчкой выше)
line vty 0 4
login local
Задаем пароль на привилегированный режим
enable secret 0 *****
После этого при помощи специальной программы, поддерживающей протокол SSH можно зайти в командную строку маршрутизатора удаленно с любой из рабочих станций локальной сети. При авторизации следует ввести логин и пароль, которые были задан. Подробнее про доступ на устройство по протоколу SSH написано в этой статье.
Шаг 4. Шлюз по умолчанию
Для маршрутизации пакетов в сеть Интернет на устройстве необходимо указать шлюз по умолчанию(default gateway).
R-DELTACONFIG (config)#
ip route 0.0.0.0 0.0.0.0 200.150.100.1
После этого можно проверить не только доступность оборудования провайдера, но и полностью канала в Интернет. Для этого необходимо запустить ping до любого адреса во внешней сети в цифровой форме(DNS для локальной сети лучше настраивать после настройки маршрутизатора). Для примера возьмем адрес лидера на рынке ping – www.yandex.ru (93.158.134.3)
R-DELTACONFIG#ping 93.158.134.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 93.158.134.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/5/10 ms
Важно!
Обратите внимание, что на данный момент ping внешних адресов работает только(!) будучи запущенным из консоли управления маршрутизатором. Рабочие станции локальной сети все еще не имеют доступа в Интернет.
Шаг 5 Настройка трансляции адресов (NAT)
Для доступа в Интернет из локальной сети необходимо динамически транслировать все внутренние адреса в определенный внешний ip адрес. В нашем случае, так как провайдер предоставляет только один внешний адрес 200.150.100.2 (определяется маской подсети /30 в условиях примера), то все адреса локальной сети должны транслироваться в него.
Указываем список внутренних адресов, которые будем транслировать во внешний адрес.
R-DELTACONFIG (config)#
ip access-list standard ACL_NAT
permit 192.168.0.0 0.0.0.255
Указываем внутренний интерфейс для процедуры трансляции
Interface Vlan 1
ip nat inside
Указываем внешний интерфейс для процедуры трансляции
Interface Fa 4
ip nat outside
Создаем правило трансляции (NAT)
ip nat inside source list ACL_NAT interface fa4
В результате должен появиться доступ с любой рабочей станции локальной сети в Интернет при условии, что шлюзом по умолчанию указан внутренний ip адрес маршрутизатора (192.168.0.1). Проверить можно с помощью команды ping до адреса в Интернет из командной строки. Желательно, чтобы проверяемый адрес был в цифровом виде, чтобы исключить потенциальные проблемы с DNS именами.
Важно!
В указанном примере меняется собственный адрес источника. Если в процессе работы необходимо транслировать адрес назначения — пускать траффик на вымышленный адрес, чтобы попасть на некий настоящий, то прочитайте статью ip nat outside.
Важно!
Не стоит оставлять полный доступ в Интернет со всех адресов локальной сети. Советую после проверки работоспособности соединения для безопасности ограничить доступ в Интернет и разрешить его только с конкретных адресов — например с прокси сервера и рабочих станций администратора и/или директора. О том как это сделать можно прочитать в статье «немного об access lists«.
Важно!
Не забудьте сохранить конфигурацию на всех устройствах командой write или copy run start. Иначе после перезагрузки все изменения будут потеряны.
R-DELTACONFIG#write
Building configuration...
[OK]
Перейти к оглавлению
Всем привет! Сегодня я на простом примере расскажу вам про настройку роутера Cisco (2911, 1841, 881 и другие модели). Я выдумал некую простую схему с примером, которая позволит вам понять, как подключить локальную сеть к интернету через наш маршрутизатор. Я покажу пример настройки через консоль. Но вы можете делать конфигурирование через программу «Cisco Packet Tracer» – видеоинструкцию смотрим в конце статьи.
Содержание
- Пример подключения
- ШАГ 1: Подключение к маршрутизатору
- ШАГ 2: Reset настроек
- ШАГ 3: Конфигурация интерфейсов
- ШАГ 4: Удаленный доступ к роутеру
- ШАГ 5: Настройка шлюза
- ШАГ 6: Настройка NAT
- Видео
- Задать вопрос автору статьи
Пример подключения
Представим себе, что у нас есть один роутер Cisco. С помощью маршрутизатора мы должны подключить офис с несколькими компьютерами. Для коннекта всех локальных машин будем использовать коммутатор. Fa 4 и Fa 0 – это внешний и внутренний физический интерфейс. Также у нас есть:
- 277.146.101.1 – это шлюз провайдера.
- 277.146.101.2 – это внешний IP адрес роутера, его выдает провайдер.
- 192.168.1.1 – это локальный IP адрес.
Я думаю, схема достаточно понятная и простая.
ШАГ 1: Подключение к маршрутизатору
Для подключения мы будем использовать вот такой вот кабель, который обычно идет в комплекте со всем подобным оборудованием.
С одной стороны консольного кабеля должен быть COM-порт (RS 232). Подключаем один конец в CONSOLE (может иметь надпись CON) порты.
Вы можете столкнуться с проблемой, что у современных компов и ноутов нет подобного входа. Поэтому можно использовать USB переходник.
После подключения скачиваем программку PuTTY – она бесплатная и достаточно удобная. Очень важный момент – в разделе «Connection type» после запуска установите значение «Serial».
И далее нажимаем по кнопке «Open». Если у вас возникли трудности и подключение не происходит, то проверьте в «Диспетчере устройств», какой COM порт используется. Может быть баг, что порт указан не тот. Особенно этот баг проявляется при использовании переходника USB-COM.
Далее вы должны увидеть приветственную надпись в запрос ввода логина и пароля.
ШАГ 2: Reset настроек
Итак, в первую очередь нам нужно полностью очистить старые настройки – они нам ни к чему, все будем делать с нуля (так сказать). Изначально вы увидите вот такую надпись:
router>
Но нам нужно запустить роутер с правами администратора, чтобы вместо стрелочки стояла решетка (#). Для этого вводим команду:
router> enable
Теперь сначала удаляем старый конфиг, а потом ребутаем аппарат:
router# write erase
router# reload
Нужно будет немного подождать. После этого роутер загрузится и выведет сообщение – использовать стандартную конфигурацию? – отвечаем:
no
ШАГ 3: Конфигурация интерфейсов
В первую очередь давайте назовем наше устройство для удобства обращения через команду. Я назвал его: «WIFIGID-ROUTER» – смотрим на картинку. Вообще, если у вас будут возникать какие-то вопросы по командам, то смотрите на схему в начале статьи. Итак, обзываем наш роутер:
router#conf t
router (config)#hostname WIFIGID-ROUTER
После этого вместо «router» вы должны увидеть свое название. Вспомним, что у роутера есть два интерфейса,
Внутренний (связь с локальной сетью) – с адресацией:
192.168.1.0/24
Внешний (связь с глобальным интернетом) – понятное дело, что у нас тут будут статические настройки:
- Сеть провайдера: 277.146.101.0
- Маска: 255.255.255.252 (/30)
- Шлюз: 277.146.101.1
Я придумал все эти значения, просто чтобы показать настройку – вы же подставляйте свои циферки. Маршрутизатор будет выступать шлюзом, и наша задача связать две эти сети и дать клиентам доступ в интернет.
Давайте введем настройки внешнего статического адреса:
WIFIGID-ROUTER #conf t
WIFIGID-ROUTER (config)#
interface Fa 4
ip address 227.146.101.2 255.255.255.252
no shutdown
Для подключения к интернету мы используем четвёртый интерфейс. Выше я задал внешний IP как 227.146.101.2, после этого прописал маску и запустил настройку последней командой. Ах да, не забудьте подключить интернет кабель от провайдера. В качестве проверки пингуем сначала сам роутер:
WIFIGID-ROUTER #ping 227.146.101.2
А потом шлюз провайдера:
WIFIGID-ROUTER #ping 227.146.101.1
Если все хорошо, и оба устройства пингуются, идем настраивать интерфейс для связи с локальной сетью. Локальная сеть у нас будет с адресацией:
192.168.1.0
Локальный адрес роутера:
192.168.1.1
Маска стандартная:
255.255.255.0
И еще один совет – обязательно оставьте пару адресов про запас. То есть диапазон адресов будет примерно от 192.168.1.2 до 192.168.1.10. Остальные уже будут использоваться клиентами и другими устройствами в локалке.
Локальный адрес роутера мы будем прописывать в VLAN:
R-DELTACONFIG#conf t
interface Vlan 1
Ip address 192.168.2.1 255.255.255.0
no shutdown
interface Fa 0
switchport access vlan 1
no shutdown
А для подключения будем использовать интерфейс «Fa 0». Что мы сделали, мы привязали сначала локальный адрес к Vlan. А потом уже VLAN привязали к физическому интерфейсу. Подключаем к этому физическому интерфейсу наш коммутатор, к которому уже будут подключены все рабочие машины, принтеры и другие сетевые устройства.
ШАГ 4: Удаленный доступ к роутеру
Чтобы вам постоянно не сидеть рядом с роутером и подключенным к нему консольным кабелем, я вам советую сразу настроить удалённый доступ. Мы будем использовать подключение по защищенному каналу SSH (второй версии).
WIFIGID-ROUTER (config)#
ip ssh ver 2
ip domain-name wifigid-router-c.ru
Сначала мы запустили SSH-2, а потом прописали произвольный домен. Теперь создаем ключ с помощью команды.
crypto key generate rsa
Далее вылезет вот такая вот надпись:
Вписываем число:
1024
Создаем пользователя с правами админа и паролем. Вместо «password» введите свой пароль.
username admin privilege 15 secret 0 password
Включаем пользователя в базу устройства:
line vty 0 4
login local
И задаем пароль для режима доступа:
enable secret 0 password-2
Опять же вместо «password-2» вводим свой пароль. После этого вы можете использовать любую программу с поддержкой SSH для доступа из локальной сети к этому роутеру.
ШАГ 5: Настройка шлюза
Теперь нам нужно подключиться к шлюзу провайдера:
WIFIGID-ROUTER (config)#
ip route 0.0.0.0 0.0.0.0 227.146.101.1
После этого пингуем любой внешний сайт, но лучше использовать именно IP, а не DNS адрес. Можно даже пропинговать один из DNS-серверов.
WIFIGID-ROUTER#ping 8.8.8.8
ШАГ 6: Настройка NAT
Опять же локальные компьютеры пользователя пока не имеют доступа в интернет, но мы это исправим. Для этого нам нужно настроить динамическую трансляцию локальных IP во внешний. У нас всего один внешний адрес, поэтому локальные адреса должны превращаться в него, проходя через наш роутер, выполняющий роль шлюза.
Прописываем диапазон тех адресов, которые в теории могут использоваться локальными машинами:
WIFIGID-ROUTER (config)#
ip access-list standard ACL_NAT
permit 192.168.1.0 0.0.0.255
Далее указываем наш VLAN:
Interface Vlan 1
ip nat inside
Они будет неким локальным интерфейсом, ведь в VLAN может быть сразу несколько адресов. Теперь указываем физический внешний интерфейс, к которому мы подключили провайдерский кабель:
Interface Fa 4
ip nat outside
А теперь мы создаем NAT правило:
ip nat inside source list WIFIGID_NAT interface fa4
Далее мы уже можем из локальной сети с любого компа клиента пинговать любые интернет-адреса. Также в качестве пробы используем внешний IP адрес. Ну и в самом конце не забудьте сохранить конфиг в память роутера:
WIFIGID-ROUTER#write
Видео
Одной из главных задач при настройке сетевого оборудование Cisco является обеспечение пользователей доступом в Интернет. Провайдер, как правило, выдает один или несколько «белых» IP-адресов. Внутри сети используются «серые» IP, которые не маршрутизируются в Интернет. Необходимо выполнить трансляцию внутренних IP-адресов во внешний глобальный Ip-адрес. Иными словами, необходима настройка NAT на маршрутизаторе Cisco.
Без лишних слов перейдем к нашей схеме.
В данной сети используется три группы: компьютеры пользователей, компьютер админа, сервер. Каждый хост находится в своем VLAN. Необходимо обеспечить доступ в интернет для всех хостов. Для настройки схемы используется эмулятор GNS3. Виртуальный маршрутизатор testR по сути подключен к реальному маршрутизатору TP-Link, находящемуся у меня дома. Виртуальный маршрутизатор будет получать параметры IP автоматически посредством DHCP-запроса. Маршрутизатор TP-Link выдаст IP-адрес из пула внутренних адресов: 192.168.0.100 — 192.168.0.200.
Первым делом покажу предварительные настройки, а именно настройку VLAN. Конфигурация для testSW:
testSW>enable - переходим в расширенный режим testSW#vlan database - создадим VLAN на коммутаторе testSW(vlan)#vlan 2 - создаем VLAN для управления (административный) testSW(vlan)#vlan 3 - создаем VLAN для серверов testSW(vlan)#vlan 10 - создаем VLAN для пользователей testSW(vlan)#apply - применяем настройки testSW(vlan)#exit testSW#configure terminal - переходим в режим конфигурации testSW(config)#interface fa1/0 - настраиваем порт в сторону админа testSW(config-if)#switchport mode access - переводим порт в тегированный режим testSW(config-if)#switchport access vlan 2 - тегируем кадры 2 VLAN'ом testSW(config-if)#no shutdown - включаем интерфейс физически testSW(config-if)#exit testSW(config)#interface fa1/1 - настраиваем порт в сторону сервера testSW(config-if)#switchport mode access - переводим порт в тегированный режим testSW(config-if)#switchport access vlan 3 - тегируем кадры 3 VLAN'ом testSW(config-if)#no shutdown - включаем интерфейс физически testSW(config-if)#exit testSW(config)#interface range fa1/2 - 9 - настраиваем порт в сторону пользователей testSW(config-if)#switchport mode access - переводим порт в тегированный режим testSW(config-if)#switchport access vlan 10 - тегируем кадры 10 VLAN'ом testSW(config-if)#no shutdown - включаем интерфейс физически testSW(config-if)#exit testSW(config)#interface range fa1/15 - настраиваем порт в сторону testR testSW(config-if)#switchport mode trunk - переводим порт в нетегированный режим testSW(config-if)#switchport trunk allowed vlan add 2,3,10 - тегируем кадры 10 VLAN'ом testSW(config-if)#no shutdown - включаем интерфейс физически testSW(config-if)#exit testSW(config)#do write - сохраняем конфигурацию
Конфигурация для testR:
testR>enable - переходим в расширенный режим testR#configure terminal - переходим в режим конфигурации testR(config)#interface fa0/0 - настраиваем порт в сторону testSW testR(config-if)#description testSW - описание интерфейса testR(config-if)#no shutdown - включаем интерфейс физически testR(config-if)#exit testR(config)#interface fa0/0.2 - настраиваем сабинтерфейс для сети управления testR(config-if)#description ADMIN_VLAN - описание интерфейса testR(config-if)#encapsulation dot1q 2 - тегируем кадры 2 VLAN'ом testR(config-if)#ip address 172.16.0.1 255.255.255.0 - задаем IP-адрес шлюза по-умолчанию testR(config-if)#exit testR(config)#interface fa0/0.3 - настраиваем сабинтерфейс для сети серверов testR(config-if)#description SERVER_VLAN - описание интерфейса testR(config-if)#encapsulation dot1q 3 - тегируем кадры 3 VLAN'ом testR(config-if)#ip address 172.16.1.1 255.255.255.0 - задаем IP-адрес шлюза по-умолчанию testR(config-if)#exit testR(config)#interface fa0/0.10 - настраиваем сабинтерфейс для сети пользователей testR(config-if)#description USER_VLAN - описание интерфейса testR(config-if)#encapsulation dot1q 10 - тегируем кадры 10 VLAN'ом testR(config-if)#ip address 172.16.2.1 255.255.255.0 - задаем IP-адрес шлюза по-умолчанию testR(config-if)#exit testR(config)#do write - сохраняем конфигурацию
Следующий этап настройка NAT на маршрутизаторе testR. Так как внешний Ip-адрес всего один, будем использовать трансляцию адресов портов PAT (Port Address Translation). Ключом к пониманию принципа является способ использования хостами портов TCP и UDP. Трансляция NAT использует в своих интересах тот факт, что с точки зрения транспортного уровня сервер не заботит, имеет ли он по одному соединению с каждым из нескольких хостов или же несколько соединений с одним хостом. Перезагрузка NAT (PAT) преобразует не только адрес, но и при необходимости номер порта, делая многие потоки TCP и UDP от разных хостов похожими на то же количество потоков от одного хоста.
При создании динамического сопоставления PAT выбирает не только внутренний глобальный адрес, но и уникальный номер порта, который будет использоваться вместе с этим адресом. Маршрутизатор поддерживает запись в таблице NAT для каждой уникальной комбинации внутреннего локального адреса и порта; при этом поддерживается трансляция во внутренний глобальный адрес и уникальный номер порта, связанный с внутренним уникальным адресом. Поскольку поле номера порта состоит из 16 бит, перезагрузка NAT позволяет использовать более 65 тысяч номеров, портов, что позволяет ей выполнить масштабирование без необходимости иметь много зарегистрированных IP-адресов (во многих случаях требуется лишь один глобальный IP-адрес).
Алгоритм настройки PAT и использованием IP-адреса внешнего интерфейса:
- Настроить внутренние интерфейсы с помощью команды ip nat inside
- Настроить внешние интерфейсы с помощью команды ip nat outside
- Настроить список доступа ACL, которому должны соответствовать пакеты, поступающие на внутренние интерфейсы
- Задать в конфигурации команду глобального конфигурирования ip nat inside source list номер-acl interface тип/номер overload
Приступим к настройке PAT на маршрутизаторе testR:
testR>enable - переходим в расширенный режим testR#configure terminal - переходим в режим конфигурации testR(config)#interface fa0/1 - настраиваем интерфейс в сторону Интернета testR(config-if)#description INTERNET - описание интерфейса testR(config-if)#ip address dhcp - получаем IP-адрес автоматически testR(config-if)#no shutdown - включаем интерфейс testR(config-if)#exit testR(config)#ping 8.8.8.8 - проверяем доступ в Интернет по IP !!!!! Success rate is 100 percent (5/5) testR(config)#ip name-server 192.168.0.1 - указываем адрес DNS-сервера testR(config)#ip domain lookup - включаем определение доменных имен testR(config)#ping ya.ru - проверяем доступ в Интернет по домену !!!!! Success rate is 100 percent (5/5) testR(config)#interface fa0/0.2 - настраиваем сабинтерфейс для сети управления testR(config-if)#ip nat inside - указываем внутренний интерфейс testR(config-if)#exit testR(config)#interface fa0/0.3 - настраиваем сабинтерфейс для сети серверов testR(config-if)#ip nat inside - указываем внутренний интерфейс testR(config-if)#exit testR(config)#interface fa0/0.10 - настраиваем сабинтерфейс для сети пользователей testR(config-if)#ip nat inside - указываем внутренний интерфейс testR(config-if)#exit testR(config)#interface fa0/1 - настраиваем интерфейс в сторону Интернета testR(config-if)#ip nat outside - указываем внешний интерфейс testR(config-if)#exit testR(config)#ip access-list standart test_NAT - настраиваем список доступа для всех групп testR(config-std-nacl)#permit 172.16.0.0 0.0.0.255 - разрешаем доступ в интернет админу testR(config-std-nacl)#permit 172.16.1.0 0.0.0.255 - разрешаем доступ в интернет серверам testR(config-std-nacl)#permit 172.16.2.0 0.0.0.255 - разрешаем доступ в интернет пользователям testR(config-std-nacl)#exit testR(config)#ip nat inside source list test_NAT interface fa0/1 overload
Последняя команда означает преобразование внутренних адресов из списка доступа test_NAT в IP-адрес внешнего интерфейса.
Проверяем доступ в Интернет с компьютера админа:
Пинг до Яндекса идет. В качестве DNS-сервера указан IP адрес маршрутизатора TP-Link 192.168.0.1.
Для просмотра таблицы NAT служит команда show ip nat translations
192.168.0.104 — это IP-адрес внешнего интерфейса маршрутизатора testR.
Помогла ли вам статья?
Спасибо! Ваш голос учтен.
Are you looking to configure a Cisco router for Internet access for the first time? Yes? Great! This post is for you then.
I am going to show you step-by-step a quick and easy way to configure a Cisco IOS router to provide Internet connectivity securely. After putting together a network design diagram, we’re going to execute the following tasks:
At the end of this post, your router should be ready to allow your users to access the Internet.
Are you ready? Let’s go.
Network Design Diagram
The first thing you need to do is to create a basic diagram to lay out all the IP addresses (private and public), physical interfaces (internal and external), and features you want to be turned on. Having a visual of your final network will make it easier for you to carry out the staging, testing, and implementation of your Internet router.
So we have the following information:
- ISP-facing interface: GigabitEthernet 0/0 (or Gi0/0)
- External/Public IP subnet: 165.13.70.64 255.255.255.252
- IP address assigned to the Internet Service Provider (ISP) end: 165.13.70.65
- IP address assigned to you (the customer): 165.13.70.66
- User-facing interface: GigabitEthernet 0/1 (or Gi0/1)
- Internal/Private IP subnet: 172.16.10.0 /24
- IP address assigned to the router: 172.16.10.1
Let’s now configure these IP addresses on the router’s interfaces.
Configure Router Interfaces
Your ISP should provide you with an Ethernet connection to their router. This line, however, could provide IP addresses dynamically via DHCP or statically (manually configured on the router).
In case the ISP’s line provides IP addresses dynamically, I’m going to give you the commands to allow your router to request and receive its public IP address from the ISP. Remember, the provider’s end has to be configured to provide an IP address with the DHCP protocol, which is the protocol used to assign IP addresses.
Router#config term Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface gigabitEthernet 0/0 Router(config-if)#description INTERNET LINE Router(config-if)#ip address dhcp Router(config-if)#no ip proxy-arp Router(config-if)#no ip unreachables Router(config-if)#no ip redirects Router(config-if)#no shutdown Router(config-if)#exit Router(config)#
In our case, the ISP gave you the IP address you need to assign to your router’s ISP-facing interface. I like to use Gi0/0 to connect the ISP’s Ethernet line. Here are the commands to configure an IP address on your Cisco router.
Router(config)#interface gigabitEthernet 0/0 Router(config-if)#description INTERNET LINE Router(config-if)#ip address 165.13.70.66 255.255.255.252 Router(config-if)#no ip proxy-arp Router(config-if)#no ip redirects Router(config-if)#no ip unreachables Router(config-if)#no shutdown Router(config-if)#exit Router(config)#
Now you need to tell your router that any IP packet it doesn’t have a route for, it needs to send it to the ISP. You need to configure a default route.
Router(config)# Router(config)#ip route 0.0.0.0 0.0.0.0 165.13.70.65 Router(config)#end Router#
Make sure that your Interface is up.
Router#show ip interface brief Interface IP-Address OK? Method Status Protocol GigabitEthernet0/0 165.13.70.66 YES manual up up GigabitEthernet0/1 unassigned YES unset administratively down down GigabitEthernet0/2 unassigned YES unset administratively down down GigabitEthernet0/3 unassigned YES unset administratively down down Router#
You can test connectivity to your ISP by pinging the ISP’s end of Internet line connected to Gi0/0.
Router#ping 165.13.70.65 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 165.13.70.65, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 23/187/293 ms Router#
You can test Internet connectivity by pinging a public IP device on the Internet. For instance, you can ping one of Google’s DNS servers 8.8.8.8.
Router#ping 8.8.8.8 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 14/38/94 ms Router#
Let’s configure now your internal IP address on interface Gi0/1.
Router#config term Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface gigabitEthernet 0/1 Router(config-if)# description INTERNAL/PRIVATE SEGMENT Router(config-if)# ip address 172.16.10.1 255.255.255.0 Router(config-if)# no ip proxy-arp Router(config-if)# no ip redirects Router(config-if)# no ip unreachables Router(config-if)# no shutdown Router(config-if)# exit Router(config)#
Now that your router itself has Internet connectivity, let’s configure your router to provide IP addresses to your internal devices.
Configure DHCP Server
A Dynamic Host Configuration Protocol (DHCP) server is a service built into your router that allows your router to distribute IP addresses of a previously configured pool of addresses.
In our example, the network’s internal subnet is 172.16.10.0 /24 and the router has been assigned the 172.16.10.1 IP address to its Gi0/1 interface. You can tell the router to start assigning IP addresses starting from 172.16.10.11 through 172.16.10.254.
A /24 equals to 255.255.255.0. Decimal 255 is 11111111 (eight 1s) in binary. So, 255.255.255.0 equals to 11111111.11111111.11111111.0. And that is 24 bits. That’s why 255.255.255.0 is the same as a /24.
Router(config)#ip dhcp excluded-address 172.16.10.1 172.16.10.10 Router(config)# Router(config)#ip dhcp pool INSIDE Router(dhcp-config)# network 172.16.10.0 255.255.255.0 Router(dhcp-config)# dns-server 8.8.8.8 4.2.2.2 Router(dhcp-config)# default-router 172.16.10.1 Router(dhcp-config)#exit Router(config)#exit Router#
To check your DHCP Pool settings, use the show ip dhcp pool command:
Router#show ip dhcp pool Pool INSIDE : Utilization mark (high/low) : 100 / 0 Subnet size (first/next) : 0 / 0 Total addresses : 254 Leased addresses : 0 Pending event : none 1 subnet is currently in the pool : Current index IP address range Leased addresses 172.16.10.1 172.16.10.1 - 172.16.10.254 0 Router#
When a computer on the inside of the network comes up, that computer will request an IP address via a DHCP Request. When the router sees that request on its Gi0/1 interface, it’ll respond with an IP address from the pool of IPs you just configured. Since you excluded IPs from 172.16.10.1 through 172.16.10.10, the first available IP would be 172.16.10.11.
In addition to the IP address for the PC itself, the DHCP Reply message also contains the IP addresses of the DNS servers (8.8.8.8 and 4.2.2.2) and the default gateway (172.16.10.1) configured.
Notice that we’re using public DNS servers. Remember Internet communications happen in terms of IP addresses. When you type www.cisco.com on your browser, your computer sends a request to its DNS server assigned by DHCP, in our case is 8.8.8.8, and this server with an IP address related to www.cisco.com. Your browser then sends an HTTP request to that IP address to load the home page of www.cisco.com.
If 8.8.8.8 doesn’t respond, a request is sent to 4.2.2.2 as configured above.
A default gateway is used when your PC wants to talk to an IP address that belongs to anything outside its IP address group. For instance, your PC was assigned an IP address from a pool of IPs that starts with 172.16.10.1 through 172.16.10.254.
Your DHCP server, however, was also configured to exclude IPs from 172.16.10.1 through 172.16.10.10 for dynamic assigned. Nevertheless, all IPs from 172.16.10.1 through 172.16.10.254 belong to your group and therefore you can communicate with them directly. Anything outside of that group needs to be sent to the default gateway.
For that reason, when your computer needs to send a DNS request to 8.8.8.8, that request is sent to its default gateway, 172.16.10.1.
Use the show ip dhcp binding command to see what IP addresses have been assigned off the pool configured.
Router#show ip dhcp binding Bindings from all pools not associated with VRF: IP address Client-ID/ Lease expiration Type Hardware address/ User name 172.16.10.11 0063.6973.636f.2d35. Mar 07 2022 08:50 PM Automatic 3235.342e.3030.3034. 2e30.3733.372d.4769. 302f.30 Router#
Notice that the first IP address assigned is the first IP available on the pool.
Configure NAT
The Internet doesn’t know how to talk to any of your PCs with an IP that starts with 172.16.10. That IP subnet is considered private, not routable on the Internet. The only public IP you have on your router is the IP address assigned to your Gi0/0 interface and that is 165.13.70.66.
Network Address Translation (NAT) is another service that can be activated on your router that allows your router to hide your private IP addresses behind your public IP. In other words, your router will convert any private IP range into a public IP or public range.
Simply put, anyone on the Internet won’t know that IP communications, such as browsing a web server, are coming from PCs with IPs within the 172.16.10.0 /24 private range. What the Internet will see is IP communications coming from 165.13.70.66 IP address. And this is thanks to NAT.
When you click on a link on a webpage, that click is a request to display the contents of the webpage the link is pointing to. That request leaves your PC as an IP packet sourced from the IP address of your PC and destined to the IP address of the web server that hosts that new webpage. Remember that the link is based on a name that is then resolved into an IP address by your DNS server.
To configure NAT on your router, enter the following commands:
Router(config)#interface gigabitEthernet 0/1 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)# Router(config)#interface gigabitEthernet 0/0 Router(config-if)#ip nat outside Router(config-if)#exit Router(config)# Router(config)#ip access-list extended NAT-TRAFFIC Router(config-ext-nacl)# permit ip 172.16.10.0 0.0.0.255 any Router(config-ext-nacl)# exit Router(config)# Router(config)#ip nat inside source list NAT-TRAFFIC interface gigabitEthernet 0/0 overload Router(config)#end Router#
To look at the configuration, use the show ip nat statistics command:
Router#show ip nat statistics Total active translations: 0 (0 static, 0 dynamic; 0 extended) Peak translations: 1, occurred 00:03:59 ago Outside interfaces: GigabitEthernet0/0 Inside interfaces: GigabitEthernet0/1 Hits: 200 Misses: 0 CEF Translated packets: 200, CEF Punted packets: 0 Expired translations: 1 Dynamic mappings: -- Inside Source [Id: 1] access-list NAT-TRAFFIC interface GigabitEthernet0/0 refcount 0 Total doors: 0 Appl doors: 0 Normal doors: 0 Queued Packets: 0 Router#
What we’re saying here is that all traffic sourced from any of the IP addresses that belong to the 172.16.10.0 /24 subnet that comes in Gi0/1, goes out Gi0/0, and is directed to ANY IP, replace that source IP of 172.16.10.X with the IP address configured on Gi0/0 interface.
So, for the Internet, traffic is coming from 165.13.70.66 and not from 172.16.10.X. In other words, 172.16.10.X is being replaced/impersonated by 165.13.70.66.
Router#show ip nat translations Pro Inside global Inside local Outside local Outside global icmp 165.13.70.66:0 172.16.10.11:0 8.8.8.8:0 8.8.8.8:0 Router#
The Inside Local IP is the original IP. The Inside Global is the NAT IP that’s impersonating the original IP. The Outside Local and Global are the destination IPs on the Internet. In this case, a ping was executed from 172.16.10.11 to 8.8.8.8. Notice that the protocol is ICMP.
Here’s the output of web access on TCP port 80 from 172.16.10.11 to 8.8.8.8.
Router#show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 165.13.70.66:23440 172.16.10.11:23440 8.8.8.8:80 8.8.8.8:80 Router#
You should know that there are other processes, such as Port Address Translation (PAT), working at the same time to keep track of all the sources and destinations IPs and their TCP ports.
To increase security and reject unauthorized traffic coming from the Internet, you can make use of the Cisco IOS Firewall. Let’s take a look.
Configure Zone-Based Firewall
The IOS firewall, or Zone-Based Firewall, requires the Security License on your router, so make sure you have it.
When configuring this firewall, you’re going to create two zones: the Protected Zone (internal network) and the Untrusted Zone (Internet).
This firewall will keep track of all TCP, UDP, and ICMP conversations initiated from the inside of your network that pass through the router and to the Internet. Notice that I mentioned, “initiated from the inside.”
Return traffic will then be expected by the router and allowed through towards the internal PCs that requested the traffic initially.
Any traffic initiated from the Internet will be denied!
Here’s the list of configuration commands you need to configure the Zone-Based Firewall:
Router(config)#zone security PROTECTED Router(config-sec-zone)# description INSIDE/INTERNAL NETWORK Router(config-sec-zone)# exit Router(config)# Router(config)#zone security UNTRUSTED Router(config-sec-zone)# description INTERNET ISP Router(config-sec-zone)# exit Router(config)# Router(config)#class-map type inspect match-any ALLOWED_OUTBOUND Router(config-cmap)# match protocol tcp Router(config-cmap)# match protocol udp Router(config-cmap)# match protocol icmp Router(config-cmap)# exit Router(config)# Router(config)#policy-map type inspect OUTBOUND Router(config-pmap)# class type inspect ALLOWED_OUTBOUND Router(config-pmap-c)# inspect Router(config-pmap-c)# exit Router(config-pmap)# exit Router(config)# Router(config)#zone-pair security PROTECTED_TO_UNTRUSTED source PROTECTED destination UNTRUSTED Router(config-sec-zone-pair)# service-policy type inspect OUTBOUND Router(config-sec-zone-pair)# exit Router(config)# Router(config)# Router(config)#interface gigabitEthernet 0/1 Router(config-if)#zone-member security PROTECTED Router(config-if)#exit Router(config)# Router(config)#interface gigabitEthernet 0/0 Router(config-if)#zone-member security UNTRUSTED Router(config-if)#exit Router(config)#exit Router#
So, here are the steps:
- You create the security zones.
- You create class-maps to define what traffic you want the IOS firewall to look at – in our case TCP, UDP, and ICMP.
- You create a policy-map that will “inspect” the traffic defined by the class-map – in other words, inspect TCP, UDP, and ICMP conversations.
- You create the zone-pair where you define the direction of the traffic: where the traffic is coming from (source zone) and where it is exiting (destination zone).
- To this zone-pair, you attach the policy-map created to activate traffic inspection.
- You define what interfaces belong to the source and destination zones.
Remember that inspection enables the router to keep track of all the conversation details such as source and destination TCP and UDP ports as well as ICMP traffic.
Here’s a list of show commands for verifications:
Router#show zone security zone self Description: System Defined Zone zone PROTECTED Description: INSIDE/INTERNAL NETWORK Member Interfaces: GigabitEthernet0/1 zone UNTRUSTED Description: INTERNET ISP Member Interfaces: GigabitEthernet0/0 Router# Router#show zone-pair security Zone-pair name PROTECTED_TO_UNTRUSTED Source-Zone PROTECTED Destination-Zone UNTRUSTED service-policy OUTBOUND Router# Router#show policy-map type inspect zone-pair sessions policy exists on zp PROTECTED_TO_UNTRUSTED Zone-pair: PROTECTED_TO_UNTRUSTED Service-policy inspect : OUTBOUND Class-map: ALLOWED_OUBOUND (match-any) Match: protocol tcp 1 packets, 24 bytes 30 second rate 0 bps Match: protocol udp 0 packets, 0 bytes 30 second rate 0 bps Match: protocol icmp 0 packets, 0 bytes 30 second rate 0 bps Inspect Class-map: class-default (match-any) Match: any Drop 0 packets, 0 bytes Router#
At this point, all your users should be able to browse the Internet. All traffic initiated from the Internet will be denied by the firewall. All traffic that comes back from the Internet as a result of requests coming from internal users will be allowed through the firewall.
LOOKING FOR Certification Guides & Practice Tests?
Online Learning Platform for Network Engineers
(formerly Safari Books Online)
Closing
In this post, we covered the step-by-step design and configuration of a Cisco IOS router to allow Internet access. So, at this point, your router should allow your users Internet access with the protection of Cisco’s Zone-Based Firewall.
I hope this post was informative for you.
Cheers.
Время на прочтение
3 мин
Количество просмотров 440K
В последнее время приходится часто настраивать с нуля маршрутизаторы 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. Изменил настройка файрвола (спасибо Fedia)