如何为一个子网中的多个 NIC 配置 DHCP?

如何为一个子网中的多个 NIC 配置 DHCP?

我想让我的 Linux 服务器充当路由器。服务器上有四个以太网端口(eth0、eth1、eth2、eth3)和一个无线网卡(wlan0)。eth0 是网关(WAN),eth1-3 是 LAN 端口。如何配置 dhcpd 以在任何设备插入 eth1-3 时自动分配 IP?

答案1

你正在做一个LAN 端口之间。它是连接以太网 (MAC) 层接口的虚拟接口,就像交换机一样。(商用家用路由器通常有一个内置交换机来实现桥接。)

请注意,与具有专用硬件芯片的交换机不同,您的网桥将完全基于软件,这意味着 LAN-LAN 流量也将消耗 CPU。

在 Linux 上创建桥接接口的一种手动方法:

ip link add br0 type bridge
ip link set br0 up

添加一些端口:

ip link set eth1 master br0
ip link set eth2 master br0

(您还会找到描述的教程brctl;它是一个稍旧的工具,但仍然可以实现相同的结果。)

最后在 br0 上配置 IP。请注意,桥接端口(eth1、eth2)本身不要有 IP 地址,只有整个网桥 (br0) 才有。因此,您只需要在两个接口之间路由,eth0 作为 WAN,br0 作为 LAN。

虽然手动方法在任何地方都一样,但不幸的是,自动配置在不同发行版之间有所不同。不过 NetworkManager、netctl、ifupdown 等都支持桥接。

您可以使用bridgebrctl工具查看有关网桥内部的详细信息,例如列出每个端口上学习到的 MAC 地址。

相关内容