Cisco для новичков. Часть 4 Учим маршрутизатор маршрутизировать
Часть 1 Первоначальная настройка
Часть 2 SSH или Telnet
Часть 3. Поговорим о бекапах конфигурации.
Собственно, первой части мы назначили ip адрес внутреннего интерфейса. Сегодня мы повесим на внешний интерфейс ip адрес выданный провайдером и настроим маршрутизацию. Поехали.
Gw0(config) #interface Gi 0/1
Gw0(config-if)#ip address 89.80.80.80 255.255.255.248
Gw0(config-if)#description WAN
Gw0(config-if)#no shutdown
Gw0(config-if)#exit
Gw0(config)#ip forward-protocol nd
Gw0(config)#ip route 0.0.0.0 0.0.0.0 89.80.80.80
Включаем скоростную передачу от Cisco для IPv4
Gw0(config)#ip cef
отключаем для IPv6
Gw0(config)#no ipv6 cef
Настраиваем NAT
на WAN интерфейсе
Gw0(config)#interface Gi0/1
Gw0(config-if)#ip nat outside
на локальном интерфейсе
Gw0(config)#interface Gi0/2
Gw0(config-if)#ip nat inside
создаем список IP имеющих доступ к NAT
Gw0(config)#ip access-list extended NAT
Gw0(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 any
включаем NAT на внешнем интерфейсе
Gw0(config)#ip nat inside source list NAT interface Gi0/1 overload
На этом все. Продолжение следует.
Запись опубликована 24.05.2012 автором admin в рубрике cisco, howto, начало, Начинающим.
Cisco для новичков. Часть 4 Учим маршрутизатор маршрутизировать : 3 комментария
- Фарид28.08.2012 в 9:15 дп Лайкайте страницу. Давайте вместе обучаться CISCO
http://www.facebook.com/studycisco
- admin Автор записи 22.07.2015 в 10:23 пп ну Как бы я подразумевал, что народ не додумается вбивать на WAN интерфейс ip из примера, поэтому взял рандомно-сгенерированый IP с маской из головы
Dreamcatcher.ru
Доступ к удаленным сетям с помощью IPSec GRE туннеля между Cisco IOS и FreeBSD
Опубликовано Mixa – 03.10.2019
Добрый день, уважаемые читатели. Хотел бы поделиться своим способом решения одной замысловатой задачи.
Допустим, имеется хост, по какой-либо причине недоступный на территории России. Доступ к этому хосту необходимо обеспечивать из небольшой локальной сети. Для решения проблемы есть возможность воспользоваться виртуальной машиной с FreeBSD 12, размещенной в облаке Microsoft Azure.
Конфигурация маршрутизатора Cisco:
! crypto keyring MyTo pre-shared-key address YYY.YYY.YYY.YYY key MyMegaKey ! crypto isakmp policy 10 encr aes 256 authentication pre-share group 2 ! crypto isakmp invalid-spi-recovery crypto isakmp keepalive 120 20 periodic crypto isakmp nat keepalive 20 crypto isakmp profile MyTo keyring MyTo match identity address YYY.YYY.YYY.YYY 255.255.255.255 initiate mode aggressive ! ! crypto ipsec transform-set MyNet esp-aes 256 esp-sha-hmac ! crypto ipsec profile MyTo set transform-set MyNet set pfs group2 set isakmp-profile MyTo ! interface Tunnel10 description --- To --- ip address 10.255.200.5 255.255.255.252 ip mtu 1400 ip tcp adjust-mss 1360 tunnel source Vlan1 tunnel mode ipsec ipv4 tunnel destination YYY.YYY.YYY.YYY tunnel protection ipsec profile MyTo ! ! router rip version 2 redistribute static route-map RIP passive-interface default no passive-interface Vlan1 network 10.0.0.0 no auto-summary ! ip forward-protocol nd no ip http server no ip http secure-server ip flow-top-talkers top 20 sort-by bytes ! ip route 8.8.8.8 255.255.255.255 10.255.200.6 ! ip prefix-list RIP seq 100 permit 8.8.8.8/32
Так как туннель настраивается в уже существующем окружении, то нет возможности использовать crypto-map(это сильно облегчило бы задачу) и в качестве протокола динамической маршрутизации используется RIP. Я не стал поднимать на удаленном хосте quagga, а ограничился редистрибуцией маршрутов из статики на Cisco.
Приведу свои файлы конфигурации FreeBSD. Так как у нас туннель, а оба устройства имеют приватные адреса, то соответствующая запись в SPD определяются как 0.0.0.0/0, это приводит к тому, что ВЕСЬ трафик на стороне FreeBSD начинает заворачиваться в туннель. Для создания SPD приходится пользоваться racoon ( строка generate_policy on; ), а ipsec.conf будет служить нам для формирования списка исключений хостов, трафик к которым НЕ БУДЕТ заворачиваться в туннель. В примере ниже, в туннель не будет завернут для адреса 8.8.8.8
[root@srv /usr/local/etc/racoon]# cat ipsec.conf flush; spdflush; spdadd -4 10.229.33.4/32 8.8.8.8/32 any -P out none; spdadd -4 8.8.8.8/32 10.229.33.4/32 any -P in none;
[root@srv /usr/local/etc/racoon]# cat racoon.conf path pre_shared_key "/usr/local/etc/racoon/key.txt"; log notify; padding < maximum_length 20; randomize off; strict_check off; exclusive_tail off; >listen < isakmp 10.229.33.4 [500]; isakmp_natt 10.229.33.4 [4500]; >remote XXX.XXX.XXX.XXX < exchange_mode aggressive,main; nat_traversal on; my_identifier address YYY.YYY.YYY.YYY; peers_identifier address 10.255.200.2; lifetime time 86400 sec; dpd_delay 20; dpd_retry 120; doi ipsec_doi; situation identity_only; passive off; proposal_check obey; generate_policy on; proposal < encryption_algorithm aes 256; authentication_method pre_shared_key; hash_algorithm sha1; dh_group 2; >> sainfo anonymous
[root@srv /usr/local/etc/racoon]# cat /etc/rc.conf hostname="srv" ifconfig_hn0="DHCP" ifconfig_hn0_ipv6="inet6 accept_rtadv" sshd_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO" waagent_enable="YES" syslogd_enable="YES" syslogd_flags="-ss" cloned_interfaces="gre0" ifconfig_gre0="10.255.200.6 10.255.200.5 netmask 255.255.255.255 link0 tunnel 10.229.33.4 XXX.XXX.XXX.XXX" static_routes="remotelan" route_remotelan="-net 10.255.0.0/16 10.255.200.5" gateway_enable="YES" # Enable PF pf_enable="YES" pflog_enable="YES" pflog_logfile="/var/log/pf.log" pflogd_enable="YES" pfsync_enable="YES" ipsec_enable="YES" ipsec_program="/usr/local/sbin/setkey" ipsec_file="/usr/local/etc/racoon/ipsec.conf" racoon_enable="YES" racoon_flags="-f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log"
С такими настройками туннель устанавливается, только толку от него не много. Посмотрим на диагностику соединения:
[root@srv /usr/local/etc/racoon]# racoonctl show-sa isakmp Destination Cookies Created XXX.XXX.XXX.XXX.60548 ca6587371be0d32e:5e1b0688d9b899e9 2019-09-26 14:10:08 [root@srv /usr/local/etc/racoon]# racoonctl show-sa ipsec 10.229.33.4[4500] XXX.XXX.XXX.XXX[60548] esp-udp mode=tunnel spi=3340752182(0xc71fd536) reqid=0(0x00000000) E: aes-cbc 1b1b434f 6307f876 ef9eab5e ddadaab6 fc1e7681 965bb341 8b00c751 2b6e0795 A: hmac-sha1 370b608e c0c928c8 ac1058a9 10c59cc7 50cd5599 seq=0x000009a3 replay=4 flags=0x00000000 state=mature created: Sep 26 14:10:09 2019 current: Sep 26 14:33:35 2019 diff: 1406(s) hard: 3600(s) soft: 2880(s) last: Sep 26 14:10:11 2019 hard: 0(s) soft: 0(s) current: 357656(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 2467 hard: 0 soft: 0 sadb_seq=1 pid=50504 refcnt=1 XXX.XXX.XXX.XXX[60548] 10.229.33.4[4500] esp-udp mode=tunnel spi=172050126(0x0a4146ce) reqid=0(0x00000000) E: aes-cbc 67f31bd3 60bc9040 103cd5d7 f6d30031 876921cc 0da3ca18 f2048c9e f9e620e5 A: hmac-sha1 8455336c d0b1de88 bac3c433 88298de6 34c064c6 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: Sep 26 14:10:09 2019 current: Sep 26 14:33:35 2019 diff: 1406(s) hard: 3600(s) soft: 2880(s) last: Sep 26 14:10:11 2019 hard: 0(s) soft: 0(s) current: 162564(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 2492 hard: 0 soft: 0 sadb_seq=0 pid=50504 refcnt=1 [root@srv /usr/local/etc/racoon]# setkey -DP 8.8.8.8[any] 10.229.33.4[any] any in none spid=1740 seq=3 pid=50892 scope=global refcnt=1 0.0.0.0/0[any] 0.0.0.0/0[any] any in ipsec esp/tunnel/XXX.XXX.XXX.XXX-10.229.33.4/require created: Sep 26 14:10:09 2019 lastused: Sep 26 14:33:41 2019 lifetime: 3600(s) validtime: 0(s) spid=1741 seq=2 pid=50892 scope=global refcnt=2 10.229.33.4[any] 8.8.8.8[any] any out none spid=1739 seq=1 pid=50892 scope=global refcnt=1 0.0.0.0/0[any] 0.0.0.0/0[any] any out ipsec esp/tunnel/10.229.33.4-XXX.XXX.XXX.XXX/require created: Sep 26 14:10:09 2019 lastused: Sep 26 14:33:41 2019 lifetime: 3600(s) validtime: 0(s) spid=1742 seq=0 pid=50892 scope=global refcnt=3
Для того, чтобы мы могли достигать целевой хост, для чего всё и затевалось, через FreeBSD, нам необходимо настроить NAT и межсетевой экран:
###################################### # macros ###################################### # Define the external/public interface ext_if="hn0" # Define the internal LAN interface int_if="gre0" # Define a list of services to allow traffic for tcp_services="< 22 >" udp_services="< 500, 4500 >" # Define what types of ICMP to allow icmp_types="echoreq" ###################################### # options ###################################### set block-policy return set loginterface $ext_if set skip on lo scrub in ###################################### # nat/rdr ###################################### # Handle the NAT forwarding for the LAN nat on $ext_if inet from !($ext_if) -> ($ext_if:0) ###################################### # filter rules ###################################### # Block all incoming block in # Allow outgoing and keep state pass out keep state # The antispoof mechanism protects against activity from spoofed or forged IP addresses antispoof quick for < lo $int_if ># Allow requests for our ports/services defined in the $tcp_services macro above to the server pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services pass in on $ext_if inet proto udp from any to ($ext_if) port $udp_services pass out on $ext_if inet proto tcp to any port $tcp_services keep state # Allow the defined ICMP types pass in inet proto icmp all icmp-type $icmp_types # Allow all internal traffic pass from ($int_if) to any keep state pass quick on $int_if no state
В качестве теоретического упражнения (ни в коем случае не для решения практических задач обхода каких-либо то ни было блокировок!) был написан скрипт, который может брать неструктурированную базу IP адресов, например, базу адресов, заблокированных на территории РФ и генерировать два конфигурационных файла, ipsec.conf для FreeBSD и cisco.conf для Cisco примерно такого содержания:
. spdadd -4 10.229.33.4/32 59.106.0.0/16 any -P out none; spdadd -4 59.106.0.0/16 10.229.33.4/32 any -P in none; .
. ip route 89.163.0.0 255.255.0.0 10.255.200.6 ip prefix-list RIP seq 4296 permit 89.163.0.0/16 .
Обращаю ваше внимание, что на момент написания статьи в базе РКН было 1605333 адресов. Для того, чтобы не разорвало таблицу маршрутизации Cisco, в скрипте есть возможность суммаризации по маске, что дает 4518 сетей /16
- Категория: BSD, Cisco
- Оставьте ответ
Cisco router первичная настройка
удаляем имеющуюся конфигурацию, находящуюся во флэш-памяти, и перезагружаем маршрутизатор:
Router#erase startup-config
Router#reload
Ждем пока роутер перезагрузится, наблюдая за процессом загрузки в окне консоли, после чего снова переходим в превилигированный режим
Router>enable
Переходим в конфигурационный режим и даем команду hostname:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname Gw0
Gw0(config)#
Включим режим хранения паролей в файле конфигурации устройства в зашифрованном виде:
Gw0(config)#service password-encryption
Отключим управление маршрутизатором через http и https и CDP
Gw0(config)#no ip http server
Gw0(config)#no ip http secure-server
Gw0(config)#no cdp run
Зададим пароли на подключения через консольный порт
Gw0(config)#line con 0
Gw0(config-line)#password пароль
Gw0(config-line)#login
Gw0(config-line)#exit
Gw0(config)#line vty ? О, сколько он там сказал доступно? 0-1441 значит line vty 0 1441 ))
Gw0(config-line)#password пароль
Gw0(config-line)#login
Gw0(config-line)#exit
Зададим пароль на Enable режим
Gw0(config) enable secret пароль_enable_режима
Перейдем к настройке интерфейса внутренней сети. Если маршрутизатор имеет гигабитные порты то названия портов можно сократить как Gi 0/0 (Gigabit ethernet) , если 100 Мбитные то скорее всего это будут Fa (fast ethernet)
В принципе, если вы сомневаетесь в команде, нажмите TAB — в командной строке команда дописалась? значит норма, не помните что вводить? введите знак вопроса… IOS выдаст вам все доступные команды в данном контексте.
Gw0(config) #interface Gi 0/0
Gw0(config-if)#ip address 192.168.0.1 255.255.255.0
Gw0(config-if)#description LAN
Gw0(config-if)#no shutdown
Gw0(config-if)#exit
Gw0(config)# ip name-server 192.168.0.2
Все, маршрутизатор доступен телнетом по 192.168.0.1
Записываем конфигурацию в память командой
Gw0# copy running-config startup config или командой wr
Переходим в превелегированный режим
Gw0>enable
Устанавливаем точное время для генерации ключа
Gw0#clock set 20:10:00 23 May 2012
Переходим в конфигурационный режим
Gw0#configure terminal
Указываем имя домена (необходимо для генерации ключа)
Gw0# ip domain name iamroot.ru
Генерируем RSA ключ
Gw0(config)# crypto key generate rsa
Заводим пользователя user
Gw0(config)# username user privilege 15 secret пароль
Активируем протокол ААА ( про данный протокол я расскажу позже более подробно )
Gw0(config)# aaa new-model
Входим в режим конфигурирования терминальных сессий ( Gw0(config)#line vty ? О, сколько он там сказал доступно? 0-1441 значит line vty 0 1441 )) )
Gw0(config)#line vty 0 1441
средой доступа через сеть по умолчанию у нас будет SSH
Gw0(config-line)# transport input ssh
Наверное вы обратили внимание что некоторые события пишутся в консоль что не очень удобно при наборе команды именно поэтому включаем автоматическое поднятие строки
Gw0(config-line)# logging synchronous
время таймаута до автоматического закрытия SSH сессии в 30 минут
Gw0(config-line)#exec-timeout 30 0
Gw0(config)#ip ssh version 2 — ставим последнюю версию SSH
Gw0(config)#ip domain-name Router — указываем доменное имя
Gw0(config)#crypto key generate rsa — генерируем ключи (1024 kb)
Выходим из режима конфигурирования нажатием Ctrl+Z
Gw0# wr
Следующая команда копирует текущую рабочую конфигурацию IOS Cisco в конфигурацию запуска:
Gw0#copy running-config startup-config
Gw0#copy run start
Gw0#wr
чтобы сохранить рабочую конфигурацию на сетевом сервере при помощи протокола TFTP:
Gw0#copy run tftp://192.168.0.100
Address or name of remote host [192.168.0.100]? [enter]
Destination filename [router-confg]? [enter]
Чтобы сохранить конфигурацию на CF карте
Gw0#copy run flash:
Чтобы вернуть из бекапа соответственно меняем местами источник и место назначения
Gw0#copy flash: run
И не забываем любимую комманду
Gw0# wr
Gw0(config) #interface Gi 0/1
Gw0(config-if)#ip address 89.80.80.80 255.255.255.248
Gw0(config-if)#description WAN
Gw0(config-if)#no shutdown
Gw0(config-if)#exit
Gw0(config)#ip forward-protocol nd
Gw0(config)#ip route 0.0.0.0 0.0.0.0 89.80.80.80
Включаем скоростную передачу от Cisco для IPv4
Gw0(config)#ip cef
отключаем для IPv6
Gw0(config)#no ipv6 cef
на WAN интерфейсе
Gw0(config)#interface Gi0/1
Gw0(config-if)#ip nat outside
на локальном интерфейсе
Gw0(config)#interface Gi0/2
Gw0(config-if)#ip nat inside
создаем список IP имеющих доступ к NAT
Gw0(config)#ip access-list extended NAT
Gw0(config-ext-nacl)#permit ip 192.168.0.0 0.0.0.255 any
включаем NAT на внешнем интерфейсе
Gw0(config)#ip nat inside source list NAT interface Gi0/1 overload
Gw0#conf t
Gw0#(dhcp-config)#ip dhcp pool LAN
Gw0#(dhcp-config)#network 192.168.0.0 255.255.255.0
Gw0#(dhcp-config)#dns-server 192.168.0.1
Gw0#(dhcp-config)#default-router 192.168.0.1
время жизни выданного адреса в днях
Gw0#(dhcp-config)#lease 7
Gw0#(dhcp-config)#exit
указывается диапазон, из которого выдавать адреса нельзя
Gw0(config)#ip dhcp excluded-address 192.168.0.1 192.168.0.100
Gw0(config)#ip dhcp excluded-address 192.168.0.200 192.168.0.254
конфигурирование DHCP завершено, переходим к настройке кэширующего DNS сервера
Доменное имя компании
Gw0(config)#ip domain name iamroot.ru
DNS адреса провайдера
Gw0(config)#ip name-server xxx.xxx.xxx.xxx
Gw0(config)#ip name-server yyy.yyy.yyy.yyy
Включаем трансляцию имен в адреса
Gw0(config)#ip domain-lookup
включаем DNS сервер
Gw0(config)#ip dns server
Gw0(config)#exit
Gw0#write
Собственно мы можем использовать конвейеры при выводе команд ( допустим show )
Допустим выведем только те строки где встречается PPP
vpn#show processes cpu | include PPP
138 0 3 0 0.00% 0.00% 0.00% 0 PPP SIP
139 0 5 0 0.00% 0.00% 0.00% 0 PPP Bind
140 4 10 400 0.00% 0.00% 0.00% 0 PPP IP Route
189 0 2 0 0.00% 0.00% 0.00% 0 PPP Compress Inp
190 0 2 0 0.00% 0.00% 0.00% 0 PPP Compress Res
207 0 2 0 0.00% 0.00% 0.00% 0 PPP NBF
376 11940 4395282 2 0.07% 0.07% 0.07% 0 PPP manager
377 8332 4395327 1 0.07% 0.04% 0.05% 0 PPP Events
378 204 141170 1 0.00% 0.00% 0.00% 0 Multilink PPP
Либо исключаем используя exclude
Вывести конфигурацию начиная со слова router можно командой sh run | begin router
Отобразить какой-либо определенный раздел конфигурации sh run | section router eigrp
Отобразить строки в которых встречаются слова «Administrative Mode» или «Fa»: sh interface switchport | i Administrative Mode|Fa
Перенаправление вывода команды на TFTP-сервер и вывод команды в консоли:
vpn# sh ip int br | tee tftp://192.168.0.1/bri.txt
Добавление вывода команды к уже существующему файлу:
vpn# sh ip int br | append tftp://192.168.0.1/bri.txt
Чуточку дебага NAT и DHCP
router# sh ip nat translations
router# sh ip nat statistics
router# debug ip nat
router# show ip dhcp binding
router# show ip dhcp conflict
router# show ip dhcp server statistics
router# clear ip dhcp binding [ip-address]
Настройка Cisco Configuration Professional
Router(config)# line vty 0 4
Router(config-line)# privilege level 15
Router(config-line)# login local
Router(config-line)# transport input telnet
Router(config-line)# transport input telnet ssh
Router(config)# ip http server
Router(config)# ip http secure-server
Router(config)# ip http authentication local
Router(config)# username privilege 15 password 0
Сброс пароля и базовая настройка Cisco 1941

Бывает так, что приходится сталкиваться с задачами, к решению которых ты вроде бы и не готов, а получить результат надо здесь и сейчас. Знакомо, да? Добро пожаловать в мир восточноевропейского менеджмента с соответствующей культурой управления.
Итак, допустим, ты представитель местечкового провайдера, уже знающий, как настроить какой-нибудь ASUS, но волею судьбы ещё не получивший сертификат CCNA. Рядом с тобой стоит местный админ, тоже без сертификата, глазами молящий ничего не «сбрасывать в ноль», ибо «всё работает, я просто не знаю пароль, только вы никому не говорите».
Подобные ситуации не редкость в наше ковидном мире, когда отделы со своей инфраструктурой тасуюся ежеквартально, директора направлений таинственно исчезают, а очередной управленец, дабы продемонстрировать собственную эффективность, ссорится с единственным цискарём в округе и заключает договора обслуживания при помощи сайта объявлений.
Проведём же вместе сеанс чёрной айтишной магии с последующим её разоблачением. А именно : сбросим пароль, настроим интерфейсы (локальный и внешний), соединим эти сети маршрутами и трансляцией адресов и прикроем(нет) фаерволом. Кирпич с фирменным шильдиком волшебным образом превратится в полезное сетевое устройство.
Устройство и нужные нам интерфейсы
Вот она, наша девочка. Как опытные ребята, подходим с правильной стороны:

Если подключаться в Ethernet порты, которые жёлтые, то нужно знать IP адреса на этих интерфейсах и пароли на вход — основной и «повышенный» (под которым, собственно и надо всё настраивать). Если чего-то из этого нет, то добро пожаловать в консоль. Её порты помечены нежно-голубым цветом. Такой же цвет у фирменного консольного кабеля Cisco, который обычно к этому времени потерялся.

По нынешним временам COM-порт есть далеко не в каждом ноуте, поэтому придётся к этому шнурку брать стандартный COM-USB переходник. Но можно присмотреться и увидеть, что рядом со «старым» консольным портом есть mini-usb порт с тем же назначением. Переходник в данном случае встроен в циску, и, да, на него нужны драйвера. Устанавливаем их, ребутимся и подключаемся снова. После подключения Cisco через кабель miniusb в списке оборудования в разделе Порты (COM и LPT) появился Cisco Serial (COM14) (не обязательно именно 14, ну что поделать). Для дальнейшей работы рекомендую терминальную программку Putty, ибо в ней есть всё, что необходимо, и она проста, как полено. На сегодня нам от неё нужно будет подключение по интерфейсу Serial (Com14) и впоследствии Telnet (TCP23).
Сбрасываем пароли
Включаем циску и подключаемся в Putty к порту Serial (название COM14, Baud Rate 9600). Убеждаемся, что коннект есть. Далее надо перезагрузить маршрутизатор в ROMMON – начальный загрузчик – совсем урезанную версию операционной системы, которая загружается до cisco IOS и используется для сервисных целей (обновление IOS, восстановление пароля). Чтобы перезагрузить маршрутизатор в ROMMON, нужно прервать обычный процесс загрузки в IOS – для этого в самом начале загрузки надо отправить сигнал прерывания.
Выключаем, и не разрывая консольный сеанс, Включаем Cisco 1941 и нажимаем клавишу Break (она же клавиша Pause) или комбинацию Ctrl+Break на клавиатуре (если в ноуте этого нет, в Putty по правой кнопке мыши можно вызвать special command – break). Полная таблица с сигналами прерывания для разных терминалов находится здесь.
Видим приглашение в режим rommon (ROM monitor) :
Вводим команду изменения конфигурации регистра командой confreg и после перезапускаем роутер командой reset
rommon 1 > confreg 0x2142
rommon 2 > reset
Повышаем привилегии командой enable или просто en И пароль она тут не просит 🙂
Копируем «запароленный» конфиг в память роутера:
Router1#copy startup-config running-config
После этого применится старый конфиг, который был запаролен, но при этом мы уже находимся в привилегированном режиме, откуда можем выставить новые пароли для привилегированного режима, telnet и консоли.
Router1(config)#enable secret $$$NewPassword
Router1(config)#enable password $$$NewPassword
Router1(config)#line vty 0 4
Router1(config)#line console 0
Главное, в конце не забыть вернуть значения регистров по умолчанию. Если этого не сделать, то наш новый конфиг снова будет проигнорирован после перезагрузки роутера.
Router1(config)# config-register 0x2102
Копируем загруженный конфиг в стартовый и перезагружаемся:
Router1# copy running-config startup-config
Роутер теперь с новым паролем для консоли, телнета и привилегированного режима. Ура. Можно отдать циску просиявшему админу вместе с настройками «нового интернета» (мы же от провайдера приехали, помните?). Если во взгляде местного системного администратора затаились нерешительность и страх, то поможем бедолаге.
Настройка интерфейсов
Чтоб два раза не приезжать, пробежимся по всем нужным настройкам «чтоб взлетело». У циски два «жёлтых» интерфейса: GigabitEthernet0/0 и GigabitEthernet0/1. Обычно они должны смотреть в сторону WAN и LAN соответственно, да будет так.
Адресация в WAN, допустим 100.200.100.202/30 со шлюзом провайдера 100.200.100.201
Адресация в LAN, как водится, 192.168.1.1/24 с локальным интерфейсом циски 192.168.1.1
Всё делаем из под рута:
Для конфигурации используем команду configure terminal, для выхода — exit:
Настраиваем локальный интерфейс:
#ip address 192.168.1.1 255.255.255.0
Настраиваем DHCP (на всю подсеть кроме .1-.50 и .200-.254).
#ip dhcp excluded-address 192.168.1.200 192.168.1.254
#ip dhcp excluded-address 192.168.1.1 192.168.1.50
#ip dhcp ping packets 4
#ip dhcp pool MY_DHCP_POOL_1
#network 192.168.1.0 255.255.255.0
Всё, после этой настройки можно подключаться телнетом из локалки при желании (удобно для проверок)
При подключении должен примениться адрес из DHCP пула и пинговаться циска. Советую запустить ping -t чтоб мониторить на всякий случай.
Настраиваем внешний интерфейс:
#ip address 100.200.100.202 255.255.255.252
Тут должен начать пинговаться шлюз прова — 100.200.100.201 — но только от самой циски, не с ноута (между сетями-то пакеты пока не ходят)
#ip forward-protocol nd
#ip route 0.0.0.0 0.0.0.0 100.200.100.201
Тут от самой циски должен начать пинговаться 8.8.8.8
#ip domain timeout 2
#ip name-server 8.8.8.8
#ip name-server 77.88.8.8
Тут от самой циски должен начать пинговаться ya.ru
#copy running-config startup-config (или просто #wr )
В итоге мы настроили на циске две сети, в которых она будет жить и трудиться. Далее надо будет их соединить.
Его величество межсетевой экран
Собственно, его величество фаер. В ипостасях NAT и списков доступа (ACL)
Тут много построено на этих самых списках, ссылки на них вбиваются как в правила интерфейсов (access-group), так и в правилах NAT, поэтому заносить надо аккуратно. Списки работают строго сверху вниз. Поэтому правила для any обычно последние (и они не нужны — по дефолту для any всё запрещено). Список доступа может быть стандантным (access-list standard) , либо расширенным (access-list extended). Отличаются детализацией — у стандартного только действие и источник пакетов, например.
Настройка NAT
Собираем локальную область для маскарадинга (да, я знаю, что это термин для iptables, но суть та же):
#ip access-list standard 10
#permit 192.168.1.0 0.0.0.255
Назначаем стороны маскарадинга (интерфейсы):
Cамое важное: включаем собственно правило (одной строкой):
#ip nat inside source list 10 interface gigabitethernet0/0 overload
Закрываемся от атаки по TCPSYN:
#ip tcp synwait-time 30
Настраиваем список доступа – для внешнего интерфейса (если настроить для внутреннего, то нужны разрешения для dhcp трафика). Первым делом закроем единственный сетевой доступ — телнет (tcp 23). Если подняты http(s) или ssh – тоже закрыть
Пишем список (особое внимание – протоколу icmp)
#ip access-list extended 101
#deny tcp any any eq 23
#permit tcp any any
#permit udp any any
#permit icmp any any echo-reply
#permit icmp any any time-exceeded
#permit icmp any any unreachable
#deny ip any any
Вешаем список на вход во внешний интерфейс:
#ip access-group 101 in
#copy running-config startup-config (или просто #wr )
Так то список только базовую «защиту» обеспечивает, но это головная боль админа уже. После поднятия всех сервисов и их проверки, можно написать построже и применить.
У нас пингуется всё изнутри и циска снаружи. Интернет работает, почта ходит. Все счастливы, танцуют, обнимаются, деньги в карманы засовывают. Твой социальный рейтинг растёт на глазах.
P.S. Полезные команды
Почти весь мониторинг — это команда show. У неё есть короткая форма sh , которую я не рекомендую, ибо такая же короткая форма есть у команды shutdown
Собственно, включение чего-либо, например, интерфейса выглядит вот так:
Выведем на почитать/скопировать весь конфиг:
Можно посмотреть возможности команды show:
Просмотр сводной информации по интерфейсам:
#show ip interface brief
Просмотр информации по интерфейсам L2:
#show interface summary
Просмотр адресов, выданных по DHCP:
#show ip dhcp bind
Удаление строк конфига:
#no [строка конфига]
Например, удалим шлюз по умолчанию:
#no ip default-gateway
Удаляем ВЕСЬ список доступа:
#no ip access-list extended 101
Удаление статического маршрута:
#no ip route [маршрут]
Что-ж для первого визита вполне достаточно. При помощи этой нехитрой магии ты заведёшь себе много друзей, юный падаван 🙂 И не забудь предупредить местного админа о том, что если он как следует не настроит ACL, их сетку могут в скором времени ждать крупные неприятности. Но это уже совсем другая история.
У нас быстрые серверы для любых экспериментов.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

- Блог компании Маклауд
- Системное администрирование
- IT-инфраструктура
- Cisco
- Сетевые технологии