![如何将简单网络连接到互联网?](https://linux22.com/image/1575483/%E5%A6%82%E4%BD%95%E5%B0%86%E7%AE%80%E5%8D%95%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%BA%92%E8%81%94%E7%BD%91%EF%BC%9F.png)
好吧,事情是这样的。我为游戏设置了两台电脑。一台专门用于直播,另一台仅用于游戏。为了将视频输出从游戏电脑传输到直播电脑,我使用带有 OBS Studio 的 NDI 插件,它允许我通过以太网电缆将视频输出到我的直播电脑,然后在直播电脑上接收、处理该视频并将其发送到 Twitch、YouTube 或其他地方。我的网络设置方式是,通过交叉电缆将游戏笔记本电脑连接到直播电脑,然后通过(显然不同的)以太网电缆将游戏电脑连接到我的 ap。问题是,从我的笔记本电脑,我只能使用 Wi-Fi 访问互联网(因为我的笔记本电脑只有一个以太网端口,不像我的直播电脑),而 Wi-Fi 并不适合玩游戏。因此,我想找到一种方法,让我的直播 PC 几乎像一个交换机一样运行,并允许任何不发往它的流量(即游戏流量,而不是 NDI 流量)自动转发到 AP,就像它是直接连接的一样,从而允许我的游戏笔记本电脑访问互联网并通过以太网电缆发送其屏幕截图。过去一个小时我一直在摆弄路由表,但无法让它正常工作。我在我的游戏 PC 上运行 Windows 10,在我的直播 PC 上运行基于 Debian 的 Linux 发行版。任何帮助都将不胜感激!谢谢!
编辑:我知道使用简单的交换机是最简单的解决方案,但为了学习,我仍然想知道如何让它按照我最初提到的方式工作。所以现在,我们假设我只有两台电脑、一根交叉电缆和一根跳线连接到 AP。谢谢!
答案1
有两个选择。
仅当您尝试将流媒体 PC 变成路由器即在不同侧有两个不同的子网。不过,对于你的情况,根本不需要更改 PC 的路由表(毕竟它已经知道这两个网络),而是需要更改游戏 PC 和主 LAN 路由器。
确保两个网络(LAN 和游戏 PC 的迷你网络)使用不同的子网前缀。
在游戏 PC 上,确保流媒体 PC 设置为“默认网关”。
在直播 PC 上,确保已启用 IP 转发:
sysctl net.ipv4.conf.all.forwarding=1
在局域网的主路由器上,添加通向微网络的静态路由:
- 目标:<微型网络的子网地址/掩码>
- 网关:<流媒体 PC 的主 LAN 地址>
当且仅当主路由器没有添加静态路由的选项时
(并且仍然敢称自己为路由器),而是通过添加 iptables“伪装”规则在流媒体 PC 上启用 SNAT。注意:使用 NAT 意味着所有到游戏 PC 的端口都必须手动转发两次 - 一次从路由器到流媒体 PC,然后从流媒体 PC 到游戏 PC(通过向 iptables 添加 DNAT 规则)。
另一方面,如果你想把直播电脑变成转变,您正在寻找 Linux 中的“桥接”功能。配置它因发行版而异;以下是配置方法用手(暂时),或通过网络管理器或通过传统Debian ifupdown但总的原则是:
- 从两个以太网端口删除所有 IP 配置。
- 创建一个虚拟的“桥接”接口。
- 将两个以太网接口作为“端口”添加到网桥。
- 在桥接接口上配置 IP(例如 DHCP)仅有的。
现在,连接到两个以太网接口的所有内容都成为同一子网的一部分。游戏 PC 可以使用 DHCP 直接从主 LAN 路由器获取其地址。