Я правда не знаю, как я могу подключиться к определенному компьютеру в сети, на компьютере в другой сети через Интернет. Например, у меня есть кластер beowulf, постоянно работающий в моем доме. Я использую его для хардкорных вычислений, таких как перебор паролей из словаря. Теперь предположим, что я на своем ноутбуке, но где-то еще в чужой локальной сети. Я знаю внешний IP-адрес главного узла в кластере beowulf, и это единственный, подключенный к Интернету из всех узлы. Однако, когда я получаю внешний IP к моему рабочему столу на той же самой LAN как кластер, я получаю тот же внешний IP. Насколько я понимаю, внешний IP будет одинаковым для всех устройств в локальной сети. Внешний IP-адрес главного узла кластера beowulf, рабочего стола и smart TV (например) должен быть таким же, как и все маршрутизаторы через один модем, верно? И маска подсети определяет, с какого узла в локальной сети (внешний IP, общий для всех устройств) поступают данные, верно? Если да, то как я могу подключиться конкретно к главному узлу в кластере через SSH, чтобы отправить ему информацию для работы, если на моем рабочем столе также открыт SSH-порт 22? Если две или больше машин в локальной сети, и эти машины все работает SSH и сети, что можно ссылаться только на внешний IP общий на двух машинах, как я могу указать, какие машины в этой сети я хочу подключиться?
Внешние IP-адреса, маски подсети и SSH-как все это работает?
2 ответа
подсети маски
маска подсети используется только для группировки компьютеров в одной сети в подсети.
IPv4 адрес содержит четыре октета, всего 32 бита. Допустим, у вас мало компьютеров в локальной сети, и им назначены следующие IP-адреса и маски подсети:
- IP
192.168.0.1
, mask255.255.255.0
- IP
192.168.0.6
, mask255.255.255.0
- IP
192.168.1.1
, mask255.255.255.248
- IP
192.168.1.6
, mask255.255.255.248
- IP
192.168.1.12
, mask255.255.255.248
чтобы определить, какие компьютеры принадлежат к какой подсети, мы должны применить маску к IP-адресам:
преобразование IP-адресов и масок в двоичный
- IP
11000000 10101000 00000000 00000001
, mask11111111 11111111 11111111 00000000
- IP
11000000 10101000 00000000 00000110
, mask11111111 11111111 11111111 00000000
- IP
11000000 10101000 00000001 00000001
, mask11111111 11111111 11111111 11111000
- IP
11000000 10101000 00000001 00000110
, mask11111111 11111111 11111111 11111000
- IP
11000000 10101000 00000001 00001100
, маска11111111 11111111 11111111 11111000
- IP
выполнить логическую операцию" и", т. е. копировать
1
биты, где IP и маска имеют1
и заполнить отверстия с0
s1. 11000000 10101000 00000000 00000001 & 11111111 11111111 11111111 00000000 ------------------------------------- = 11000000 10101000 00000000 00000000 2. 11000000 10101000 00000000 00000110 & 11111111 11111111 11111111 00000000 ------------------------------------- = 11000000 10101000 00000000 00000000 3. 11000000 10101000 00000001 00000001 & 11111111 11111111 11111111 11111000 ------------------------------------- = 11000000 10101000 00000001 00000000 4. 11000000 10101000 00000001 00000110 & 11111111 11111111 11111111 11111000 ------------------------------------- = 11000000 10101000 00000001 00000000 5. 11000000 10101000 00000001 00001100 & 11111111 11111111 11111111 11111000 ------------------------------------- = 11000000 10101000 00000001 00001000
преобразовать результаты обратно в десятичное
192.168.0.0
192.168.0.0
192.168.1.0
192.168.1.0
192.168.1.8
это адреса подсетей нашего компьютеры. Если компьютеры имеют одинаковые адреса подсети, то они принадлежат к одной подсети.
- компьютеры 1 и 2 принадлежат одной подсети
- компьютеры 3 и 4 принадлежат к другой подсети
- компьютер 5 принадлежит третьей подсети
подсети имеют значение только внутри вашей локальной сети, т. е. компьютеры, подключенные к одному переключатель. Затем коммутатор подключается к маршрутизатору, который маршрутизирует сетевые пакеты между коммутатором и модемом. У вас, вероятно, есть все три из них в одном устройстве.
коммутатор, маршрутизатор и модем
переключатель-позволяет подключить более двух компьютеров. Вы не можете просто припаять несколько сетевых кабелей вместе и подключить их ко многим компьютерам, вы должны использовать коммутатор.
модем - обеспечивает двустороннее преобразование между различными сетевыми стандартами. Ваш провайдер использует другой стандарт сеть, чем обычные локальные сети, поэтому вам нужен модем, который будет переводить их сетевые пакеты в ваш формат и ваши пакеты в их формат.
маршрутизатор - маршрутизаторы маршрут пакеты между двумя сетями. Вы не можете просто подключить два выключателя в разных сетях друг другу, вам нужен маршрутизатор между ними. Маршрутизатор имеет один IP-адрес в каждой сети, к которой подключены.
ваша сеть выглядит как это:
+-----------------------------------------+
| |
PC1 +---------+ |
| | |
| +--------+ +--------+ +-------+ |
PC2 +-------+ Switch +---+ Router +---+ Modem +-------+ ISP
| +--------+ +--------+ +-------+ |
| | |
PC3 +---------+ |
| |
+-----------------------------------------+
как работает маршрутизация?
компьютеры слева имеют три IP-адреса, скажем так:
- 192.168.0.1
- 192.168.0.2
- 192.168.0.3
там же свой роутер LAN-адрес.
но на правой стороне у вас есть только один IP-адрес, так называемый "public IP". Это интернет-адрес маршрутизатора. Когда кто-то снаружи хочет поговорить с компьютер внутри вашей сети, как он определяет, с кем он хочет поговорить?
ответ: он не может. Вы не можете просто начать говорить с компьютера внутри вашей сети извне. Люди в Интернете могут общаться только с маршрутизатором.
такого рода Сети были бы совершенно бесполезны, и, по-видимому, вы можете загружать данные из интернета. Итак, как же это работает? Это работает, потому что вы инициализируете соединение. Когда компьютер внутри сеть пытается связаться с внешним миром, маршрутизатор назначает один из своих портов интернет-стороны на порт этого компьютера. Если кто-то отвечает на этот порт, маршрутизатор знает, куда он должен передать эти пакеты. Этот метод называется преобразованием сетевых адресов (сокращенно NAT).
как вам подключиться к компьютерам внутри сети?
вы не можете без правильной настройки маршрутизатора, потому что это компьютер в вашей сети это должно инициировать соединение. Он будет работать, только если компьютер на другом конце имеет публичный IP, что маловероятно. Сеть, наверное, выглядит так:
+----------------+ +-----------------------+
| | | |
| Your cluster | | Other network |
| | | |
| PC1 +---+ | | +---+ Other PC |
| | | +----------------+ | | |
| | | | | | | The computer |
| PC2 +-------------+ THE INTERNET +-------------+ you're using |
| | | | | | | to connect |
| | | +----------------+ | | |
| PC3 +---+ | | +---+ Other PC |
| | | |
+----------------+ +-----------------------+
обе эти сети имеют маршрутизаторы на своей границе, и оба этих маршрутизатора используют NAT, поэтому настройка обратного соединения не будет работать.
Как подключиться к кластеру?
вы должны настроить переадресация портов в маршрутизаторе.
порт переадресация навсегда привязывает один из интернет-портов маршрутизатора к какому-либо порту одного из ваших компьютеров.
например, вы можете перенаправить порт 5432 вашего маршрутизатора на порт 22 (SSH-порт по умолчанию) PC1 в вашем кластере. Затем вы можете SSH на свой публичный IP на порту 5432, и вы фактически подключитесь к PC1 на порту 22.
если вы хотите подключиться к другому компьютеру в кластере, у вас есть два способа сделать это:
вперед другой порт на другой машина
используйте PC1. PC1 подключен к локальной сети и может взаимодействовать с другими компьютерами в локальной сети без маршрутизации или NAT. Вы можете SSH в PC1 через перенаправленный порт, а затем SSH с PC1 на PC2. Это менее эффективно, чем прямое подключение, но не требует дополнительной настройки.
Я думаю, вы должны посмотреть, как работает подсеть IPv4, поскольку у вас неправильный конец палки, а затем прочитать о NAT-PMP. Впрочем, в двух словах:
у вас есть две сети, Интернет и сети. Они полностью разделены, за исключением маршрутизатора NAT в середине. Когда вы хотите подключиться к внешнему миру (т. е. подсети за пределами вашей собственной), ваш компьютер обращается к "шлюзу" или "маршруту по умолчанию". Это будет ваш маршрутизатор NAT. Затем маршрутизатор передает трафик между вашим компьютером и интернетом используется внутренний временный набор правил, описывающих соединение.
для подключения к сети из внешнего мира необходимо настроить правила сопоставления портов NAT. Ваш внешний IP-адрес-это всего лишь один IP-адрес, идентифицирующий WAN-порт вашего маршрутизатора, его подключение к Интернету, которое все ваши компьютеры совместно используют NAT. Используя интерфейс вашего маршрутизатора, вы должны установить правила, разрешающие трафик к определенным портам на вашем WAN-интерфейс маршрутизатора для перенаправления в службы внутренней сети.
например, у вас есть три компьютера - 192.168.0.100, 192.168.0.101, 192.168.0.102, маске подсети 255.255.255.0. Все эти три компьютера работают по протоколу SSH на порту 22. Ваш внешний IP-адрес 123.4.5.6
для доступа к трем отдельным серверам SSH необходимо сопоставить три внешних порта с тремя комбинациями внутренний IP-адрес / порт. например,
123.4.5.6:22222 -> 192.168.0.100:22
123.4.5.6:22223 -> 192.168.0.101:22
123.4.5.6:22224 -> 192.168.0.102:22
эта функциональность построена в ваш маршрутизатор NAT-вы должны быть в состоянии найти определенные инструкции установить это для вашей модели маршрутизатора. Я рекомендую вам сначала пойти и почитать!
HTH!
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]