我正在尝试设置一个dhcp服务器(在debian 8上的isc dhcpd ( esxi环境中的vm)),它有4个网络接口eth0-3。dhcp服务器应该在接口eth1、eth2、eth3上提供不同的子网服务。每个子网都有自己的vSwitch (vSphere),dhcp服务器连接到每个vSwitch。
网络接口设置如下所示:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
auto eth2
iface eth2 inet static
address 172.16.0.1
netmask 255.255.255.0
network 172.16.0.0
broadcast 172.16.0.255
auto eth3
iface eth3 inet static
address 10.0.1.1
netmask 255.255.255.0
network 10.0.1.0
broadcast 10.0.1.255当前dhcpd配置如下所示:
# dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 172.16.0.0 netmask 255.255.255.0 {
range 172.16.0.2 172.16.0.100;
option subnet-mask 255.255.255.0;
option domain-name-servers 172.16.0.1;
option routers 172.16.0.1;
option broadcast-address 172.16.0.255;
}
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.2 10.0.0.100;
option subnet-mask 255.255.255.0;
option domain-name-servers 10.0.0.1;
option routers 10.0.0.1;
option broadcast-address 10.0.0.255;
}
subnet 10.0.1.0 netmask 255.255.255.0 {
range 10.0.1.2 10.0.1.100;
option subnet-mask 255.255.255.0;
option domain-name-servers 10.0.1.1;
option routers 10.0.1.1;
option broadcast-address 10.0.1.255;
}最后,dhcpd init脚本如下所示:
# /etc/default/isc-dhcp-server
DHCPD_CONF=/etc/dhcp/dhcpd.conf
DHCPD_PID=/var/run/dhcpd.pid
INTERFACES="eth1 eth2 eth3"到目前一切尚好。但是,目前发生的情况是,客户端只能通过eth1接口获得dhcp流量。另外两个网络接口被忽略。即使当我从isc-dhcp-server init脚本中删除eth1时,它仍然被使用并提供ip地址:
isc-dhcp-server[1467]: Starting ISC DHCP server: dhcpd.
dhcpd: DHCPDISCOVER from 00:0a:26:37:6f:12 via eth1
dhcpd: DHCPOFFER on 10.0.0.2 to 00:0a:26:37:6f:12 (client0) via eth1
dhcpd: DHCPREQUEST for 10.0.0.2 (10.0.0.1) from 00:0a:26:37:6f:12 (client0) via eth1
dhcpd: DHCPACK on 10.0.0.2 to 00:0a:26:37:6f:12 (client0) via eth1如何确保某个网络/子网仅使用特定的网络接口服务?dhcp服务器如何知道哪个客户端属于哪个子网?我知道我可以使用主机表示法(硬件地址、主机名等)为子网指定主机。但是,对我来说,这违背了dhcp的目的,因为每当我向子网添加新客户端时,我都希望能够动态地分配ip地址,而不必触摸dhcp配置。
发布于 2016-03-07 08:47:40
下面我们来解释一下发生了什么。请注意,我强烈建议在测试环境中运行配置,以确保一切都按照您的要求工作!
编辑:也请注意,您的开关需要正确配置。我们正在使用思科交换机。要生成OMAPI密钥,可以遵循guide1或guide2。
如何使isc-dhcp-服务器监听多个子网。这个迷你指南将给你一个基本的配置想法和一些额外的材料来阅读,以充分了解正在发生的事情。
omapi-port 7911;
omapi-key omapi_key;
key omapi_key {
algorithm hmac-md5;
secret your-secret-key;
}
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;
# option definitions common to all supported networks...
# option domain-name-servers x.x.x.x,y.y.y.y;
option netbios-node-type 2;
default-lease-time 7200;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# Failover Configuration
failover peer "failover-partner" {
primary;
# this servers ip address
address A.A.A.A;
port 519;
# dhcp failover ip address
peer address B.B.B.B;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
# here we include specific configuration files for our different subnets.
# I'll provide an example for a configuration file, all other subnet configuration files
# are (in my scenario) written the same way.
include "/etc/dhcp/X.Y.1.Z.conf";
include "/etc/dhcp/X.Y.2.Z.conf";
include "/etc/dhcp/X.Y.3.Z.conf";#____________________________________
# subnet information X.Y.1.0/24
#____________________________________
subnet X.Y.1.0 netmask 255.255.255.0 {
deny client-updates;
deny unknown-clients;
# gateway of this subnet
option routers X.Y.1.254;
# DNS server(s)
option domain-name-servers 123.123.123.1, 123.123.123.2;
# search domain(s) for this subnet. Needs the "" to work!
option domain-search "domain1", "domain2";
# name of domain of this subnet (if exists, otherwise comment out)
option domain-name "mydomain";
# ntp server if you are running one
option ntp-servers X.Y.Z.254;
default-lease-time 86400;
max-lease-time 86400;
group {
use-host-decl-names on;
# Infodisplay
host dns-name-1 {
# mac address of client
hardware ethernet 00:00:00:00:00:00;
# ip address the above mac address will receive
fixed-address 123.123.123.1;
}
}子网的其他配置文件是平等构建的。请确保,如果在ESXi中运行DHCP,则使VM对所有网络/VLAN都可用。然后,isc-dhcp-服务器需要在它期望的所有网络上侦听,这样它就可以在isc-dhcp-服务器的一个运行实例中处理不同的子网。如果您想省略停机或非工作网络,当然可以在从模式下使用isc-dhcp-服务器运行第二个VM,如下所示:
omapi-port 7911;
omapi-key omapi_key;
key omapi_key {
algorithm hmac-md5;
secret your-secret-key;
}
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;
# option definitions common to all supported networks...
# option domain-name-servers x.x.x.x,y.y.y.y;
option netbios-node-type 2;
default-lease-time 7200;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# Failover Configuration
failover peer "failover-partner" {
primary;
# this servers ip address
address B.B.B.B;
port 519;
# dhcp master ip address
peer address A.A.A.A;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
# here we include specific configuration files for our different subnets.
# I'll provide an example for a configuration file, all other subnet configuration files
# are (in my scenario) written the same way.
include "/etc/dhcp/X.Y.1.Z.conf";
include "/etc/dhcp/X.Y.2.Z.conf";
include "/etc/dhcp/X.Y.3.Z.conf";确保这两台机器上的密匙是相同的,否则客户端和服务器无法通信,甚至在服务器故障并期望从服务器接管dhcp功能时无法进行故障转移切换。
如果您有硬件/安装选项,请在实验环境中设置所有这些。
请不要立即在生产环境中运行此操作。
你可以停止让你的网络客户在几秒钟内工作,这正是你的老板不喜欢的。
https://serverfault.com/questions/758066
复制相似问题