多vlan下DHCP Server配置

接上一篇 使用Linux+三层交换机做NAT路由器https://linsir.org/post/multi-vlan-Nat-Server-use-linux 在使用华为交换机S5700 或者8500系例做DHCP服务器的时候,发现二层交换机下的客户端获取地址是非常的慢,特别是第一次,达到1min左右,谷歌说可能是STP生成树协议打开时,在计算生成树的时候耗时过多,我上三层交换机看,根本就没开STP啊。不行,自建DHCP服务器试试,果然速度快多了。

# 环境

简化成:多Vlan+路由器 用户层到二层交换机,然后汇聚到核心三层交换机。 linux(CentOS 7)服务器一公网地址网卡,一张内网网卡。

# 硬件连接

三层交换机GigabitEthernet2/2/4接服务器enp7s0f1网卡

华为交换机配置:

vlan 3000
q
interface vlanif 3000
ip address 172.16.254.254 255.255.255.0
q
interface GigabitEthernet2/2/4
port link-type aceess
port default vlan 3000

linux服务器的网卡设置静态地址为172.16.254.253

最后我们再加一条默认路由,将流量转发到linux服务器接口。

ip route-static 0.0.0.0 0.0.0.0 172.16.254.253

下一跳地址就是服务器内网网卡的地址。

# DHCP Server

# dnsmasq

Dnsmasq是轻量级的dhcp+dns cache服务器。这是我配置多个vlan网段,并且设置dns缓存。 vi /etc/dnsmasq.conf

# Configuration file for dnsmasq.
no-resolv
listen-address=172.30.254.253
interface=enp7s0f1
no-dhcp-interface=enp7s0f0
bind-interfaces
    
#vlan 1000
dhcp-range=10.0.0.2,10.0.0.100,255.255.255.0,12h
#vlan 1001
dhcp-range=192.168.0.0,192.168.0.253,255.255.255.0,12h

dhcp-option=6,172.30.254.253,61.139.2.69
server=223.5.5.5#53
cache-size=10000

conf-dir=/etc/dnsmasq.d/*.conf

# dhcpd

dhcpd的配置也是非常简单 vi /etc/dhcpd.conf

option domain-name-servers 172.30.254.253,61.139.2.69;
option subnet-mask 255.255.255.0;
##上面是全局参数
subnet 172.30.254.0 netmask 255.255.255.0 {

}
subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.150 10.0.0.250;
  routers 10.0.0.254;
  host macbookpro{
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 10.0.0.1;
   }
}
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.150 192.168.0.250;

}

# 路由表

上一步做好配置后,我们就做回程路由,不然数据包不能回到内网。

route add -net 10.0.0.0/24 gw 172.16.254.254 dev enp7s0f1
route add -net 192.168.0.0/24 gw 172.16.254.254 dev enp7s0f1

# 三层交换机配置

首先是全局打开dhcp

dhcp enable

dhcp server group dhcpgroup1
dhcp-server 172.16.254.253
#
interface Vlanif1000
ip address 10.0.0.254 255.255.255.0
dhcp select relay
dhcp relay server-select dhcpgroup1
interface Vlanif1001
ip address 192.168.0.254 255.255.255.0
dhcp select relay
dhcp relay server-select dhcpgroup1

# 查看地址分配情况

cat /var/lib/dnsmasq/dnsmasq.leases

# 遇到的问题

  1. 用户不能手动释放ip,重新获取新的地址.

# 参考

  1. https://wiki.archlinux.org/index.php/Dhcpd
  2. https://linsir.org/post/Raspberry_Pi_Tcp_Dnsmasq_cache_server

--EOF--


>看不到评论?GFW!!!