Как мне подключить простую сеть к интернету?
Итак, вот сделка. У меня есть два компьютера для игр. Один специально для потоковой передачи, а другой только для игр. Чтобы получить видеовыход с игрового ПК на потоковый ПК, я использую плагин NDI с OBS Studio, который позволяет выводить видео через кабель Ethernet на потоковый ПК, где это видео затем принимается, обрабатывается и отправлено в Twitch, YouTube или куда угодно. У меня есть способ настройки сети: подключить игровой ноутбук к потоковому ПК с помощью кроссоверного кабеля, а затем подключить игровой компьютер к устройству через (очевидно, другой) кабель Ethernet. Проблема в том, что с моего ноутбука я могу получить доступ к Интернету только при использовании Wi-Fi (поскольку у моего ноутбука только один порт Ethernet, в отличие от моего потокового ПК), а Wi-Fi не идеален для игр. Итак, я хотел бы найти способ, позволяющий моему потоковому ПК работать почти как коммутатор, и разрешить любому трафику, не предназначенному для него (например, игровому трафику, а не трафику NDI), автоматически перенаправляться на точку доступа, как если бы он был напрямую подключен, что позволило моему игровому ноутбуку получить доступ к Интернету и отправить свой снимок экрана через кабель Ethernet. В течение последнего часа я играл с таблицами маршрутизации и не могу заставить его работать. Я использую Windows 10 на своем игровом ПК и дистрибутив Linux на основе Debian на своем потоковом компьютере. Любая помощь будет принята с благодарностью! Спасибо!
Редактировать: я понимаю, что использование простого переключателя было бы самым простым решением, но я все еще хотел бы знать, как заставить его работать так, как я первоначально упомянул, ради обучения. Итак, давайте предположим, что к точке доступа подключены только два ПК, один кроссоверный кабель и один соединительный кабель. Спасибо!
1 ответ
Есть два варианта.
Использование таблиц маршрутизации помогает только в том случае, если вы пытаетесь превратить потоковый компьютер в маршрутизатор, то есть иметь две разные подсети на разных сторонах. В вашем случае, однако, нет необходимости вносить какие-либо изменения в таблицу маршрутизации ПК (в конце концов, он уже знает обе сети), а вместо этого - в игровой ПК и основной маршрутизатор локальной сети.
Убедитесь, что обе сети (локальная сеть и мини-сеть игрового ПК) используют разные префиксы подсетей.
На игровом ПК убедитесь, что потоковый компьютер установлен как "шлюз по умолчанию".
На потоковом компьютере убедитесь, что IP-пересылка включена:
sysctl net.ipv4.conf.all.forwarding=1
На главном маршрутизаторе локальной сети добавьте статический маршрут к мини-сети:
- Назначение: <адрес / маска подсети mini-net>
- Шлюз: <основной сетевой адрес потокового ПК>
Если и только если основной маршрутизатор не имеет возможности добавлять статические маршруты
(и до сих пор смеет называть себя роутером)вместо этого включите SNAT на потоковом компьютере, добавив правило "маскарада" iptables.Примечание. Использование NAT будет означать, что все порты игрового ПК должны быть перенаправлены вручную дважды - один раз с маршрутизатора на потоковый ПК, а затем с потокового ПК на игровой ПК (путем добавления правил DNAT в iptables).
С другой стороны, если вы хотите превратить потоковый компьютер в коммутатор, вам нужна функция "моста" в Linux. Настройка его зависит от дистрибутива; Вот как это сделать вручную (временно), или через NetworkManager, или через традиционную версию Debian ifupdown, но общий принцип таков:
- Удалите всю конфигурацию IP с обоих портов Ethernet.
- Создайте виртуальный "мостовой" интерфейс.
- Добавьте оба интерфейса Ethernet как "порты" к мосту.
- Настройте IP (например, DHCP) только на интерфейсе моста.
Теперь все, что подключено к обоим интерфейсам Ethernet, становится частью одной подсети. Игровой ПК может использовать DHCP для получения своего адреса непосредственно с вашего основного маршрутизатора локальной сети.