简单的DHCP server
在创建HDFS集群的时候,深感/etc/hosts中添加配置的不方便,容易不一致导致错误,工作量也大。
还是在局域网内创建dhcp服务器来的方便。官方文档:https://help.Ubuntu.com/community/isc-dhcp-server
先创建一台KVM虚拟机,OS为Ubuntu 12.04.
然后安装dhcp3 server
apt-get install isc-dhcp-server
编辑文件/etc/default/isc-dhcp-server
填入eth0
INTERFACES="eth0"
编辑文件:/etc/dhcp/dhcpd.conf
修改原来的example.org的设置为:
# option definitions common to all supported networks...
option domain-name "Hadoop.cn";
option domain-name-servers dhcp.hadoop.cn, namenode1.hadoop.cn, namenode2.hadoop.cn, datanode1.hadoop.cn, datanode2.hadoop.cn, datanode3.hadoop.cn, datanode4.had\
oop.cn, datanode5.hadoop.cn, datanode6.hadoop.cn;
增加租期时间:
default-lease-time 6000;
max-lease-time 72000;
编辑文件:/etc/dhcp/dhcpd.conf
修改原来的example.org的设置为:
option routers 192.168.1.1;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option domain-name-servers 192.168.1.1;
option broadcast-address 192.168.1.255;
}
包括router地址, IP地址范围,DNS server IP, 广播IP地址等。
服务命令:
service isc-dhcp-server start
注意,dhcp使用的地址必须是和eth0在一个网段。否则启动会失败。
相关阅读:
CentOS下配置主从DNS服务器以及DHCP下的DDNS
SUSE Linux 11 pxe+DHCP+tftp+ftp 无人值守安装
基于Virutal IP创建
因为我实际上希望能够在另一个网段用DHCP分配地址,所以在/etc/network/interfaces文件中创建新的虚拟IP地址:
不用eth0:1 这种方式。
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.111
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search defaultdomain
iface eth0 inet static
address 192.168.4.1
netmask 255.255.255.0
然后在/etc/default/isc-dhcp-server里面
INTERFACES="eth0"
然后将上面dhcpd.conf中的所有192.168.1.X都换成192.168.4.X即可。重新启动,成功!