Все программы для проброса портов usb. Проброс USB устройств по сети с помощью USB Network Gate

09.03.2019

Рассмотрев подробно в предыдущей статье, как поднять серверную часть VPN-соединения на платформе Windows, мы переходим к настройке клиентского подключения L2TP. Для начала хотелось бы вспомнить на всякий случай такое L2TP.

L2TP — протокол туннелирования второго уровня, более совершенный протокол, созданный на базе PPTP и L2F (протокол эстафетной передачи второго уровня от Cisco). К его достоинствам относится гораздо более высокая безопасность за счет шифрования средствами протокола IPSec и объединения канала данных и канала управления в одну UDP сессию. Для работы данного протокола необходимо иметь 2 открытых порта во вне. Это правила для порта 1701 (TCP) и 500 (UDP). Как создать такие правила в штатном фаерволе, если вы напрямую подключены к интернету, можно почитать . Если вы находитесь за маршрутизатором, то можно почитать тут.

Но мы же все это уже читали-знаем. Поэтому примемся за настройку клиентского VPN соединения под L2TP.

Для начала необходимо зайти в Панель управления , в Win7 для этого стоит всего лишь нажать Пуск . и перейти в Панель управления . Далее в зависимости от настроек отображения мы либо нажимаем Сеть и Интернет -> -> . Либо же переходим сразу в Центр управления сетями и общим доступом -> Настройка нового подключения или сети .

Появится мастер Установка и подключения и сети . Выбираем Подключение к рабочему месту

Далее вводим Интернет-адрес (адрес сервера) и название создаваемого подключения, лучше всего Разрешить использование этого подключение другими пользователями . Также на всякий случай советую поставить галочку на Не подключаться сейчас. Т.к мы будем настраивать параметры VPN вручную.

Подключение у нас успешно создалось. Теперь необходим его настроить. Переходим в раздел Изменение параметров адаптеров с окна Центр управления сетями и общим доступом .

Там ищем наше VPN подключение и с помощью ПКМ переходим в пункт меню Свойства . На вкладке Безопасность в тип VPN выбираем L2TP.

Так как технология работы протокола L2TP является технологией с повышенной безопасностью за счет работы шифрования через протокол IPSec, мы можем выставить на сервере сами, либо столкнуться с тем, что там уже выставлен Предварительный ключ для проверки подлинности. Его вводить следует в разделе Безопасность -> Дополнительные параметры -> Ввести ключ в поле Для проверки подлинности использовать предварительный ключ По сути это и все. На стороне клиента по протоколу L2TP больше настраивать и нечего. Если у Вас вдруг приключится при соединении ошибка 789, не расстраивайтесь, это ребята с офиса мелкомягких опять немного забыли доделать, то что делали. Но решение Ошибка 789 l2tp вы можете прочитать .

Некоторые важные особенности смотрите в конце страницы!

1. Откройте Центр уведомлений в правом нижнем углу экрана:

3. В открывшемся окне Параметры во вкладке VPN нажмите на кнопку Добавление VPN-подключения :

4. В окне Добавить VPN-подключение заполните следующие параметры:

Поставщик услуг VPN: Windows (встроенные)

Имя подключения: VPNki

Имя или адрес подключения: сайт

Тип VPN: Протокол PPTP (либо Протокол L2TP/IPSec )

Тип данных для входа: Имя пользователя и пароль

Имя пользователя и пароль: полученные в системе vpnki (например userXXX)

7. Нажмите правой кнопкой мыши на адаптер VPNki и выберите Свойства :

8. Выберите в списке IP версии 4 (TCP/IPv4) и нажмите кнопку Свойства :

9. Оставьте получение IP-адреса и адреса DNS-сервера автоматически и нажмите кнопку Дополнительно :

10. Во вкладке Параметры IP Снимите галочку с Использовать основной шлюз в удаленные сети и нажмите кнопку OK

Разрешить следующие протоколы и оставьте только Протокол проверки пароля (CHAP)

12. (Только для L2TP) нажмите кнопку Дополнительные параметры и выберите

Для проверки подлинности использовать общий ключ и введите ключ: vpnki


13. На этом настройка завершена, нажмите кнопку Подключиться и при успешном подключении

состояние VPNki должно измениться на Подключено

14. Если вам необходимо иметь подключение к удаленной домашней сети (например 192.168.x.x/x), то необходимо сообщить Windows о том, что адреса вашей удаленной сети следует искать в VPN туннеле.

Это можно сделать двумя способами:

Добавив сети 192.168.x.x/x (ваша удаленная сеть) и 172.16.0.0/16 (сеть VPNKI) в таблицу маршрутов при помощи команды route add

При помощи поступления данных с сервера по протоколу DHCP

