1

У меня есть следующее затруднение. Я становлюсь все более и более используемым (хотя и платным) в качестве "компьютерного парня" по соседству для "решения" общих "проблем". Будучи хакером, я подумывал о предоставлении удаленной помощи своим клиентам через SSH/VNC. Концептуально это здорово, но есть несколько деталей реализации, с которыми я борюсь.

  1. Определение IP-адреса каждого клиента. Обычно это можно сделать с помощью динамического DNS, но я подумал о написании небольшой программы, которая будет отправлять текущий IP-адрес маршрутизатора на мой сервер, чтобы я мог быть в курсе всех событий. Динамический DNS, конечно, проще, но он может усложниться, если я использую внешний сервис. Я дешевка, поэтому чем меньше мне придется платить, тем лучше, и было бы не идеальным создавать новую учетную запись для маршрутизатора каждого клиента. Вот мои варианты для динамического DNS:

    1. Я мог бы ежемесячно платить за хостинг для сервера имен и создавать иерархию доменов, которая имеет смысл, и реализовывать динамический DNS.
    2. Я мог бы купить сервер с низкой спецификацией и хост BIND и делать все локально, но, как указано выше.
    3. Я мог бы взимать плату с клиентов в месяц (!?!) за «Динамический DNS-хостинг» и используйте вырученные средства, чтобы оплатить хороший аккаунт на DynDNS.org или что-то в этом роде.
  2. Поддержка нескольких компьютеров за пределами их маршрутизатора. Для этого у меня также есть варианты:

    1. Реализуйте OpenVPN, где это возможно, и просто используйте удаленный VPN для доступа к компьютерам, как если бы они были локальными компьютерами в сети. (Вот как работает VPN? По сути, я бы показал маршрутизатору просто еще один IP-адрес, и у меня был бы полный доступ ко всем машинам в сети, верно?)
    2. Реализуйте некоторый взлом обратного соединения, чтобы они со мной соединились, и затем я установил соединение SSH с ними.
    3. Непростой способ переадресации портов. Это включает в себя ведение базы данных каждого клиента и номера порта каждого компьютера клиента для SSH на маршрутизаторе. Тьфу.
  3. Возможность удаленной поддержки ноутбуков. Скажем, мой клиент в кафе в другом штате, и что-то идет не так. Поскольку многие из вышеперечисленных решений имеют дело с решениями на основе маршрутизаторов, все выходит за рамки. Это не имеет большого значения, чтобы иметь возможность сделать это заранее, так как это своего рода крайний случай, но все же.

Может ли кто-нибудь порекомендовать лучший способ: 1. найти общедоступный IP-адрес каждой машины, 2. установить соединение с ним и 3. возможно, предоставить удаленный * удаленный сервис, если они «находятся в роуминге»?"

3 ответа3

2

Вы смотрели на веб-сервисы, такие как logmein или gotomypc? Я использую logmein, когда помогаю отцу и считаю, что у них есть продукт, который может удовлетворить ваши потребности.

1

Для VNC со стороны "клиента" (который может находиться за брандмауэрами / маршрутизаторами и т.д.) Настройка сервера на прослушивание - это то, что, я думаю, вы ищете. Raymond cc написал хорошую и хорошую статью о том, как это сделать: http://www.raymond.cc/blog/archives/2007/04/05/free-and-easy-remote-access-with-vnc -Reverse-соединения /

Для SSH можно установить соединения типа «nohup ssh -f -N -R 10000:localhost:22 username @ your_side», что сделает ssh to your_side:10000 на клиенте, которого вы пытаетесь поддерживать. Для этого потребуется имя пользователя, которое вы, конечно, можете выдать своим клиентам. Более подробную информацию можно прочитать, например, по адресу http://www.vdomck.org/2005/11/reversing-ssh-connection.html.

И то, и другое требует, чтобы люди, которых вы пытаетесь поддержать, выполняли некоторую "начальную" работу в конце, но это обычно (по моему опыту) большая проблема.

1

Многие из проблем могут быть проигнорированы при использовании TeamViewer. Клиенту нужно только запустить программу и сообщить вам идентификатор (статический) и пароль (временный); программа заботится об обходе NAT и предлагает удаленный рабочий стол и передачу файлов. Альтернативы SSH нет, но TeamViewer, очевидно, также позволяет подключаться к VPN-сети клиента. (Я не уверен, что это работает без администратора /root.)

Для динамического DNS вы можете повторно использовать существующие инструменты "DynDNS Updater", например, inadyn - их можно указать на произвольные серверы, и все они работают, выполняя простой HTTP-запрос, который вы можете зарегистрировать.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .