Соединение компьютеров через внешние роутеры Ammyy
Ammyy Admin позволяет организовать подключение к удаленному компьютеру, независимо от того, находится он в локальной сети за NAT или же имеет выделенный IP адрес, причем для этого не нужна настрока маршрутизатора.
В случае если, оба компьютера имеют внешние IP адреса или же являются узлами одной локальной сети, подключение возможно напрямую по IP адресу.
Если один или оба компьютера не имеют внешних IP адресов или находятся в разных локальных сетях за NAT, используется подключение с помощью одного из публичных серверов-посредников компании Ammyy, выполняющего роль ретранслятора и позволяющего обойти NAT.
Основной принцип обхода NAT используемый в Ammyy Admin заключается в том, что подключаясь к публичному роутеру Ammyy, компьютер, находящийся в локальной сети за NAT-маршрутизатором, сам инициирует сессию. Это происходит в момент запуска программы или нажатия кнопки «Запустить» в клиентской части программы. Попробовать подключение Вы можете, скачав и запустив программу Ammyy Admin.
При первом запуске программы, компьютеру присваивается уникальный идентификационный номер в глобальной сети Ammyy — Hardware ID, который генерируется в привязке к аппаратному обеспечению компьютера и не меняется при последующих запусках программы.
После установления соединения с Ammyy роутером подключение от или к удаленному компьютеру осуществляется посредством процедуры сопоставления ID компьютеров, их IP адресов и портов отправления и назначения.
Например, компьютеру с внешним IP адресом необходимо подключиться к компьютеру, находящемуся за NAT-маршрутизатором в локальной сети. Процедура установления сеанса удаленного доступа будет выглядеть следующим образом:
- На компьютере с IP 192.168.0.1 запускается программа Ammyy Admin и автоматически отсылается запрос на подключение к одному из публичных Ammyy роутеров через внутренний NAT-маршрутизатор. Атрибуты отправленного пакета данных представлены на рис.10.
- NAT-маршрутизатор преобразовывает пакет и отправляет его во внешнюю сеть, заменив IP адрес и порт отправителя на собственные. Помимо стандартных атрибутов протокола TCP, на роутер передаются служебные атрибуты сессии в соответствии с собственным протоколом Ammyy, одним из которых является ID компьютера и по которому будет происходить идентификация компьютера для перенаправления потока данных.
- На компьютере с внешним IP адресом 94.20.75.100 так же запускается Ammyy Admin, соединение с публичным роутером Ammyy устанавливается по аналогичной схеме, но без процедуры преобразования внутреннего IP адреса и порта отправителя, поскольку не используется NAT-маршрутизатор.
- Далее, если ПК внешней сети запросит подключение к компьютеру за NAT, Ammyy роутер сопоставит ID удаленного компьютера, к которому нужно подключиться, с IP адресом и портом NAT-маршрутизатора и передаст пакет данных на маршрутизатор локальной сети, который в свою очередь, используя процедуру преобразования портов, переправит пакет данных компьютеру-адресату.
рис.10 Таким образом, соединение удаленных компьютеров с использованием публичных роутеров Ammyy позволяет быстро подключаться к любым ПК и серверам, независимо от их местонахождения в локальной или глобальной сети. Данный подход является идеальным решением для случаев спонтанной техподдержки, когда заранее неизвестны компьютеры, к которым нужно подключаться и нет возможности провести предварительные настройки соединения и проброс портов.
Свой роутер ammyy admin
Ammyy Admin — надежный и доступный способ оказания удаленной компьютерной помощи, администрирования и обучения для Ваших клиентов или сотрудников в любой точке земного шара. Без каких-либо установок, настроек или конфигураций программы, Ammyy Admin соединит удаленные компьютеры в течение нескольких секунд. Вы сможете управлять компьютерами своих клиентов, контролировать клавиатуру и мышь.
Программа называется Ammyy Admin. Нагуглите сами. Офсайт имеет и русскоязычный вариант.
Как и тимьювер, программа в одном экзешнике заключает в себе и клиентскую и операторскую (серверную) часть. И на этой стадии можно было бы дальше ничего не объяснять, так как у этой программы, как и у тимвьювера уже зашито в настройках несколько публичных промежуточных серверов, вечно тормознутых и занятых для халявных пользователей. Но нам всем интересно, когда софтина лезет через СВОЙ заранее настроенный промежуточный сервер, запущенный на каком-нибудь удаленном выделенном сервере с белым IP-адресом, а не через навязанные демо-сервера.
Для этого качаем с раздела загрузок офсайта проги помимо AMMYY_Admin.exe (это клиентско-операторская часть, которую надо раздавать тем кто админит и будет администрируемым) ещё и AMMYY Router для Windows.
Далее уже не так все сложно для тех, кто хоть чуточку разбирается в сетевых технологиях и имеет выделенный сервер (или просто компьютер) под рукой с «белым» адресом и с возможностью открыть снаружи всего три порта.
На компе с белым адресом открываем три ЛЮБЫХ незанятых порта, что-то типа
портов 12345, 12346, 12347.
Затем на этом же компе распаковываем скачанный router.zip (напомню, это и есть утилита для создания промежуточного сервера под Windows), находим файл router_settings.txt, любым текстовым редактором убираем в этом конфиге все строчки и добавляем только одну строчку (с учетом вышеуказанных портов для примера!):
Сохраняем конфиг и запускаем AMMYY_Router.exe.
В его меню выбираем App-Start.
Всё, промежуточный сервер готов работать.
Как теперь организовывать соединение через ваш созданный промежуточный сервер?
Легко! Например, ваш промежуточный сервер имеет внешний айпишник 80.80.10.10 и роутерная часть софтины «засела» на нём на портах 12345, 12346, 12347.
Даем вашему удаленно управляемому пользователю клиентскую часть — файл AMMYY_Admin.exe, просим её запустить и сделать ещё пару вещей (внимание, процесс можно автоматизировать, я уже этот вопрос решил, расскажу потом как), а именно зайти в меню Ammyy-Setting-Network и переключатель Public переключить на Private и ниже в пустое окно скопипастить строку вида (внимание, у вас порты могли быть другими!):
Также во вкладке Ammy-Common-Operator ОБЯЗАТЕЛЬНО (!) клиент должен убрать галочку напротив «Request a client’s router»
Теперь клиенту достаточно для удаленного администрирования его компа кем-то со стороны стартовать AMMYY_Admin.exe, нажать кнопку «Запустить» на вкладке «Клиент» и сообщить вам цифровой ID (идентификатор соединения). Далее утилита сама зайдёт на ваш промежуточный сервер и будет ждать коннекта.
Вы, соответственно, на своей стороне также просто запустите AMMYY_Admin.exe и на вкладке Оператор введёте ID-клиента. У клиента выйдет запрос на подключение, и если он его подтвердит, вы сможете по ВАШЕМУ скоростному каналу (там у вас сидит промежуточный сервер) его администрировать, даже если вы оба находитесь под серыми IP-адресами.
Разумеется, у многих возникнет вопрос, а нельзя ли как-то автоматизировать процесс настроек для клиента, которому такой процесс может оказаться крайне сложным?
Можно и нужно.
Правда я все сделал на скорую руку, но кому надо поймут хотя бы принцип (хотя вся моя конструкция вполне работоспособна под Windows XP) и доделают все по своему усмотрению.
Итак, поехали.
Когда вы у себя настроили амми админ для работы через созданный вами промежуточный сервер, все настройки на вашем компьютере автоматически сохранятся в файле settings.bin по адресу:
%SystemDrive%\Documents and Settings\All Users\Application Data\AMMYY
(пути указаны только для экспишки!)
Не трудно догадаться, что вам всего лишь надо предоставить возможность вашему клиенту, уже скачавшему экзешник (клиентскую часть) амми админа каким-то образом «импортировать» ваши настройки к себе.
Для этого забираем со своего каталога уже готовый файл settings.bin и помещаем его в заранее подготовленную папку с будущей псевдопортабл версией амми админ:
У вас в такой папке должно быть все расположено примерно так:
File name Size
—————— —————
PortA\
AMMYY_Admin.exe 655,000
hidec.exe 1,536
Install.bat 196
settings.bin 107
Start.bat 23
total files 5 total size 656,862
где
AMMYY_Admin.exe — это непосрепдственно клиентско-сервная часть, которой пользуются и клиент и оператор
hidec.exe — легкодоступная консольная утилита для сокрытия консольных окон (нагуглить легко).
Install.bat — пакетный файл для доставки вашего файла настроек в необходимый каталог на компе клиента. У него такое содержимое:
@ mkdir «%SystemDrive%\Documents and Settings\All Users\Application Data\AMMYY»
@ copy settings.bin «%SystemDrive%\Documents and Settings\All Users\Application Data\AMMYY\»
@ AMMYY_Admin.exe
settings.bin — ваш заранее подготовленный файл настроек
Start.bat — пакетный файл для запуска псевдопортабельной версии амми админа с таким содержимым:
Запакуйте все содержимое в какой-нибудь sfx-архив и любым способом передайте клиенту. Ему всего лишь надо будет распаковать архив и из папки с подготовленным клиентом запустить файл Start.bat. Настройки подгрузятся автоматически и клиенту уже при запущенном амми админе достаточно будет только нажать кнопку Запустить и сообщить вам ID. Его клиентская часть автоматически «полезет» через ваш промежуточный сервер.
Соединение компьютеров через внешние роутеры Ammyy
Ammyy Admin позволяет организовать подключение к удаленному компьютеру, независимо от того, находится он в локальной сети за NAT или же имеет выделенный IP адрес, причем для этого не нужна настрока маршрутизатора.
В случае если, оба компьютера имеют внешние IP адреса или же являются узлами одной локальной сети, подключение возможно напрямую по IP адресу.
Если один или оба компьютера не имеют внешних IP адресов или находятся в разных локальных сетях за NAT, используется подключение с помощью одного из публичных серверов-посредников компании Ammyy, выполняющего роль ретранслятора и позволяющего обойти NAT.
Основной принцип обхода NAT используемый в Ammyy Admin заключается в том, что подключаясь к публичному роутеру Ammyy, компьютер, находящийся в локальной сети за NAT-маршрутизатором, сам инициирует сессию. Это происходит в момент запуска программы или нажатия кнопки «Запустить» в клиентской части программы. Попробовать подключение Вы можете, скачав и запустив программу Ammyy Admin.
При первом запуске программы, компьютеру присваивается уникальный идентификационный номер в глобальной сети Ammyy — Hardware ID, который генерируется в привязке к аппаратному обеспечению компьютера и не меняется при последующих запусках программы.
После установления соединения с Ammyy роутером подключение от или к удаленному компьютеру осуществляется посредством процедуры сопоставления ID компьютеров, их IP адресов и портов отправления и назначения.
Например, компьютеру с внешним IP адресом необходимо подключиться к компьютеру, находящемуся за NAT-маршрутизатором в локальной сети. Процедура установления сеанса удаленного доступа будет выглядеть следующим образом:
- На компьютере с IP 192.168.0.1 запускается программа Ammyy Admin и автоматически отсылается запрос на подключение к одному из публичных Ammyy роутеров через внутренний NAT-маршрутизатор. Атрибуты отправленного пакета данных представлены на рисунке 3.
- NAT-маршрутизатор преобразовывает пакет и отправляет его во внешнюю сеть, заменив IP адрес и порт отправителя на собственные. Помимо стандартных атрибутов протокола TCP, на роутер передаются служебные атрибуты сессии в соответствии с собственным протоколом Ammyy, одним из которых является ID компьютера и по которому будет происходить идентификация компьютера для перенаправления потока данных.
- На компьютере с внешним IP адресом 94.20.75.100 так же запускается Ammyy Admin, соединение с публичным роутером Ammyy устанавливается по аналогичной схеме, но без процедуры преобразования внутреннего IP адреса и порта отправителя, поскольку не используется NAT-маршрутизатор.
- Далее, если ПК внешней сети запросит подключение к компьютеру за NAT, Ammyy роутер сопоставит ID удаленного компьютера, к которому нужно подключиться, с IP адресом и портом NAT-маршрутизатора и передаст пакет данных на маршрутизатор локальной сети, который в свою очередь, используя процедуру преобразования портов, переправит пакет данных компьютеру-адресату.
рисунок 3 Таким образом, соединение удаленных компьютеров с использованием публичных роутеров Ammyy позволяет быстро подключаться к любым ПК и серверам, независимо от их местонахождения в локальной или глобальной сети. Данный подход является идеальным решением для случаев спонтанной техподдержки, когда заранее неизвестны компьютеры, к которым нужно подключаться и нет возможности провести предварительные настройки соединения и проброс портов.