因为有两个虚拟机,XP和Ubuntu,就想怎样交换文件方便点,于是就想利用Virtualbox里自带的网络功能Internal,虚拟机中使用Internal方式的网卡,将处于独立的一个虚拟的局域网中,但是这样网络里没有任何网络服务器,比如说DHCP,DNS等等,于是就开始装个DHCP服务器,顺便借此机会搭建个网络实验室。
先讲一下环境,Ubuntu的虚拟机有两块网卡,一个是NAT(eth0),一个是Internal(eth1),我们就是要用eth1来作dhcp服务器。
首先安装dhcp服务器,打开终端,输入:
sudo apt-get install dhcp3-server
安装完之后要修改两个配置文件,一个是修改要用的网卡,一个是服务器的配置。
第一个要改的文件是/etc/default/dhcp3-server
在INTERFACE=””的引号里输入eth1即可:
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server bythe maintainer scripts
# This is a POSIX shell fragment
# On what interfaces should the DHCP server(dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1"
第二个要改的是/etc/dhcp3/dhcpd.conf
这个文件里面有很多已经写好的例子,不过是被注释掉的,有兴趣可以阅读一下。
找到
#A slightly different configuration for an internal subnet.
这一行下面就是一个比较详细的例子,我们就基于这个稍微修改一下就好了:
subnet 192.168.2.0 netmask255.255.255.0 {
range 192.168.2.0 192.168.2.255;
option domain-name-servers 192.168.2.1,192.168.2.2;
option domain-name "ubtw.net";
option routers 192.168.2.3;
option broadcast-address 192.168.2.255;
default-lease-time600;
max-lease-time7200;
}
修改完保存即可。
不过现在还不能启动服务器,现在要先去Ubuntu的网络设置那里,把eth1的ipv4 setting修改一下,其中Method设置为Manual。Address添加一个192.168.2.0,Newmask:255.255.255.0然后Apply,并连接eth1就行。
现在就可以启动DHCP服务器了,在终端中输入
sudo/etc/init.d/dhcp3-server stop
sudo/etc/init.d/dhcp3-server start
如果看到
* Starting DHCP server dhcpd3 [ OK]
就代表服务器启动成功,然后打开XP的虚拟机测试,如果能成功获取IP地址就代表成功了。
如果看到
* Starting DHCP server dhcpd3
* check syslog for diagnostics. [fail]
可以试一下重启Ubuntu或者检查上述步骤是否有错漏。