Научиться работать через COM порт в Ubuntu с устройством CISCO ASA 5505
Решил в свободное время на работе начать повышать свой кваллификационный уровень значимости себя как специалиста в компании , но ведь как известно, что чем больше ты якобы разбираешься в возникающих проблемах, то тем слабее ты как специалист, но от этого никуда не убежать, невозможно знать все на свете очень и очень хорошо. Можно быть специалистом в одной области, но как системный администратор я себе такого позволить не могу, почему – ну кому я буду нужен если я буду только в Windows системах к примеру разбираться, получается мне дорога только в крупные компании, там то уж я выше головы не прыгну, но я не такой – я хочю и могу контролировать различные области настройки и обслуживания самостоятельно – мне это нравится. И вот теперь я решил взяться за работу с сетевой частью , а именно в моем распоряжении появилась железка CISCO ASA 5505 – для меня это многое значит. Но как начать ее пользоваться, конечно я думаю для многих это не вызываем проблем, типа взял да подключил, но когда ты к сетевому оборудованию не имел доступа, то для тебя по первой это темный лес, что я имею: у меня есть консольный провод, а на другом конце обычный сетевой разъем RJ45, но цветовая расцветка которого имеет отличия от того каким прокладывают сеть:
- Сервый
- Синий
- Зеленый
- Желтый
- Оранжевый
- Красный
- Коричневый
- Черный
По схеме из документации я вижу, как устройство нужно подключить к компьютеру
(ноутбук если его использовать должен иметь в наличии COM порт (для справки это: разъем RS232) или переходник (USB COM PORT) на него, но сейчас на 2015 год встретить такой ноутбук целая проблема)
Подключив данный COM порт к компьютеру, в настоящий момент на рабочем месте я использую ось: OpenSUSE 13.2 amd64 через консоль терминала определяю информацию по определившему оборудованию в системе:
aollo@system:~> sudo setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
Эти данные мне понадобятся, когда я хочю воплотить такую задумку в практическую часть по рассмотрению, как на своей системе с установленной средой VirtualBOX (использую для тестов) сделать пробросс COM порта внуть гостевой оси, а именно Ubuntu 12.04.5 Server amd64, я просто хочю разобрать как работать с COM портом, кто-то скажет, зачем пробрассывать в Ubuntu если у тебя рабочая станцию OpenSUSE, просто мне OpenSUSE не нравиться, а использовать Ubuntu на рабочем месте по многим причинам пока не представляется возможным, к примеру управление кластером который используется не поддерживает самую последнюю версию, но да ладно вернуть к решению своей головоломке.
Создаю виртуальную машину (или откатываю уже существующую на любой удобный мне снапшот) и в настройках предопределяю используемый COM-порт, вот так как представленно на ниже приведенном скриншоте.
- Порт 1:
- Включить последовательный порт
- Номер порта: COM1
- Прерывание: 4 (это из вывода выше IRQ)
- Порт B/B: 0x03f8 (это также из вывода выше Port)
- Режим порта: Хост-устройство
- Путь к порту/файлу: /dev/ttyS0
Когда виртуальная машина с Ubuntu 12.04.5 Server amd64 на борту загрузиться устанавливаю пакет приложения который может работать с COM-портами:
ekzorchik@srv-mon:~$ sudo apt-get install minicom
Запускаю утилиту minicom:
ekzorchik@srv-mon:~$ minicom
minicom: cannot open /dev/tty8: Permission denied
Ага, нужно права суперпользователя, исправляюсь:
ekzorchik@srv-mon:~$ sudo minicom
Нажмите Ctrl-A Z чтобы попасть в меню справочных команд
Чтобы отредактировать подключение то нажимаем O (Configure Minicom), переходим на Serial port setup для выставления параметров соединения:
Нажимаем клавишу: “A” и приводим значение Serial Device к виду определенному системой, в моем случае это: /dev/ttyS0 и нажимаем Enter
а после нажимаем клавишу “E”
и здесь нужно нажать: CLVW
После нажимаем клавишу: F = для изменения значения на Yes
А после уже смотрю изменился статус подключения с offline на online (хотя может и не измениться – это не столь важно)
CTRL-A Z for help | 9600 8N1 | NOR | Minicom 2.7 | VT102 | Online 1:38 | ttyS0
Далее сохраняем конфиг на подключение – Save setup as
Выходим из minicom (Exit → Ctrl – A + Q → на вопрос Leave without reset? Отвечаем Yes) и подключаемся с помощью minicom и сохраненным конфигом к устройству:
ekzorchik@srv-mon:~$ sudo minicom -c on config-asa
после нажимаем Enter и Enter и у Вас должно появиться приглашение на ввод команд для получения/изменения информации на устройстве:
Если же у Вас не подхватился сохраненный конфигурационный файл, то когда набрали команду выше можно проделать все действия по определению параметров подключения к устройству подключенному к компьютеру через COM порт, сохранить настройки, выйти и заново набрать команду:
ekzorchik@srv-mon:~$ sudo minicom -c on config-asa
и подключение пройдет (видимо это глюк, но у меня так заработало), нажимаем Enter и получаем ожидающую строку ввода:
ciscoasa> — ожидающая строка ввода на управление CISCO ASA 5505
На заметку: Чтобы отобразить справку по командам или по ключам команды, то синтаксис следующий: ? — отобразить список всех команд, show ? — отобразить справку по команде.
ciscoasa> show version
Cisco Adaptive Security Appliance Software Version 8.3(2)
Device Manager Version 6.3(2)
Compiled on Fri 30-Jul-10 20:17 by builders
System image file is «disk0:/asa832-npe-k8.bin»
Config file at boot was «startup-config»
ciscoasa up 18 mins 29 secs
Hardware: ASA5505, 512 MB RAM, CPU Geode 500 MHz
Internal ATA Compact Flash, 128MB
BIOS Flash M50FW016 @ 0xfff00000, 2048KB
Encryption hardware device : Cisco ASA-5505 on-board accelerator (revision 0x0)
Boot microcode : CN1000-MC-BOOT-2.00
SSL/IKE microcode: CNLite-MC-SSLm-PLUS-2.03
IPSec microcode : CNlite-MC-IPSECm-MAIN-2.06
0: Int: Internal-Data0/0 : address is 74a0.2f5a.e2d6, irq 11
1: Ext: Ethernet0/0 : address is 74a0.2f5a.e2ce, irq 255
2: Ext: Ethernet0/1 : address is 74a0.2f5a.e2cf, irq 255
3: Ext: Ethernet0/2 : address is 74a0.2f5a.e2d0, irq 255
4: Ext: Ethernet0/3 : address is 74a0.2f5a.e2d1, irq 255
5: Ext: Ethernet0/4 : address is 74a0.2f5a.e2d2, irq 255
6: Ext: Ethernet0/5 : address is 74a0.2f5a.e2d3, irq 255
7: Ext: Ethernet0/6 : address is 74a0.2f5a.e2d4, irq 255
8: Ext: Ethernet0/7 : address is 74a0.2f5a.e2d5, irq 255
9: Int: Internal-Data0/1 : address is 0000.0003.0002, irq 255
Licensed features for this platform:
Maximum Physical Interfaces : 8 perpetual
Dual ISPs : Disabled perpetual
VLAN Trunk Ports : 0 perpetual
Inside Hosts : 10 perpetual
Failover : Disabled perpetual
VPN-DES : Enabled perpetual
VPN-3DES-AES : Disabled perpetual
SSL VPN Peers : 2 perpetual
Total VPN Peers : 10 perpetual
Shared License : Disabled perpetual
AnyConnect for Mobile : Disabled perpetual
AnyConnect for Cisco VPN Phone : Disabled perpetual
AnyConnect Essentials : Disabled perpetual
Advanced Endpoint Assessment : Disabled perpetual
Botnet Traffic Filter : Disabled perpetual
Intercompany Media Engine : Disabled perpetual
This platform has a Base license.
Serial Number: JMX1848Z1AK
Running Permanent Activation Key: 0x6218f56c 0xac92ad8f 0xbcd2012c 0xbbc48c80 0x4f052f9e
Configuration register is 0x1
Configuration has not been modified since last system restart.
Ура я разобрался – и это здорово. Теперь я знаю чуточку больше чем обычно. Продолжаю знакомство.
Переход в привилигированный режим
ciscoasa> enable
Если я правильно понимаю документацию, то по умолчанию пароля на доступ в данный режим из консоли нет, поэтому просто нажимаю Enter и попадаю в необходимый режим работы с устройством:
Текущий метод работы устройства:
ciscoasa# show firewall
Отобразить какие VLAN предопределены сейчас на устройстве:
ciscoasa# show switch vlan
1 inside down Et0/1, Et0/2, Et0/3, Et0/4
Назначить пароль на доступ в привилигированный режим:
ciscoasa# configure terminal
ciscoasa(config)# enable password 712mbddr@
входим в настройку интерфейса 1:
ciscoasa(config)# interface vlan 1
ciscoasa(config-if)# nameif lan
Параметр «имя интерфейса» (nameif) в дальнейшем позволяет использовать в настройках не физическое наименование интерфейса, а его имя, которое можно выбрать «говорящим» (inside, outside, dmz, partner и т.д.)
Указываем уровень безопасности:
ciscoasa(config-if)# security-level 100
Параметр «уровень безопасности» (security level) – это число от 0 до 100, которое позволяет сравнить 2 интерфейса и определить, кто из них более «безопасен». Параметр используется качественно, а не количественно, т.е. важно только отношение «больше-меньше». По умолчанию трафик, идущий «наружу», т.е. с интерфейса с большим уровнем безопасности на интерфейс с меньшим уровнем безопасности, пропускается, сессия запоминается и обратно пропускаются только ответы по этим сессиям. Трафик же идущий «внутрь» по умолчанию запрещен.
Назначаем адрес интерфейсу:
ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0
Waiting for the earlier webvpn instance to terminate…
Previous instance shut down. Starting a new one.
ciscoasa(config-if)# no sh
Выходим из настроек данного интерфейса:
ciscoasa(config-if)# exit
Теперь нужно настроить сопоставление аппаратного интерфейса с настроенными сетями:
ciscoasa(config)# show interface
Interface Vlan1 «lan», is down, line protocol is down
Hardware is EtherSVI, BW 100 Mbps, DLY 100 usec
MAC address 74a0.2f5a.e2d6, MTU 1500
IP address 192.168.1.1, subnet mask 255.255.255.0
Traffic Statistics for «lan»:
1 minute input rate 0 pkts/sec, 0 bytes/sec
1 minute output rate 0 pkts/sec, 0 bytes/sec
1 minute drop rate, 0 pkts/sec
5 minute input rate 0 pkts/sec, 0 bytes/sec
5 minute output rate 0 pkts/sec, 0 bytes/sec
5 minute drop rate, 0 pkts/sec
ciscoasa(config)# show ip
Interface Name IP address Subnet mask Method
Vlan1 lan 192.168.1.1 255.255.255.0 manual
Vlan2 outside unassigned unassigned DHCP
Interface Name IP address Subnet mask Method
Vlan1 lan 192.168.1.1 255.255.255.0 manual
Vlan2 outside unassigned unassigned DHCP
ciscoasa(config)# interface Ethernet0/0
Отобразить информацию по интерфейсу: (насколько я понял по читаемой книге по CISCO это информация очень полезна и позволяет узнать как работает порт, есть ли ошибки, как происходит обмен трафиком и многое другое)
ciscoasa(config-if)# show interface Ethernet0/0
Interface Ethernet0/0 «», is down, line protocol is down
Hardware is 88E6095, BW 100 Mbps, DLY 100 usec
Input flow control is unsupported, output flow control is unsupported
Available but not configured via nameif
MAC address 74a0.2f5a.e2ce, MTU not set
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
0 switch ingress policy drops
0 packets output, 0 bytes, 0 underruns
0 pause output, 0 resume output
0 output errors, 0 collisions, 0 interface resets
0 late collisions, 0 deferred
0 input reset drops, 0 output reset drops
0 switch egress policy drops
Сопоставляем интерфейсы с только что настроенной сетью:
ciscoasa(config-if)# switchport access vlan 1
ciscoasa(config-if)# no sh
Работает, получается можно подключаться через проброшенный COM порт в виртуальную систему Ubuntu 12.04.5 Server amd64, точно такие шаги выше справедливы и для подключения к устройству из OpenSUSE. Теперь для меня аббревиатура подключение к консольному порту сетевого устройства не вызывает недоуменине, да и вообще оказалось что в этом нет ничего сложного, сложно только по первой, после это уже как обыденность. На этом я заканчиванию практическое повествование данной заметки. До встречи с уважением автор блога – Олло Александр (ник: ekzorchik)
От ekzorchik
Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.