Назад | Перейти на главную страницу

Использовать подключенный компьютер в качестве шлюза в WAN, разрешая тому же компьютеру доступ к LAN

Некоторая предыстория, чтобы понять мой вопрос:

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

Однако некоторым устройствам для правильной работы требуется локальная сеть, поэтому я пытался настроить различные маршрутизаторы, которые я приобрел на протяжении многих лет, чтобы обеспечить сеть Wi-Fi, в которой нет доступа к Интернету, пока мой телефон не будет добавлен в сеть.

Я не возражаю, если мне нужно, чтобы мой компьютер с Linux был включен и привязан для обеспечения доступа в Интернет к локальной сети, но мне нужно, чтобы локальная сеть работала (хотя и без доступа в Интернет) без включения моего ПК.

В следующих примерах моя локальная сеть всегда должна иметь адрес 192.168.1.0/24, а мой маршрутизатор (точка беспроводного доступа с портами eth LAN и одним портом WAN) имеет адрес 192.168.1.1. Когда я привязываю свой телефон к компьютеру, интерфейс usb0 настраивается автоматически.

Что у меня получилось:

Сценарий А:

iptables -A FORWARD -i eth0 -o usb0 -j ACCEPT
iptables -A FORWARD -i usb0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE

Эффект от сценария А:

Сценарий B:

Эффект сценария B:

Сценарий C:

Сценарий A хорош, потому что у моего ПК есть доступ к локальной сети, так как я определенно требовать. Проблема в том, что мой компьютер должен быть включен, чтобы любое устройство могло подключиться к локальной сети, поскольку на моем компьютере работает DHCP-сервер.

Сценарий B хорош, потому что мой компьютер не должен быть включен, чтобы устройства могли подключаться к локальной сети, а когда мой компьютер включен с привязанным телефоном, все устройства в локальной сети имеют доступ в Интернет. Однако у моего ПК нет доступа к локальной сети.

Сценарий C непроверенный - но, учитывая, как работал сценарий B (WAN получил IP-адрес через DHCP-сервер на телефоне), я почти уверен, что это работает.

Мне бы очень хотелось, чтобы что-то вроде сценария B работало, так как я должен иметь возможность настроить свой Linux-компьютер, чтобы он делал что угодно. Я хотел бы узнать больше о маршрутизации с помощью Linux, поэтому я бы предпочел приложить усилия, чтобы выяснить, как это сделать с тем, что у меня есть.

Мое видение:

Phone <-------> [usb0]PC[eth0] <-------> [WAN]Router[LAN] <-------> Devices
   192.168.X.0/24           192.168.100.0/24            192.168.1.0/24

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

Вопрос: Как я могу добиться этого с моим текущим оборудованием?

Я использую MXLinux 18.3 на основе Debian.

Я считаю, что ваш сценарий C будет работать, но поскольку вы предпочитаете изучать конфигурацию Linux, я думаю, что это хорошая идея.

Мой способ сделать это:

  1. Настройте свой компьютер с Linux, чтобы получить доступ в Интернет с телефона
  2. Установите статический IP для ПК с Linux - например 192.168.0.1
  3. Подключите ПК с Linux и все остальные к портам LAN на вашем роутере
  4. Установите статический IP-адрес для вашего маршрутизатора - например, 192.168.0.2
  5. По возможности установите маршрутизатор в качестве моста или точки доступа.
  6. Включите DHCP на вашем маршрутизаторе и установите "шлюз" как 192.168.0.1 (чтобы указать на ваш компьютер с Linux).
  7. Настройте свой компьютер на работу в качестве шлюза (вам придется выяснить это самостоятельно)

На этом этапе каждое устройство, которое будет подключаться к вашей локальной сети по беспроводной сети или через эфир, будет видеть все другие устройства, потому что оно получит IP-адрес от вашего маршрутизатора, и независимо от того, будет ли ваш компьютер включен или выключен - локальная сеть будет работать - просто нет Интернета ( Потому что ПК, выступающий в качестве шлюза, выключен) И когда ваш компьютер будет работать, у него будет доступ в Интернет по телефону и доступ к локальной сети через eth0.

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