我目前正在尝试构建一个家庭服务器。这个家庭服务器将做很多事情,例如充当 NAS、媒体服务器、文件服务器等,还可以充当路由器。这台电脑在主板上有一个以太网端口(我们称之为 eth0 或 wan),在 pcie 卡上有 4 个以太网端口(我们称之为 eth1、eth2、eth3、eth4)。eth0 当前通过 dhcp 从 isp 接收其 ip 地址。我希望将 eth1、eth2、eth3 和 eth4 都设置为 192.168.0.1/24,以便连接的设备可以从家庭服务器上的 dhcp 服务器获取其 ip,就像它是普通路由器一样。连接的设备必须能够相互通信并且还能够访问互联网。
问题是我缺乏如何将 eth1、eth2、eth3 和 eth4 合并为单个虚拟接口并将它们与 eth0 桥接以便它们可以访问互联网的知识。如何做到这一点(最好使用网络管理器 cli,因为它对我来说是必需的)?谢谢!
答案1
好的,非常片面的回答:
基本上,您希望您的家庭服务器能够执行普通家庭路由器所做的一切。通常的设置是将eth1
(eth4
以及可能的其他客户端接口,如 WLAN AP)放入网桥br-client
,为其分配单独的子网(例如),启用转发,通过 进行和192.168.71.0/24
之间的 NAT ,并通过 添加其他防火墙规则。br-client
eth0
iptables
iptables
然后您可以使用类似dnsmasq
DHCP 和 DNS 转发代理。
有一些发行版(例如 OpenWRT)专门针对现有路由器使用的嵌入式硬件进行了调整,但也适用于 x86,开箱即用。但由于它们是为空间受限的嵌入式机器设计的,因此它们与 Arch-Linux 上使用的略有不同。
这样做的缺点是,你正在执行所谓的“双重 NAT”:你的家庭服务器将重写一次 IP 地址,然后你的 ISP 路由器将第二次重写来自你的家庭服务器的 IP 地址。这确实有效,但不太优雅,而且由于 ISP 路由器只能使用单个地址,当你有大量客户端计算机打开大量互联网连接时,这将很快导致端口耗尽。
解决这个问题的最佳方法是,您可以配置您的 ISP 路由器以停止执行 NAT(有时称为“像调制解调器一样使用路由器”或类似)。
您的 ISP 路由器执行 NAT 和 DHCP,但您的家庭服务器仅执行防火墙的工作设置将会很困难。