Немного предыстории, чтобы понять мой вопрос:
У меня дома нет фиксированного подключения к Интернету. Доступ в Интернет только через мой мобильный телефон. Я привязываю свой мобильный телефон к любому устройству, которому нужен доступ в Интернет, и это меня устраивает.
Однако для правильной работы некоторых устройств требуется локальная сеть, поэтому я пытался настроить различные маршрутизаторы, которые приобрел за эти годы, чтобы обеспечить сеть Wi-Fi, в которой нет доступа в Интернет, пока мой телефон не будет добавлен в сеть. .
Я не возражаю, если мне нужно, чтобы мой компьютер с Linux был включен и привязан для обеспечения доступа в Интернет к локальной сети, но мне нужно, чтобы локальная сеть работала (хотя и без доступа к Интернету) без включения моего компьютера.
В следующих примерах моя локальная сеть всегда должна иметь адрес 192.168.1.0/24 , а мой маршрутизатор (точка беспроводного доступа с портами eth LAN и одним портом WAN) имеет адрес 192.168.1.1. Когда я привязываю свой телефон к компьютеру, интерфейс usb0 настраивается автоматически.
Что у меня получилось:
Сценарий A :
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
Эффект сценария A :
Сценарий 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 затем, я думаю, что это - хорошая идея.
Мой способ сделать это был бы:
В этой точке каждое устройство, которое соединится с помощью беспроводных технологий, или через эфир к LAN будет видеть все другие устройства, потому что это получит IP от маршрутизатора и неважно если ПК будет работать или прочь - LAN будет работать - просто никакой Интернет (вызовите ПК, действующий, поскольку шлюз выключен), И когда ПК будет работать, он будет иметь доступ в Интернет через телефонный доступ и доступ к LAN через eth0.
, Если Ваш ПК будет настроен как шлюз затем, когда это будет на нем, будет достижимо для других устройств, и они смогут общаться с Интернетом.