我最近在一台 Ubuntu 10.04 服务器计算机上设置了一个 DHCP 服务器。该计算机有两个接口(eth0、eth1)。我已正确设置 DHCP 服务器,因为连接到网络的计算机会获得 DHCP IP 地址,但无法连接到外部世界。
我认为这与两个接口映射/桥接在一起有关。如何正确将一个接口映射到另一个接口?是桥接还是映射?
我在此页面上看到:https://help.ubuntu.com/community/dhcp3-server他们做了类似的事情
mapping hotplug
script grep
map eth1
那到底起什么作用?
在其他地方我看到了以下内容:
iface br0 inet static
bridge_ports eth0 eth1
哪一个更好或者更有效率?
抱歉,问了这么多问题,我是设置 DCHP 服务器的新手。
感谢您的帮助。
答案1
编辑 /etc/network/interfaces 以包含如下部分:
iface br0 inet static
bridge_ports eth0 eth1
address 192.168.0.1
netmask 255.255.255.0
(这是假设您为 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;
}
希望这能回答您的问题。但是,听起来您可能正在尝试在多台计算机之间共享互联网。您认为您需要一个 DHCP 服务器来执行此操作,因此您正在尝试设置一个。到目前为止,我说得对吗?如果是这样,应该有一个更简单的解决方案:(
此解决方案假设您在 eth0 上自动获取地址。如果您必须手动设置它们,此方法仍然有效,但会有额外的步骤)
首先,关闭所有 eth0 和 eth1 接口。(sudo ifdown ethX
如果您使用 /etc/network/interfaces 来管理它们,或者如果您正在使用 NetworkManager 小程序,请断开连接。)然后编辑/etc/network/interfaces
并添加如下部分(如果需要,注释掉 eth0 或 eth1 部分):
iface br0 inet dhcp
bridge_ports eth0 eth1
然后执行sudo ifup br0
。这应该会使您的端口 eth0 和 eth1 就像网络交换机一样,只不过您的 Ubuntu 计算机也插入了此网络交换机。假设您之前可以自动获取 eth0 上的地址,那么这也将传递给 eth1 计算机。
让我知道我的答案如何。