Внешние IP-адреса, маски подсети и SSH-как все это работает?

Я правда не знаю, как я могу подключиться к определенному компьютеру в сети, на компьютере в другой сети через Интернет. Например, у меня есть кластер beowulf, постоянно работающий в моем доме. Я использую его для хардкорных вычислений, таких как перебор паролей из словаря. Теперь предположим, что я на своем ноутбуке, но где-то еще в чужой локальной сети. Я знаю внешний IP-адрес главного узла в кластере beowulf, и это единственный, подключенный к Интернету из всех узлы. Однако, когда я получаю внешний IP к моему рабочему столу на той же самой LAN как кластер, я получаю тот же внешний IP. Насколько я понимаю, внешний IP будет одинаковым для всех устройств в локальной сети. Внешний IP-адрес главного узла кластера beowulf, рабочего стола и smart TV (например) должен быть таким же, как и все маршрутизаторы через один модем, верно? И маска подсети определяет, с какого узла в локальной сети (внешний IP, общий для всех устройств) поступают данные, верно? Если да, то как я могу подключиться конкретно к главному узлу в кластере через SSH, чтобы отправить ему информацию для работы, если на моем рабочем столе также открыт SSH-порт 22? Если две или больше машин в локальной сети, и эти машины все работает SSH и сети, что можно ссылаться только на внешний IP общий на двух машинах, как я могу указать, какие машины в этой сети я хочу подключиться?

11
задан Zulfe
07.12.2022 0:29 Количество просмотров материала 3173
Распечатать страницу

2 ответа

подсети маски

маска подсети используется только для группировки компьютеров в одной сети в подсети.

IPv4 адрес содержит четыре октета, всего 32 бита. Допустим, у вас мало компьютеров в локальной сети, и им назначены следующие IP-адреса и маски подсети:

  1. IP 192.168.0.1, mask 255.255.255.0
  2. IP 192.168.0.6, mask 255.255.255.0
  3. IP 192.168.1.1, mask 255.255.255.248
  4. IP 192.168.1.6, mask 255.255.255.248
  5. IP 192.168.1.12, mask 255.255.255.248

чтобы определить, какие компьютеры принадлежат к какой подсети, мы должны применить маску к IP-адресам:

  • преобразование IP-адресов и масок в двоичный

    1. IP 11000000 10101000 00000000 00000001, mask 11111111 11111111 11111111 00000000
    2. IP 11000000 10101000 00000000 00000110, mask 11111111 11111111 11111111 00000000
    3. IP 11000000 10101000 00000001 00000001, mask 11111111 11111111 11111111 11111000
    4. IP 11000000 10101000 00000001 00000110, mask 11111111 11111111 11111111 11111000
    5. IP 11000000 10101000 00000001 00001100, маска 11111111 11111111 11111111 11111000
  • выполнить логическую операцию" и", т. е. копировать 1 биты, где IP и маска имеют 1 и заполнить отверстия с 0s

    1.    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
    
  • преобразовать результаты обратно в десятичное

    1. 192.168.0.0
    2. 192.168.0.0
    3. 192.168.1.0
    4. 192.168.1.0
    5. 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. Это менее эффективно, чем прямое подключение, но не требует дополнительной настройки.

3
отвечен gronostaj 2022-12-08 08:17

Я думаю, вы должны посмотреть, как работает подсеть 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!

0
отвечен Hygrinet 2022-12-08 10:34

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

lan
networking
router
ssh
wan
Вверх