Настраиваем виртуальный компорт в Ubuntu
Удобно работать с виртуальной машиной XPSP3 в VirtualBox’е: когда надо включаешь её, когда не надо – выключаешь, всё очень быстро, и вирусы прочно экранируются. Но вот понадобилось внести изменения в отлаживаемую «виндовую» программу, работающую со старыми добрыми компортами. И тут обнаруживается: не работает компорт виртуальной машины. В ЛОРе нет хорошего ответа. Всё сводится к рекомендации создания новой машины, а это время. Западные пользователи на форумах тоже дают немало пустых советов. А на самом деле всё не так уж и сложно.
Сначала надо установить утилиту настройки аппаратного компорта хост-машины. Называется она setserial, в дистрибутивах Ubuntu её нет, но зато она есть в репозиториях, поэтому воспользуемся командой терминала:
sudo apt-get install setserial
И, конечно, запустим эту утилиту, чтобы посмотреть, присутствует ли на материнской плате, что собой представляет и как настроен аппаратный порт хозяйки (далее в примере исследуем COM1):
sudo setserial -g /dev/ttyS0
Учтите, что ttyS0 соответствует COM1, ttyS1 соответствует COM2 и т.д. согласно терминологии Линукса. Подставьте нужное. После ввода пароля суперпользователя в норме должен быть получен ответ:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
Иначе компорт отсутствует или отключен на уровне BIOS’а хост-машины. Выключенный порт включаем. В случае отсутствия на материнской плате аппаратного компорта придётся поставить «костыль» из дополнительной PCI-платы расширения и добавить модуль его драйвера из прилагаемого к ней диска. Проверено: для Линукса драйверы раюотоспособны, но уточните номер появившегося компорта командой терминала
При необходимости параметры настройки коммуникационного порта можно откорректировать ( как именно – см. терминальной командой man setserial).
Настраиваем проключение виртуального COMn в аппаратный COMn, то бишь в файл ttySn+1. Для этого запускаем VirtualBox, НЕ ЗАПУСКАЯ ВИРТУАЛЬНУЮ МАШИНУ, и настраиваем параметры её компорта, как показано на этом скриншоте:
Здесь важно, чтобы номер порта, номер прерывания и адрес ввода-вывода совпадали бы с теми, которые проиндицировала утилита setserial. Если не совпадают, то утилита setserial поможет перенастроить параметры аппаратного компорта.
Но если вы сейчас попытаетесь запустить виртуальную машину, то с очень большой вероятностью получите ошибку. А всего-то надо сделать ещё две вещи.
Во-первых, вы, хотя и являетесь «главным администратором», не обязательно автоматически являетесь членом группы пользователей виртуальной машины. Удивительно? Но бывает нередко. Впрочем, эта нелепость устраняется легко. Чтобы не заморачиваться с CLI, установите с помощью эмулятора терминала великолепную утилиту gnome-system-tools (она есть в репозиториях) командой
sudo apt-get install gnome-system-tools
Данную утилиту рекомендую для многократного употребления, поэтому скопируйте из папки /usr/share/applications значок «Пользователи и группы» на рабочий стол и запустите эту утилиту из рабочего стола. Откроется окно «Параметры пользователей». Жмите кнопку «Управление группами», в открывшемся окне «Параметры групп» скроллингом отыщите группу vboxusers, выберите её и дважды щёлкните по ней. Откроется окно «Свойства группы vboxusers». Внутри панели «Члены группы» пометьте чекбокс напротив своего имени, отражающего вас, как пользователя системы.
Во вторых, реальному порту следует присвоить права «666», что означает разрешение дуплексного обмена через компорт на уровнях владельца, членов его группы и остальных пользователей. Делается это командой
sudo chmod 666 /dev/ttyS0
Вместо ttyS0 подставьте обозначение нужного аппаратного компорта хост-машины. Вcё, теперь можно смело запускать виртуальную машину, включать привычный «виндовый» гипертерминал и с помощью виртуальной Windows настраивать модемы, управлять программаторами и т.д. Словом, делать всё то, как будто бы вы работали с реальной Windows XP или «семёркой». Успехов!
Источник
Инструкция по использованию minicom в linux
Minicom — это консольная программа операционной системы linux для установки сеанса связи с устройствами через последовательный com-порт. Для подключения к com-порту программу можно запускать с заданными аргументами и использовать псевдо-графический оконный интерфейс для изменения и сохранения настроек подключения. Рассмотрим настройку программы на примере популярной операционной системы семейства linux — Ubuntu.
Установка программы в Debian/Ubuntu:
Подключение будет осуществляться к последовательному порту устройства со следующими настройками:
Скорость/Четность/Биты (Bps/Parity/Bits) = 38400 8N1.
Настройка подключения к com-порту
Запуск программы лучше выполнять в привилегированном режиме sudo, т.к. программе могут понадобиться повышенные права для доступа к порту или для сохранения настроек.
Для доступа к меню конфигурации программу minicom нужно запустить с параметром -s:
Выбираем пункт «Настройка последовательного порта».
При использовании нуль-модемного кабеля, адресом последовательного порта в linux будет /dev/ttyS0 для COM1, /dev/ttyS1 для COM2 и т.д. В случаях, когда используется адаптер USB-to-COM, в качестве порта ввода-вывода будет использоваться /dev/ttyUSB0 или /dev/ttyUSB1.
Список доступных портов можно посмотреть командой:
Настройки для подключения к последовательному порту USB-to-COM с заданными параметрами будут выглядеть примерно так:
Для выбора последовательного порта нужно нажать клавишу [A] и отредактировать значение.
Для изменения скорости нажать клавишу [E] и затем [D], чтобы выбрать скорость 38400.
Нажимаем два раза клавишу [Enter], чтобы принять изменения и вернуться в начало меню «Конфигурация».
Сохраняем настройки, выбрав пункт «Сохранить настройки как dfl». Это изменит настройки запуска программы, используемые по умолчанию.
Если выбрать пункт «Сохранить настройки как..» и указать имя файла настроек, например «cisco», то это не изменит настройки по умолчанию и в дальнейшем можно будет запускать программу с конкретными параметрами, указав имя файла с настройками.
В завершении настройки переходим к пункту «Выход» и если все настроено правильно, то будет установлен сеанс подключения по последовательному порту.
Запуск minicom с аргументами
Minicom можно запускать без выполнения настроек в оконном режиме. Для этого достаточно выполнить запуск программы с заданными аргументами.
Для подключения к устройству с помощью адаптера USB-to-COM со скоростью 38400:
Для подключения к устройству с использованием нуль-модемного кабеля:
Источник
Научиться работать через COM порт в Ubuntu с устройством CISCO ASA 5505
Решил в свободное время на работе начать повышать свой кваллификационный уровень значимости себя как специалиста в компании , но ведь как известно, что чем больше ты якобы разбираешься в возникающих проблемах, то тем слабее ты как специалист, но от этого никуда не убежать, невозможно знать все на свете очень и очень хорошо. Можно быть специалистом в одной области, но как системный администратор я себе такого позволить не могу, почему – ну кому я буду нужен если я буду только в Windows системах к примеру разбираться, получается мне дорога только в крупные компании, там то уж я выше головы не прыгну, но я не такой – я хочю и могу контролировать различные области настройки и обслуживания самостоятельно – мне это нравится. И вот теперь я решил взяться за работу с сетевой частью , а именно в моем распоряжении появилась железка CISCO ASA 5505 – для меня это многое значит. Но как начать ее пользоваться, конечно я думаю для многих это не вызываем проблем, типа взял да подключил, но когда ты к сетевому оборудованию не имел доступа, то для тебя по первой это темный лес, что я имею: у меня есть консольный провод, а на другом конце обычный сетевой разъем RJ45, но цветовая расцветка которого имеет отличия от того каким прокладывают сеть:
- Сервый
- Синий
- Зеленый
- Желтый
- Оранжевый
- Красный
- Коричневый
- Черный
По схеме из документации я вижу, как устройство нужно подключить к компьютеру
(ноутбук если его использовать должен иметь в наличии COM порт (для справки это: разъем RS232) или переходник (USB COM PORT) на него, но сейчас на 2015 год встретить такой ноутбук целая проблема)
Подключив данный COM порт к компьютеру, в настоящий момент на рабочем месте я использую ось: OpenSUSE 13.2 amd64 через консоль терминала определяю информацию по определившему оборудованию в системе:
> 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-портами:
$ sudo apt-get install minicom
Запускаю утилиту minicom:
minicom: cannot open /dev/tty8: Permission denied
Ага, нужно права суперпользователя, исправляюсь:
Нажмите Ctrl-A Z чтобы попасть в меню справочных команд
Чтобы отредактировать подключение то нажимаем O (Configure Minicom), переходим на Serial port setup для выставления параметров соединения:
Нажимаем клавишу: “A” и приводим значение Serial Device к виду определенному системой, в моем случае это: /dev/ttyS0 и нажимаем Enter
а после нажимаем клавишу “E”
- 9600 band
- 8 data bits
- no parity
- 1 stop bit
и здесь нужно нажать: 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 и сохраненным конфигом к устройству:
$ sudo minicom -c on config-asa
после нажимаем Enter и Enter и у Вас должно появиться приглашение на ввод команд для получения/изменения информации на устройстве:
Если же у Вас не подхватился сохраненный конфигурационный файл, то когда набрали команду выше можно проделать все действия по определению параметров подключения к устройству подключенному к компьютеру через COM порт, сохранить настройки, выйти и заново набрать команду:
$ 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
10: Int: Not used : irq 255
11: Int: Not used : irq 255
Licensed features for this platform:
Maximum Physical Interfaces : 8 perpetual
VLANs : 3 DMZ Restricted
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#
Текущий метод работы устройства:
ciscoasa# show firewall
Firewall mode: Router
Отобразить какие VLAN предопределены сейчас на устройстве:
ciscoasa# show switch vlan
VLAN Name Status Ports
1 inside down Et0/1, Et0/2, Et0/3, Et0/4
2 outside down Et0/0
Назначить пароль на доступ в привилигированный режим:
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»:
0 packets input, 0 bytes
0 packets output, 0 bytes
0 packets dropped
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
System IP Addresses:
Interface Name IP address Subnet mask Method
Vlan1 lan 192.168.1.1 255.255.255.0 manual
Vlan2 outside unassigned unassigned DHCP
Current IP Addresses:
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
IP address unassigned
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 L2 decode drops
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 rate limit 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)
One comment
Насколько хорош блог «Реальные заметки» по сравнению с другими, тут автор ekzorchik действительно публикует грамотные и нужные вещи.
Comments are closed.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Источник