dhcpd无法在eth1上启动


10

我在机器上配置和启动ISC DHCP服务器时遇到问题。我正在运行Ubuntu 11.10桌面版。我通过运行安装了ISC DHCP

$ sudo apt-get install dhcp3-server

我的机器有两个网卡:

eth0,它连接到用于Internet访问的路由器,其IP地址为192.168.2.2. eth1,我希望dhcpd在其中为子网提供请求。

我已修改/etc/default/isc-dhcp-server为指向eth1:

$ cat /etc/default/isc-dhcp-server
# Defaults for dhcp initscript
INTERFACES="eth1"

我已经为简单的子网配置了dhcpd:

$ cat /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  interface eth1;
  range 192.168.0.50 192.168.0.100;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
}

使用此配置,dhcpd无法为我启动:

$ sudo /etc/init.d/isc-dhcp-server start
* Starting ISC DHCP server dhcpd
* check syslog for diagnostics.               [fail]

$ tail /var/log/syslog
Aug 15 15:29:45 eptc4 dhcpd: No subnet declaration for eth1 (no IPv4 addresses).
Aug 15 15:29:45 eptc4 dhcpd: ** Ignoring requests on eth1.  If this is not what
Aug 15 15:29:45 eptc4 dhcpd:    you want, please write a subnet declaration
Aug 15 15:29:45 eptc4 dhcpd:    in your dhcpd.conf file for the network segment
Aug 15 15:29:45 eptc4 dhcpd:    to which interface eth1 is attached. **
Aug 15 15:29:45 eptc4 dhcpd: 
Aug 15 15:29:45 eptc4 dhcpd: 
Aug 15 15:29:45 eptc4 dhcpd: Not configured to listen on any interfaces!

我错过了一步吗?我不明白为什么dhcpd抱怨它没有配置为在任何接口上监听。

这是我第一次设置DHCP。我花了三天时间阅读手册和论坛,并认为我所做的一切都正确,但是仍然会遇到相同的错误。任何使我步入正轨的提示都将不胜感激!

Answers:


6

简而言之:您需要先在接口上设置地址,eth1然后DHCP才能处理来自该接口的请求。

更长的故事:DHCP服务器将读取配置文件,然后将subnet声明与当前分配给接口的IP地址进行匹配。只有其IP地址与subnet声明匹配的接口才会为该子网的请求提供服务。因此,eth1如果您希望ISC DHCP服务器为来自192.168.0.0/24的请求提供服务,则需要设置192.168.0.0/24范围内的地址。


谢谢里卡多!我更新了/ etc / network / interfaces,运行了ifup eth1,并成功重新启动了dhcpd。我知道我错过了一些步骤,但是对这一过程的理解不足以知道确切的含义。您的答案是实用而有见地的。
Vivek

2

下面在Ubuntu 12.04中为我工作

apt-get remove --purge dhcp3-server
sudo apt-get install isc-dhcp-server

转到/ etc / dhcp。创建一个新文件“ dhcp.conf”,然后备份现有“ dhcp.conf”文件

将以下详细信息添加到新的dhcp.conf文件中

# Sample /etc/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.100;
    range 192.168.1.150 192.168.1.200;
} 

现在转到/etc/defaults/isc-dhcp-server并将您的接口名称添加到文件中isc-dhcp-server

/etc/network/interfaces使用服务器静态详细信息修改文件,如下所示

auto eth1
iface inet eth1 static
    address 192.168.1.149
    netmask 255.255.255.0
    gateway 192.168.1.255
    dns-nameservers 192.168.1.1

在运行之后sudo /etc/init.d/isc-dhcp-server restartsudo /etc/init.d/networking restart

注意:不要忘记在客户端系统中安装dhcp客户端。同样,在服务器系统中安装dhcp-server之后,请从外部网络中删除系统,以免损害网络中已有的其他设备,而不是您感兴趣的特定客户端。

现在,如果您将客户端连接到托管服务器的同一网络,则客户端将获取具有指定范围内的IP。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.