Соединение компьютер-компьютер через интернет с динамическими IP
Очень часто мы слышим о том, что установить соединение компьютер-компьютер через интернет с динамическими IP – нереально без внешнего сервера.
А также думал, до определенного времени. Потом у меня закрались подозрения… А после мне стало известно очень многое и тайное.
Однако скайп, аська для передачи файлов, торренты, в конце концов, используют каким-то образом прямое подключение.
Как? Об этом я и хочу рассказать.
Все совпадения случайны, цифры изначально выдуманы.
На самом деле, без внешнего сервера это действительно нереально. Но есть «хаки» и «моды», которые нам помогут.
Я буду сильно разжевывать. Некоторые мои объяснения могут не сойтись с реальностью, но это делается для того, чтобы было понятно как и что работает, поскольку на практике данных знаний хватит.
Теория
NAT – то, что дает каждому из нас иметь возможность подключаться к интернету, кто сидит с IPv4. Если раздать каждому компьютеру IPv4 адрес, то их не хватит.
NAT позволяет нам скрывать определенные сервисы только для сети… И именно из-за него мы не можем, в большинстве, достучаться до компьютера из интернета.
Представьте, что вы подключаетесь к серверу FTP в пассивном режиме.
Ваш внешний адрес: 43.12.102.14
Ваш внутренний адрес: 192.168.0.2
Адрес вашего NAT: 192.168.0.1
Вы создаете TCP соединение с вашего IP 192.168.0.2, создаете запрос на адрес с 21 портом.
Далее запрос попадает на ваш NAT, который создает в своей небольшой таблице соответствие: TCP-соединение внутренний IP 192.168.0.2, порт 21.
Внешне он создает также порт, например, 54321 со своим адресом.
И переадресует ваш запрос на FTP сервер на 21 порт.
Сервер FTP, получая запрос, видит, что запрос установлен с IP 43.12.102.14 и порта 54321.
Теперь, на время соединения, этот порт является переадресатором на ваш компьютер на порт 21 для TCP соединения.
Как только вы закроете соединение, порт провесит от 3-10 секунд и удалится из таблицы NAT.
Большинство UDP соединений и TCP соединений в программах создаются через данные хаки, постоянно поддерживая подключение.
Практика
Давайте я объясню как создается соединение между компьютерами, когда вы сидите, например, в аське.
Вы создаете изначально соединение с сервером ICQ, который открывает вам порт на компьютере, например, 5191. На другом компьютере открывается также порт с номером 5191.
IP и порты этих пользователей в NAT будут выглядеть, например, так:
1 пользователь: 43.12.102.14:56742
2 пользователь: 43.12.102.15:61782
После этого сервер ICQ сообщает каждому клиенту их внешний IP-адрес и внешний порт.
Пользователь 1 делает соединение на этот внешний IP:Port (43.12.102.15:61782) и попадает на внутренний порт 5191.
Пользователь 2 соглашается на соединение с IP:Port пользователя 1 (43.12.102.15:61782), который переадресуется с NAT на пользователя 1 с портом 5191. Далее происходит пересылка файлов и соединение закрывается. Через некоторое время NAT, видя, что внешние и внутренние порты уже не используются и соединение закрыто, удаляет этот порт для того, чтобы использовать для других соединений.
На картинке это будет выглядеть так:
Как реализовать?
Конечно, не каждый из нас на начале своей карьеры имел внешний сервер, который будет говорить каждому пользователю его внешний IP-адрес и порт.
Но для данных решений существуют свои реализации, например, STUN сервера, которые есть по всему миру, даже публичные.
В большинстве, они созданы для UDP протокола, который используется в тех же торрентах. Однако существуют и STUNT сервера для реализации TCP протокола.
Создавайте, творите, все в ваших руках.
P.S.: Не все NAT способны обеспечить такое соединение, однако, большинство закрытых NAT, следящих за IP соединений, не используются в предоставлении услуг провайдеров.
UDP: в данном контексте, динамическими IP, называются IP адреса, которые не являются внешними, а выдаются вышестоящим NAT.
Источник
Как подключить компьютер к компьютеру: 4 рабочих способа от Хомяка
Для подключения двух компьютеров между собой с возможностью чтения и передачи файлов придумано множество протоколов и разработано столько же способов. Вам останется лишь выбрать, какой из вариантов наиболее удобен, чтобы подключить ПК к ПК.
Особенности подключения
Лучший способ сетевого подключения – использование главного компьютера, включенного (24/7) для обеспечения сети. Таким ПК уже давно выступает роутер, и именно его лучше всего использовать для связи двух и более ПК.
Также есть вариант, в котором происходит подключение компьютера через компьютер. То есть первый ПК выступает ведущим, а второй – ведомым.
Соединять устройства можно:
- Проводным способом.
- Беспроводным способом.
Использовать для доступа ПК к файлам другого устройства можно:
- TCP/IP.
- FTP.
- SSH – протокол больше предназначен для безопасного удаленного управления в рамках небезопасной сети.
Дальнейшие инструкции подскажут – как подключить компьютер по сети и расшарить на чтение и запись файлов по сети. Рассмотрим возможные способы физической установки связи между устройствами.
ШАГ 1: Подключаем два ПК
Роутер может выступать посредником между двумя компьютерами. При этом оба устройства могут взаимодействовать не только друг с другом, но независимо друг от друга выходить в интернет. Соединение можно реализовать через сетевой кабель.
Для реализации нужно:
- Маршрутизатор.
- Два ПК.
- Два Ethernet-кабеля с коннекторами с обеих сторон.
Соединение происходит по схеме:
- В первый LAN-порт маршрутизатора вставьте коннектор одного конца кабеля (в народе именуемый RJ-45).
- Во второй LAN-порт маршрутизатора подсоедините второй кабель одним концом.
- Другие концы кабелей подключите в LAN-порты компьютеров (есть в материнках или в сетевых платах, подсоединенных к материнкам).
- Запустите компьютеры.
- Маршрутизатор подключите в сеть 220В.
- Готово, сеть настроена автоматически.
Сеть будет работать в том случае, если в настройках маршрутизатора (а это установлено по умолчанию) будет включена функция DHCP-сервер. При этом в сетевом подключении устройств должен быть выбран вариант автоматического выставления IP-адресов.
Подключение компьютера без проводов можно реализовать через Wi-Fi-адаптер. Он есть в маршрутизаторе по умолчанию, но не всегда присутствует в стационарном компьютере. Поэтому Wi-Fi адаптер для каждого ПК покупается отдельно. Комплектация должна включать:
- Маршрутизатор.
- Два компьютера.
- Два Wi-Fi адаптера.
- Один Ethernet-кабель (для настройки маршрутизатора).
Настройка с соединением устройств выглядит так:
- С помощью патч-корда свяжите маршрутизатор и ПК. Включите оба устройства в сеть. 220В.
- Так как DHCP-сервер на маршрутизаторе включен, и IP-адрес на ПК выставлен автоматически, то создастся обычна проводная локальная сеть. Зайдите в браузер и в адресной строке введите: 192.168.1.1 или 192.168.0.1 – по этим адресам обычно доступны роутеры локально.
ПРИМЕЧАНИЕ! Если у вас будут проблемы с подключением к роутеру, то смотрим инструкцию тут.
- Авторизуйтесь в веб-панели роутера – логин и пароль: admin (по умолчанию, но при первичной настройке данные могли поменяться).
- Перейдите в раздел «Беспроводной режим», укажите имя сети, установите галочки напротив «Включить беспроводное вещание роутера», «Включить широковещание SSID». Жмите «Сохранить».
- Затем перейдите в раздел «Защита беспроводного режима» и включите защиту, указав предварительно пароль. Жмите «Сохранить».
- Wi-Fi на маршрутизаторе включен. Отсоедините шнур от компьютера и роутера, он больше не понадобится.
- Подключите в оба компьютера по «ЮСБ Вай Фай адаптеру». Используйте драйвера, что идут в комплекте с адаптерами, для их настройки. По установке драйверов также можете почитать тут.
- В системном трее нажмите на значок сети Wi-Fi и в списке доступных выберите только что настроенную сеть. Введите пароль для подсоединения к сети.
- Таким же способом создайте пару между вторым маршрутизатором и устройством.
- Теперь оба устройства находятся в локальной сети с помощью Wi-Fi.
Даже когда оба устройства подключены к сети, они видят, но не доверяют друг-другу. Чтобы дать возможность одному устройству получить доступ к данным другого, нужно настроить общий доступ.
Подключить компьютер к компьютеру через кабель напрямую, без участия роутера можно тоже. При этом роль ведущего (как у маршрутизатора) ложится на плечи одного из компьютеров.
С помощью Ethernet-кабеля создайте прямое соединение ПК к ПК через патч-корд:
- Соедините два компьютера одним LAN-кабелем.
- Нажимаем на клавиатуре «Win+R», прописываем команду «ncpa.cpl».
- Зайдите в свойства адаптера.
- Зайдите в «Свойства» 4 протокола.
- Создайте сетевое подключение у первого компьютера с такими параметрами, как на рисунке.
- На втором ПК (ведомым) сделайте тоже самое.
- Готово, теперь можно делать расшаривание папок.
Точно так можно подключить оба устройства по USB, использовав кабель с контроллером, типа «USB Data Link».
Если оба ПК оснащены Wi-Fi адаптерами, можно реализовать подключение «точка-точка», как это сделано в Windows:
- Нажмите «Win+R» и введите: «control».
- Выберите «Управление беспроводными сетями».
- Выберите сеть «компьютер-компьютер».
- Согласитесь, с информацией, нажав «Далее».
- Заполните требуемые поля. Выберите «Wep-защиту» для лучшей сопрягаемости.
- Создастся новое подключение.
- Теперь зайдите в свойства Wi-Fi адаптера ( + R = ncpa.cpl) и пропишите настройки IP-адреса.
- Со второго устройства присоединитесь к сети точно также, как это делали с Wi-Fi маршрутизатора.
- На втором ПК пропишите IP-адрес, ссылаясь на картинку.
- Готово! Беспроводная сеть будет настроена напрямую.
Если хочется более автоматизированное решение, воспользуйтесь утилитой «Switch Virtual Router» для создания Wi-Fi точки средствами Windows 7. В Windows 10 такая же настройка делается в разделе: «Параметры» – «Сеть и интернет» – «Wi-Fi».
ШАГ 2: Открытие доступа к папкам
Если вы выбрали способ – как соединять ПК и ПК, – можно настроить доступ одного устройства к папкам и вложенным файлам другого.
Средствами Windows
Довольно сложная, но технически реализуемая опция настраивается так:
- Нажмите + R и введите команду:
control.exe /name Microsoft.NetworkandSharingCenter
- Кликайте «Изменить доп. Параметры общего доступа».
- В разделе «Частная» все пункты должны быть активны и галочка напротив «Включить автоматическую настройку на сетевых устройствах» – поставлена.
- В разделе «Все сети» должен быть включен «Общий доступ».
- В самом низу рекомендуется «Отключить общий доступ с парольной защитой». Данные и так будут защищены и доступны только с локальной сети, а вот вход через учетную запись запрашиваться не будет.
- Сохраняйте изменения. Теперь перейдите непосредственно к папке, которую надо расшарить. Кликните ПКМ по ней и выберите «Предоставить доступ к» – «Отдельные люди».
- Выберите «Все» и жмите «Добавить».
- В поле «Уровень разрешений» выберите «Чтение и запись» для полного взаимодействия с данными.
- С другого ноутбука зайдите в раздел «Сеть», двойным кликом откройте в «Проводнике» компьютер, на котором настраивался доступ. Если все сделано правильно, вы получите доступ к общей папке с данными.
По протоколу FTP
С протоколом FTP работают множество систем и программ. Легче всего воспользоваться утилитой для настройки FTP:
- На компьютер, который будет выступать в роли сервера установите «FileZilla Server».
- Согласитесь, с директорией установки и выберите порт.
- После установки программа запустится автоматически с окном подключения. Жмите «Ок» для входа в систему.
- FTP-служба активна, теперь к ней надо предоставить доступ. Для этого нужно создать клиента. Нажмите «Редактировать» в списке меню и выберите «Пользователи». Нажмите кнопку «Добавить» и введите имя учетки.
- Установите для созданного профиля пароль. Или же можно воспользоваться опцией анонимного подключения – то есть без ввода логина и пароля.
- Кликните «Общие папки» – «Добавить». Подтяните директорию, к которой будет предоставлен доступ. Выставите разрешение на «чтение и запись».
Зайти на сервер FTP со второго компьютера можно по имени компьютера или созданному программой IP-адресу. Заходить можно через:
Инструкция подключение к FTP-серверу через «клиент FileZilla»:
- Скачайте на второй компьютер «клиент FileZilla». Откройте приложение и нажмите «Ctrl+S».
- Кликните «Новый сайт» и дайте название. В поле «Host» введите IP-адрес, порт выберите 21. Введите логин и пароль учетной записи, которую создавали.
- Жмите «Connect» для подсоединения. Вам откроется доступ к расшаренным папкам и файлам.
Если сеть по каким-либо причинам не безопасна, рекомендуется использовать 22 порт FTPS (нужно настраивать в серверной части) или переходить на более защищенный протокол SSH. Работать с последним можно через портейбл-версию программы «PuTTY».
Источник