dhcp3-server(dhcpd)正在篡改主机网卡

dhcp3-server(dhcpd)正在篡改主机网卡

我有一个用作路由器的 Debian 机器(使用 iptables NAT)。首次打开时,几分钟内一切都运行正常。然后 dhcp 服务器为其主机 NIC eth0 分配一个 IP(192.168.0.1 以外的 IP)。这不是我想要的。我只希望 dhcp3-server 监听 eth0,而不是为其分配 IP,并更改内核路由表。这当然会破坏机器的 NAT 功能。我该如何告诉 dhcp3-server 不要这样做?


谢谢



在 dhcp3-server 篡改 eth0 之前,IP 是192.168.0.1,路由表如下所示:

~# netstat -r 内核 IP 路由表
目标网关 Iface
192.168.0.0 * eth0
173.33.220.0 * eth1
默认 173.33.220.1 eth1

dhcp3-server篡改eth0后,IP为192.168.0.3,路由表如下所示:

~# netstat -r 内核 IP 路由表
目标网关 Iface
192.168.0.0 * eth0
173.33.220.0 * eth1
默认 192.168.0.1 eth0
默认 173.33.220.1 eth1

设置

出站网卡为 eth1
内部网卡为 eth0

/etc/网络/接口

...
iface eth0 inet 静态
地址 192.168.0.1
网络掩码 255.255.255.0

/etc/default/dhcp3 服务器

接口=“eth0”

答案1

所以我弄清楚了这个 DHCP 问题,以防有人遇到它。我的内核路由表被外部网卡之外的更新路由所破坏。事实证明,dhcpd3 需要 dhclient 才能运行。dhclient 为 dhcpd3 发出租约请求(不要认为服务器没有客户端就无法工作)。dhclient 根据从 dhcpd3 获得的信息配置逻辑接口。

我所要做的就是明确请求 dhcp 信息,而不请求路由器数据。“dhclient.conf”文件如下。

~$ more /etc/dhcp3/dhclient.conf

...
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes;
...

interface "eth0" {
  send dhcp-client-identifier 1:70:71:bc:43:55:44;
  send dhcp-lease-time 86400;
  request subnet-mask, broadcast-address, time-offset, domain-name, domain-name-servers, host-name;   # 'router' option NOT included 

}
interface "eth1" {
  send dhcp-client-identifier 1:00:1f:1f:b1:e5:9e;
  send dhcp-lease-time 86400;
}

... 

祝你好运

相关内容