Прежде чем сделать выбор вам очень желательно ознакомиться с этой инструкцией и пройти ее до конца.

Особенность 1

Для использования соединения с шифрованием вам необходимо в настройках соединения:
- использовать авторизацию MS-CHAPv2 и указать что будет использоваться шифрование (MPPE)

Для соединения без шифрования вам необходимо:
- использовать авторизацию CHAP и указать, что шифрование использоваться не будет .

Будьте внимательны,
все иные сочетания методов авторизации и шифрования будут приводить к неработоспособности подключения!!!

Особенность 2

Работа протокола PPTP осуществляется с использованием протокола GRE, с которым у некоторых интернет провайдеров России имеются технические сложности. Эти сложности не позволят вам использовать PPTP для построения VPN туннлей. К таким провайдерам относятся МГТС (Московская городская телефонная сеть), Yota, Мегафон. Однако, такая ситуация не во всех частях их сетей.

Для пользователя ситуация будет выглядеть так, что проверка имени пользователя и пароля проходить не будут. Точнее до этого момента даже не дойдет...В пункте меню "События безопасности" вы будете видеть начало успешного подключения и последней будет являться фраза, говорящая о том, что мы готовы проверять имя и пароль, но...

Access granted. No whitelist is set for user. Ready to check username / password.

Отсуствие соединения и дальнейших записей в логе (при том, что вы твердо уверены в том, что логин и пароль верные), скорее всего, говорит о том, что GRE у вашего провайдера не пропускается. Можете погуглить на этот счет.

PS: В целях борьбы с зависшими сессиями мы принудительно отключаем пользовательские туннели с протоколами PPTP, L2TP, L2TP/IPsec через 24 часа после установления соединения. При правильной настройке соединения должны автоматически переустановиться.

Наша система будет работать с многими типами домашних и офисных маршрутизаторов. Более подробно смотрите в разделе по настройке оборудования, а начать настройку лучше с этого примера .

ДОПОЛНИТЕЛЬНО ПО ТЕМЕ

  • Про выход в Интернет через VPN и центральный офис можно
  • Про VPN и протоколы можно почитать

Один из читателей блога — Vovets666 опробовал бесплатное ПО USBIP и предложил написать про него статью.

Дисклаймер:
все описанное ниже – мое личное видение проблемы и способов ее решения, не являющееся истиной в последней инстанции. Вполне возможно, существуют и другие варианты, я с удовольствием про них послушаю. В качестве инструкции по работе с ПО использованы материалы, найденные в интернете, уже и не помню где… Кроме того, являясь админом — виндузятником, с Linux я знаком довольно поверхностно, работал в условиях дедлайна и времени на изучение матчасти/танцы с бубнами особо много не имел, поэтому описываю, как сделал, чтобы работало, и уверен, что есть и другие способы.

Итак, имеем виртуальные машины — серверы 1С, поднятые на MSWindowsServer 2008R2. Для работы ПО необходимы подключенные к ним серверные HASP-ключи. Непосредственно подключить их на ВМ на Hyper-V, как известно, нельзя. Задача: каким-то образом пробросить HASP-ключи на виртуальные машины, желательно с использованием минимума дополнительного железа и стоимости лицензий.

(Оффтоп: у 1С в последнее время появилась возможность программного лицензирования ПО, без использования HASP-ключей (что-то вроде активации с использование пин-кодов). Но есть нюансы: обмен на лицензию с программной активацией не бесплатный, при изменении конфигурации машины необходима повторная активация, по истечении определенного лимита разрешение на активацию остается на усмотрение техподдержки, что совсем не айс. Посему было решено использовать старый способ с HASP-ключами).

Рассматривались варианты:

— способ, предоставляемый компанией Микрософт (правда, для других целей):
RemoteFX+RDP7.1. Не устроил по причинам: необходимо оборудование с поддержкой RemoteFX, на сервере 1С должны быть подняты дополнительные сервисы (служба доступа к удаленному рабочему столу), с хоста на виртуалку должна постоянно висеть сессия RDP, через которую пробрасывается ключ, необходима клиентская лицензия на доступ к RDS. Возможно, в каком-либо из пунктов этого списка я и ошибаюсь, но общее их количество зарубило способ на корню.

— аппаратные устройства сторонних производителей. Недостатки: стоят денег, к тому же у некоторых устройств наблюдались проблемы с совместимостью с используемыми ОС (к примеру,Ubox 4100, который у нас есть) и которые производитель решать не собирался. Сейчас проблемы вроде как решены (в других моделях), но осадок остался.

— ПО сторонних производителей. Недостатки: требуют наличия отдельной машины для работы в качестве сервера USB-устройств и, как правило, платные. После поиска
приемлемого софта оказалось, что из всего обнаруженного ПО бесплатным для коммерческого применения является только пакет USBIP. На нем и остановился.

