如何设置 DHCP 服务器接口,以便它们相互映射/桥接?

thi*_*ity 5 server networking dhcp interface

我最近在 Ubuntu 10.04 服务器机器上设置了 DHCP 服务器。机器有两个接口(eth0、eth1)。我正确设置了 DHCP 服务器,因为连接到网络的计算机获得了 DHCP IP 地址,但它们无法连接到外部世界。

我相信这与映射/桥接在一起的两个接口有关。如何正确地将一个接口映射到另一个接口?它是桥接还是映射?

我在这个页面上看到:https : //help.ubuntu.com/community/dhcp3-server他们做了类似的事情

mapping hotplug
    script grep
    map eth1
Run Code Online (Sandbox Code Playgroud)

这究竟有什么作用?

在其他地方,我看到以下内容:

iface br0 inet static
bridge_ports eth0 eth1
Run Code Online (Sandbox Code Playgroud)

哪个更好或更有效?

很抱歉所有的问题,我是设置 DCHP 服务器的菜鸟。

谢谢你的帮助。

Aze*_*ale 5

编辑 /etc/network/interfaces 以获得如下所示的部分:

iface br0 inet static
   bridge_ports eth0 eth1
   address 192.168.0.1
   netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

(这是假设您为 dhcp 服务器使用 192.168.0.x 地址。)然后您在执行配置文件时只需使用 br0 而不是 eth0 或 eth1。使用这种方法,您不需要在配置文件中添加任何花哨的东西来尝试将两个接口相互连接。您只需要一个部分来告诉 DHCP 服务器在 br0 上运行,就像它是一个以太网端口一样。您可以为 DHCP 服务器使用类似这样的部分:

subnet 192.168.0.0 netmask 255.255.255.0 {

        option routers                  192.168.0.1; #You might have to comment this line out.
        option subnet-mask              255.255.255.0;
        option broadcast-address        192.168.0.255;
        default-lease-time 86400;
        max-lease-time 86400;
}
Run Code Online (Sandbox Code Playgroud)



希望这能回答您提出的问题。但是,听起来您可能正在尝试在多台计算机之间共享 Internet。您认为您需要一台 DHCP 服务器来执行此操作,因此您正在尝试设置一个。到目前为止我是对的吗?如果是这样,应该有一个更简单的解决方案:(
此解决方案假设您在 eth0 上自动获取地址。如果您必须手动设置它们,此方法仍然有效,但会有额外的步骤)
首先,关闭所有 eth0 并eth1 接口。(sudo ifdown ethX如果您使用 /etc/network/interfaces 来管理它们,或者如果您正在使用它,则在 NetworkManager 小程序中断开连接。)然后编辑/etc/network/interfaces并添加这样的部分(如果需要,注释掉 eth0 或 eth1 部分):

iface br0 inet dhcp
   bridge_ports eth0 eth1
Run Code Online (Sandbox Code Playgroud)

然后做sudo ifup br0。这应该使你的端口 eth0 和 eth1 就像一个网络交换机一样,除了你的 Ubuntu 计算机也插入这个网络交换机。假设您之前可以自动获取 eth0 上的地址,这也将传递给 eth1 计算机。

让我知道我的答案是如何工作的。