ubuntu 14.04 dhcp server

A: Ubuntu 14.04 + 有线网卡(eth0) + 无线网卡(wlan0)
B: Windows 7 + 有线网卡 + 无线网卡
A,B的无线网卡都连接到家庭无线路由器,网关为192.168.1.1,可以上互联网。A,B的有线网卡通过网线直连,A作为DHCP server和网关,为B的有线网卡分配IP地址

一.DHCP server(A,B所有网卡均打开)

1. sudo apt-get install dhcp3-server

2. vi /etc/default/isc-dhcp-server

INTERFACES="eth0"

3. 配置ip

给eth0配置ipv4静态地址: 10.5.5.1。

vi /etc/network/interfaces,

auto eth0
iface eth0 inet static
address 10.5.5.1
netmask 255.255.255.224
network 10.10.10.0
broadcast 10.5.5.31
4.vi /etc/dhcp/dhcpd.conf
搜寻这一段文字并全部注释掉

# option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

#default-lease-time 600;
#max-lease-time 7200;
搜寻这一段文字并修改

subnet 10.5.5.0 netmask 255.255.255.224 {  
    range 10.5.5.26 10.5.5.30;  
    option domain-name-servers 10.5.5.1; 
    option domain-name "internal.example.org";  
    option routers 10.5.5.1;  
    option broadcast-address 10.5.5.31;  
    default-lease-time 600;  
    max-lease-time 7200;  
} 
5. sudo /etc/init.d/isc-dhcp-server start

如果出错,查看/var/log/syslog的错误提示

A安装玩DHCP server后,B的有线网卡可以分配到IP地址。但是B不能上互联网了。

cmd 下输入route print

IPv4 路由表
===========================================================================
活动路由:
网络目标        网络掩码          网关       接口   跃点数
          0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.10     25
          0.0.0.0          0.0.0.0         10.5.5.1        10.5.5.26     10
         10.5.5.0  255.255.255.224            在链路上         10.5.5.26    266
连互联网时都走HOP数小10.5.5.1路由,导致无法上网。

运行以下命令解决问题

route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
route add 10.5.5.0 mask 255.255.255.0 10.5.5.1

二.B关闭无线网卡,希望通过A作为路由器来连互联网

1. 在DHCP服务器的配置文件中,加入DNS服务器,如google服务器。这样B才能通过A知道DNS服务器的地址
vi /etc/dhcp/dhcpd.conf

subnet 10.5.5.0 netmask 255.255.255.224 {
	range 10.5.5.26 10.5.5.30;
	<span style="color:#FF0000;">option domain-name-servers 8.8.8.8;</span>
	option domain-name "internal.example.org";
	option routers 10.5.5.1;
	option broadcast-address 10.5.5.31;
	default-lease-time 600;
	max-lease-time 7200;
}
2.
A中打开ip包转发功能, vi /etc/sysctl.conf,删除下面一行的注释
net.ipv4.ip_forward=1
(sudo sysctl -p 使改变的配置立即生效)
同时添加iptables(临时方法,重启后会失效):
sudo iptables -t nat -A POSTROUTING -s 10.5.5.0/24 -o wlan0 -j MASQUERADE
(-o wlan0 指定output network interface为wlan0)


参考文章

Ubuntu 11.04 DHCP server 和 ipv6 备忘

安装DHCP

你可能感兴趣的:(ubuntu 14.04 dhcp server)