Сама по себе установка и настройка ПО больших проблем не вызвала, в комплекте к пакету имелся краткий мануал, плюс – интернет.

Пакет USBIP () для работы требует наличия 2х настроенных машин: сервера (к нему непосредственно подключается ключ) и клиента (на него этот ключ пробрасывается). Серверная
часть USBIP существует только под Linux, клиентская – под Linux и Windows (включая 7 и 2008R2).

1) Установка сервера (машины, в которую подключено USB устройство).

В качестве сервера используем машину с установленным Linux. Я использовал Linux Ubuntu v.11.04 (сборка Lubuntu, которая декларируется как наименее требовательная к ресурсам) как наиболее простую (для меня) систему: ставится без каких-либо проблем, автоматически подцепляет новые подключаемые USB устройства, после установки по умолчанию инсталлированы необходимые компоненты, кроме того, USBIP присутствует в репозитарии. С целью экономии на оборудовании эта машина создана как виртуальная, поднятая на существующем хосте ESXi 4.1 и в нее в свою очередь проброшен ключ HASP с хоста стандартным для ESXi способом.

Установка проблем не вызвала: ставим систему, подключаем к сети, выдаем IP, через менеджер пакетов устанавливаем USBIP и необходимые для работы компоненты. Кроме того были установлены VMware tools (так как данная машина – ВМ на ESXi).

На всякий случай напомню, как это делается:

Из оснастки VMware подключаем диск с ПО (Inventory -> Virtual Machine -> Guest -> Install/Upgrade VMware Tools). С этого диска распаковываем архив с ПО на рабочий стол. Запускаем терминал и в нем набираем:

<имя пользователя>@<имя машины>:~$ sudo <путь до файла>\vmware-install.pl —default

2) Настройка сервера USB ключей.

Запускаем терминал. Дальнейшие действия – из командной строки.

· Загружаем следующие модули.

<имя пользователя>@<имя машины>:~$ sudo modprobe usbip

<имя пользователя>@<имя машины>:~$ sudo modprobe usbip_common_mod

· Запускаем usbip в качестве системного демона:

<имя пользователя>@<имя машины>:~$ sudo usbipd D

получаем:

Bind usbip.ko to a usb device to be exportable!

<имя пользователя>@<имя машины>:~$

Внимание! Необходимо сначала запустить демон, а лишь затем подключать устройства, иначе могут возникнуть ошибки на клиенте при подключении. (см. примечания)

· Для просмотра подключенных USB устройств выполняем команду

<имя пользователя>@<имя машины>:~$ lsusb

получаем список подключенных USB устройств с их идентификаторами вида:

Bus XXX Device YYY: ID VendorID:DeviceID < название устройства >

что-то вроде:

Bus 002 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06

Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Запоминаем сочетание VendorID:DeviceID

· Выполняем команду:

<имя пользователя>@<имя машины>:~$ sudo usbip_bind_driver —list

USBIP проверяет список подключенного оборудования и выводит его с указанием их bus-ID вида:

— busid 2-1 (0529:0001)

2-1:1.0 -> none

— busid 2-2 (0e0f:0002)

2-2:1.0 -> hub

……..

В данном случае bus-ID, указывающий на нужное нам USB устройство: «2-1».

· Теперь подключаем устройство к серверу. Набираем:

<имя пользователя>@<имя машины>::~$ sudo usbip_bind_driver —usbip 2-1

получаем:

** (process:1483): DEBUG: 2-1:1.0 -> none

** (process:1483): DEBUG: write «add 2-1» to /sys/bus/usb/drivers/usbip/match_busid

** Message: bind 2-1 to usbip, complete!

Устройство подключено к USBIP, доступ с локальной машины-сервера к нему теряется.

· Также можно посмотреть, какие устройства подключены к USBIP в данный момент. Для этого набираем:

<имя пользователя>@<имя машины>:~$ sudo usbip_bind_driver —list

Получаем:

— busid 2-1 (0529:0001)

2-1:1.0 — > usbip

— busid 2-2 (0e0f:0002)

2-2:1.0 -> hub

Устройство с bus-ID 2-1 подключено к USBIP. Система может передавать данные об этом USB устройстве с вашей системы удаленным клиентам.

Настройка сервера закончена. В случае необходимости можно добавлять и убирать
экспортируемые устройства.

Параметры USBIP – linux сервера Usage: usbip_bind_driver

-?, —help вызов
справки
—usbip busid make a device exportable
-other busid use a device by a local
driver
—list print usb devices and their
drivers
—list2 print usb devices and their
drivers in parseable mode
—allusbip make all devices exportable

