Сеть между двумя подсетями взаимно, а не односторонняя

263
Epz

ПК1 <- LAN в LAN -> DSL модем <- LAN в WAN -> Маршрутизатор <- LAN в LAN -> ПК2

Таким образом, мой первый компьютер в основном подключен к модему, второй компьютер подключен к маршрутизатору, а маршрутизатор подключен к модему от глобальной сети до локальной сети. Я включил обнаружение сети и общий доступ к файлам / принтерам на обоих устройствах. Второй компьютер с маршрутизатора может просматривать файлы первого компьютера, который подключен к модему, но компьютер, подключенный через модем, не может даже найти компьютер, подключенный к маршрутизатору. Зачем? Это делает меня более интересным, так как люди говорят, что мы не можем общаться между разными подсетями, но почему маршрутизатор ПК может подключаться к модему ПК и просматривать файлы? Пинг тоже работает, но только с роутера на модем.

Маршрутизатор 192.168.0.1

Модем 192.168.1.1

Первый ПК 192.168.1.2

Второй ПК 192.168.0.100

Что я должен делать? Интернет работает на обоих устройствах, но совместное использование сети является односторонним, а не взаимным. Я хочу, чтобы это было взаимно, чтобы оба могли передавать файлы друг другу.

2
Технически дубликат https://superuser.com/questions/1305554/can-i-make-computers-in-this-subnet-visible-to-computers-in-the-main-network-wit, но ответ там не на самом деле не включать «почему» этого. grawity 5 лет назад 0

1 ответ на вопрос

3
grawity

Что я должен делать?

На маршрутизаторе отключите NAT и брандмауэр WAN.

На модеме добавьте статический маршрут, который говорит: «192.168.0.x может быть достигнуто через <IP-адрес маршрутизатора>».

Если модем не позволяет вам добавлять статические маршруты, сделайте это на ПК1 или объедините подсети в одну.

люди говорят, что мы не можем общаться между разными подсетями

Они массово чрезмерны. Связь между различными подсетями является основной характеристикой IP (и даже сетей, существовавших до IP), и многие более крупные сети состоят из взаимосвязанных подсетей. Это то, как был построен сам Интернет.

Существует только один конкретный тип пакетов, которые обычно не могут пересекать маршрутизаторы в разные подсети: широковещательные и / или многоадресные пакеты, которые некоторые приложения и игры используют для обнаружения одноранговых узлов. Например, когда вы просите Windows показать, на каких компьютерах доступен общий доступ к файлам, это ограничивается одной подсетью. Когда вы пропингуете pc2.local, который использует многоадресную LLMNR / mDNS, это также ограничивается той же подсетью.

Однако это не относится к прямому (одноадресному) общению. Если вы даете OS конкретный адрес для подключения, маршрутизаторы будут счастливо передавать пакеты по подсетям, насколько они могут - будь то другой подсеть в той же локальной сети, или будь то другая сторона мира. В конце концов, именно так вы получаете доступ к веб-сайтам.

Короче говоря,

  • ПК1 и ПК2 не смогут «видеть» друг друга в списке «Ближайшие компьютеры».
  • PC1 и PC2 будет иметь возможность соединяться друг с другом по их IP - адресу.
  • ПК1 и ПК2 могут не иметь возможности разрешать имена хостов друг друга, в зависимости от используемого механизма (обычный DNS будет работать, но mDNS / LLMNR / NetBIOS не будет).

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

Поэтому, прежде чем продолжить, подумайте, нужно ли вам вообще две подсети. Было бы проще (и гарантированно работать) просто иметь одну большую подсеть, используя соединение LAN-LAN вместо LAN-WAN между двумя маршрутизаторами, как в этом ответе .

Это говорит:

Включение связи между подсетями

Во-первых, таблицы маршрутизации. В настоящее время вы не можете достичь «внутрь» из модемной сети 192.168.1.x в сеть маршрутизатора 192.168.0.x, поскольку у модема нет маршрута для этой сети. По умолчанию он имеет только два маршрута:

  1. пункт назначения 0.0.0.0/0: через шлюз интернет-провайдера
  2. пункт назначения 192.168.1.0/24: непосредственно на портах локальной сети

Вы должны сообщить модему, что все пакеты для 192.168.0.x должны пройти через маршрутизатор, добавив «статический маршрут» через конфигурацию модема:

  1. пункт назначения 192.168.0.0/24 (маска сети 255.255.255.0) через маршрутизатор 192.168.1.x

Замените «x» на то, что ваш «внутренний» маршрутизатор считает своим WAN-адресом.

Примечание. Многие дешевые маршрутизаторы / модемы не позволяют настраивать статические маршруты. Если модема нет, вам не повезло, и вам придется объединить обе подсети в одну.

В качестве альтернативы вы можете настроить тот же статический маршрут непосредственно на ПК1. (PC1 также имеет ту же таблицу маршрутизации, за исключением модема в качестве шлюза по умолчанию.)

Во-вторых, брандмауэры. Скорее всего, ваш «внутренний» маршрутизатор был построен с предположением, что его WAN-порт будет подключаться напрямую к Интернету и, следовательно, должен иметь брандмауэр, намеренно блокирующий входящие соединения - и он будет продолжать блокировать их даже после того, как вы получите таблицы маршрутизации правы.

На данный момент вы можете безопасно отключить брандмауэр внутреннего маршрутизатора, поскольку внешние подключения уже заблокированы соединения из Интернета.

В-третьих, NAT. К настоящему времени вы должны были спросить: «Но если сеть модема не знает, куда отправлять новые соединения в сеть маршрутизатора, как она узнает, куда отправлять ответы на входящие соединения?»

В настоящее время вы можете достичь «наружу», потому что на вашем внутреннем маршрутизаторе включен NAT на своем порту WAN (опять же, потому что он создан для подключения к Интернету, а не к другой локальной сети).

С SNAT (он же маскировка) включен, маршрутизатор переписывает все пакеты, проходящие через порт WAN и лежит о том, где связь действительно пришла. Поэтому, когда ПК2 подключается к ПК1, ПК1 фактически думает, что соединение было получено от самого маршрутизатора . Поскольку они находятся в одной подсети, ПК1 уже знает, как отправить ответ на маршрутизатор - и маршрутизатор отменяет преобразование и пересылает пакет на ПК2.

Если внутренний маршрутизатор позволяет отключить NAT, отключите его. Это приведет к тому, что связь перестанет работать в обоих направлениях, но в вашем случае это хорошо - наличие NAT скрывает фактическую причину, по которой связь не работала полностью до этого.

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

Спасибо! Я отметил это как ответ. Так классный ответ. Epz 5 лет назад 0
Да. Это ответ. Я только подтвердил это, прочитав весь ответ со временем. Огромное спасибо за такой богатый ответ. Epz 5 лет назад 0