局域网规模大了之后,就需要将网络划分成几个小的网络,由DHCP服务器来动态分配IP。
如果不想为每个子网都建立DHCP服务器,而由一个DHCP服务器来分配几个子网的IP,即使是单网卡,在Linux下也是可以实现的。
首
先是需要为你的网卡设置多个IP地址,至少一个子网需要对应一个,像我的就是如下
>$
/sbin/ifconfig
eth0 Link encap:Ethernet
HWaddr 00:D0:B7:7D:24:CC
inet
addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr:
fe80::2d0:b7ff:fe7d:24cc/64 Scope:Link
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX
packets:26201063 errors:0 dropped:0 overruns:0 frame:0
TX
packets:28229352 errors:32 dropped:0 overruns:0 carrier:32
collisions:0 txqueuelen:1000
RX
bytes:1473358212 (1.3 GiB) TX bytes:3765898142 (3.5 GiB)
eth0:0 Link encap:Ethernet HWaddr
00:D0:B7:7D:24:CC
inet
addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo
Link
encap:Local Loopback
inet
addr:127.0.0.1 Mask:255.0.0.0
inet6 addr:
::1/128 Scope:Host
UP LOOPBACK
RUNNING MTU:16436 Metric:1
RX
packets:7446 errors:0 dropped:0 overruns:0 frame:0
TX
packets:7446 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX
bytes:675547 (659.7 KiB) TX bytes:675547 (659.7 KiB)
>$
关键的就是在dhcp的配置文件里头将不同的子网包括在一个group中
设置如下:
shared-network faw-net {
subnet
192.168.1.0
netmask 255.255.255.0 {
use-host-decl-names
on;
option
routers 192.168.1.1;
option domain-name
"sczfcpa.com";
option
domain-name-servers 192.168.1.1,
211.98.2.4, 211.98.4.1
,61.139.2.69;
host zf025nb {
hardware ethernet
00:E0:2A:38:0A:69;
fixed-address
192.168.1.125;
}
}
group {
use-host-decl-names
on;
option
routers 192.168.0.1;
option domain-name
"sczfcpa.com";
option
domain-name-servers 192.168.0.1,
211.98.2.4, 211.98.4.1
,61.139.2.69;
host zf001nb {
hardware ethernet
00:40:D0:1A:EA:45;
fixed-address
192.168.0.101;
}
}
}