26. 详解 OpenWRT VLan 参数配置、VLan DHCP 地址池参数配置

本篇分享 mtk7621 路由板的 vlan 参数配置、vlan 的 DHCP 地址池的参数配置。

原理简述

mtk7621A这款双核mips指令集芯片,内部集成 mt7530 硬交换芯片,0~5 端口都是mt7530口输出,该芯片自带PHY口,芯片MAC层管理是通过内部MDIO接口管理 mt7530 ,mt7530驱动中提供 vlan 的管理功能。

环境简介

  • 硬交换
    以 mtk7621 为主控芯片的路由器 vlan 属于二层硬交换、软路由应用;
  • 软交换
    没有采用交换芯片、是通过linux内核bridge方式实现的vlan交换,称为软交换、软路由;
    搞清楚他们之间的区别,自然就明白他们之间的特性。
    请读者先回想一下vlan相关概念,如果有点模糊,可参考这篇 《vlan 原理详解》。

network 参数说明

openwrt 的网络参数配置文件,路径/etc/config/netwrok 文件,文件格式采用 配置节方法,配置命令采用uci set | get 方式。

config switch
		option name 'switch0'
		option reset '1'
		option enable '1'
#打开 switch 交换功能,即使用 mt7530 交换芯片
		
config switch_vlan
          option device ’switch0'
          option vlan '0'
          option ports " 0 1 2 3 6t"    
          option vid '0'
#port123口属于vlan 0;第6个口是 mtk7530 上联到mtk7621的 eth0 网口 truck 类型口。

config switch_vlan
          option device ’switch0'
          option vlan '1'
          option ports "4 6t"
          option vid '1'                    
 #port4 口配置属于 vlan 1

config interface lan      
          option type     bridge  # 此网桥还负责桥接 无线WIFI通道,wifi也属于lan域。
          option ifname   eth0.0               
# 把vlan 0 配置成lan口,即port0、123都属于lan 侧接口 。
          option proto    static
          option ipaddr   192.168.0.168
          option netmask  255.255.255.0
# lan 属性 interface 的地址、掩码和协议类型          
          option gateway 192.168.0.1
          option dns 192.168.0.1
# lan 出口网关地址、DNS、NAT地址转换功能,lan侧具有上网功能。 

config interface wan
          option ifname eth0.1   #把vlan 1配置成wan口,即port4就是wan口。
          option proto dhcp     # wan 口是DHCP的客户端,即自动向上级路由获取IP地址

#也就是说 mtk7621 路由方案采用的是单臂路由模式,数据从port口 --> lan侧(网桥)到 eth0 进入linux内核协议栈;linux协议栈--> wan侧 --> port4 口进入网络;数据出、入都是由 mtk7621 的eth0 网口完成。

config switch_vlan
          option device ’switch0'
          option vlan '3'
          option ports "0t 6t"                    
          option vid '15'
#设置 vlan 15 采用 port0 端口,并打 vlan-tag 标识,即 port0 口也具有 truck 功能。

config interface vlan15           # 该 interface 名称为 vlan15
		option ifname 'eth0.15'   # 该 interface 采用的接口是vlan15,此处需重点理解
		option proto 'static'     # 接口采用静态协议
		option ipaddr   172.118.0.10
        option netmask  255.255.0.0
        option dns '114.114.114.114'  # ipv4 的 dns 服务器地址

OpenWRT的wifi部分配置及参数说明请读者浏览本人openWRT专栏中《wireless参数配置详解》。
通过vlan15的配置,我们可以对参数 如: 6t 、 0t 理解就更加具体,其实就是配置 交换机 port0 为 truck 属性的方法;物理意义就是 port0 可以属于lan侧的ACCESS端口、也是 truck 端口。在给 服务器网络提供服务时,一般如此使用。ACCESS口做服务器物理机常规网络口, vlan 的 truck 提供给虚拟机集群使用,通过DHCP为每台虚拟机提供 IP 地址管理能力。

DHCP 参数说明

本文采用的 dnsmasq 组件实现的 dns、dhcp功能,openwrt的 DHCP 参数配置文件/etc/config/dhcp,内容如下:

config dnsmasq             #dnsmasq 参数配置
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'

config odhcpd 'odhcpd'       #odhcpd 参数配置
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config dhcp 'lan'          # lan的 dhcp 配置,向主机提供DHCP服务
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'
 
config dhcp 'wan'      # wan 的 dhcp 配置
        option interface 'wan'
        option ignore '1'       #忽略dhcp服务功能,wan口作为 DHCP 客户端

config dhcp 'vlan15'    # interface vlan15 的 dhcp 配置
        option interface 'vlan15'
        option limit '150'
        option leasetime '12h'
        option force '1'               #强制向端口提供 DHCP 服务功能
        list dns '114.114.115.115'    # 宣告 ipv6 的 dns 服务器

本文重点介绍如何给 vlan 端口配置 DHCP 地址池,主要步骤总结如下:

第一点, 建立 vlan 端口,确定端口属性 truck;
第二点, 建立 interface 接口,该接口的 ifname 属性绑定 vlan15 ;
第三点, 让该接口具有提供 DHCP 服务功能,即完成 vlan具有自动分配 ip 地址能力。

你可能感兴趣的:(OpenWrt,routing,开发)