3) Настройки клиента MS Windows

· Скачиваем дистрибутив. Нам понадобятся обе версии – 0.1 и 0.2.

· Устанавливаем USB/IPEnumenator. Он устанавливается как произвольное системное устройство с драйверами на диске. Драйвера берем из дистрибутива версии 0.2:

Для Windows XP:

1. Распаковываем файлы в локальную папку.

2. В Панели Управления жмем «Установка Оборудования», в открывшемся Окне Приветствия Мастера жмем «Далее».

3. Выбрать «Да, устройство уже подсоединено» -> «Далее».

4. Выбрать «Добавление нового устройства»-> «Далее».

5. Выбрать «Установка оборудования, выбранного из списка вручную» -> «Далее».

7. Выбрать «Установить с диска», -> «Просмотр», выбрать папку с разархивированным драйвером -> «ОК».

9. «Мастер готов к установке нового оборудования» -> Выбрать «Далее» -> Готово».

Для Window 7 (и 2008r2):

1. Для разрешения установки неподписанных драйверов: запускаем cmd от
администратора и выполняем «bcdedit /settestsigningon».

2. Распаковываем файлы в локальную папку..

3. Открываем «Диспетчер Устройств».

4. Правой кнопкой на «имя компьютера» -.«Установить старое устройство» (или выбрать в меню «Действие»).

5. В открывшемся Окне Приветствия Мастера жмем «Далее».

6. Выбрать «Установка оборудования, выбранного из списка вручную» -> «Далее».

8. Выбрать «Установить с диска», -> «Просмотр», выбрать папку с разархивированным драйвером -> «ОК».

10. «Мастер готов к установке нового оборудования» -> Выбрать «Далее» -> «Готово».

Все указанные действия также описаны в идущем с пакетом USBIP файле «usage» на английском языке.

· Подключаем USB устройства, обозначенные как экспортируемые на нужном нам сервере. Для подключения используем USBIP из дистрибутива версии 0.1

Запускаем cmd. Смотрим, какие устройства готовы к подключению:

path-to-usbip:> usbip.exe -l

(server-ip – IP адрес сервера USB устройств из пункта 2)

C :\ usbip > usbip l 192.168.1.13

usbip dbg: usbip_network.c: 229 (tcp_connect) trying 192.168.1.13 port 3240

usbip dbg: usbip_network.c: 249 (tcp_connect) connected to 192.168.1.13:3240

— 192.168.1.13

usbip dbg: usbip.c: 423 (query_exported_devices) exportable 2 devices

2-1: unknown vendor: unknown product (0529:0001)

: /sys/devices/pci0000:00/0000:00:11.0/0000:02:02.0/usb2/2-1

: unknown class / unknown subclass / unknown protocol (ff/00/00)

: 0 — unknown class / unknown subclass / unknown protocol (ff/00/00)

В результате видим, что на сервере 192.168.1.13 готово к подключению устройство с bus-ID 2-1 – то, которые мы настроили в пункте 2. Устройств может быть и больше.

path to usbip :> usbip . exe a < server ip > USB ID

USB-ID в нашем случае 2-1.

Получаем многабукв (листинг параметров) и в завершение:

new usb device attached to usbvbus port 2

USB устройство должно появиться в системе клиента. Окно терминала желательно не закрывать.

Параметры USBIP – windows клиента Usage: usbip

a, —attach Attach a remote USB device
-x, —attachall Attach all remote USB
devices on the specific host
-d, —detach Detach an imported USB
device
-l, —list List exported USB devices
p, —port List virtual USB port status
-D, —debug Print debugging information
-v, —version Show version
-?, -h, —help Print this help

Примечания: Возникавшие проблемы и их решение:

1. Я использовал версию системы 11.04 на ядре 2.6. После обновления системы до версии 11.10 (ядро 3.0.4) usbip работать перестал – выдал ошибку, что компонент не найден. Пришлось восстанавливать машину и отказываться от обновлений. С другой стороны, так как это служебная узкоспециализированная машина и доступ к ней ограничен, это было признано не критичным.

2. Поначалу hasp-ключи отказывались подключаться к клиенту, выдавая ошибку. В ходе экспериментов было установлено, что сначала необходимо запустить usbip -демон, а уже затем подсоединять к машине ключи. В дальнейшем ошибки исчезли, подключаться ключи стали в любом порядке, повторить ошибки не удалось. Это как раз одна из тех странностей, про которые я упоминал.

3. После перезагрузки ВМ клиента — сервера 1С иногда не получается подключить к нему некоторые из ключей – выдает ошибки. Возможно, это связано с зависшими на сервере HASP сессиями обмена с usb-устройствами. Лечится перезагрузкой сервера HASP и повторным пробросом ключей на клиент.