IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 无线专题 openwrt项目配置路径介绍base-files、switch、网络接口(Linux Network Interfaces)、路由器mt7621网络配置文件 -> 正文阅读

[系统运维]无线专题 openwrt项目配置路径介绍base-files、switch、网络接口(Linux Network Interfaces)、路由器mt7621网络配置文件

**

1、openwrt项目配置路径介绍

**
OpenWrt 可以被描述为一个嵌入式的 Linux 发行版。(主流路由器固件有 dd-wrt,tomato,openwrt,padavan四类)对比其他单一的、静态的系统(比如ubuntu),OpenWrt的包管理提供了一个完全可写的文件系统,可扩展性好,可以在线安装您所需要的功能,允许您自定义的设备,以适应任何应用。

对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。

1、首次编译建议用单线程编

make -j1 V=s

-j1:使用单线程编译。新手推荐单线程编译,一是因为玄学问题可能成功率高,二是方便查看错误日志。
V=s:输出详细日志,用于编译失败时找出错误。

2、openwrt官网:

本节内容是从官网上翻译的,其余的是从网上搜到的资料。

https://openwrt.org/
  • 在官网中有很多文档,主要学习用户文档和开发者文档,用户文档主要描述系统起来之后的配置方法,开发者文档主要描述了一些定制化的code配置方法。

  • 对于ramips架构设备,在target/linux/ramips/目录下

image/Makefile    定义了当前板子使用了哪个dts文件
base-files/etc/diag.sh to set a LED which OpenWRT should blink on bootup
base-files/lib/upgrade/platform.sh to allow sysupgrade to work on your board
base-files/etc/uci-defaults/network to configure default network interface settings, particularly MAC addresses
base-files/etc/uci-defaults/leds if you have configurable LEDs which should default to a behavior, like a WLAN activity LED
base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom to extract the firmware image for the wireless module
base-files/lib/preinit/06_set_iface_mac to set the MAC addresses of any other interfaces

3、openwrt中各种默认配置文件所在目录 target/linux/ramips/base-files/

openwrt版本为15.05.1,以mt7620为例,其他类似。

  1. 硬件资源的配置(usb、gpio、flash等),即dts
    target/linux/ramips/dts/ 下文件

  2. 镜像生成方式控制
    target/linux/ramips/image/Makefile

  3. board检测配置脚本(对升级有影响)!!!
    target/linux/ramips/base-files/lib/ramips.sh
    匹配/proc/cpuinfo中字段设置board名字`

  4. 升级镜像检查脚本
    target/linux/ramips/base-files/lib/upgrade/platform.sh
    target/linux/ramips/xxx/base-files/lib/upgrade/platform.sh
    根据board名字来检测镜像中magic是否匹配`

  5. status_led设置
    target/linux/ramips/base-files/etc/diag.sh
    package/base-files/files/etc/diag.sh
    根据board名字设置status_led为在dts中定义的gpio

  6. usb_led、wifi_led设置
    target/linux/ramips/xxx/base-files/etc/board.d/01_leds
    根据board名字设置led为在dts中定义的gpio

  7. 以太网网络配置(lan/wan配置)
    target/linux/ramips/xxx/base-files/etc/board.d/02_network
    设置switch的port vlan,及lan、wan端口的配置,lan、wan的mac地址配置

4、base-files属于OpenWrt的rootfs框架,位于package/base-files,里面有些项目可以定制和修改

.
├── bin
│   ├── ipcalc.sh
│   └── login.sh
├── etc
│   ├── banner
│   ├── config
│   │   ├── network
│   │   └── system
│   ├── device_info
│   ├── diag.sh
│   ├── group
│   ├── hosts
│   ├── hotplug.d
│   │   └── net
│   │       └── 00-sysctl
│   ├── init.d
│   │   ├── boot
│   │   ├── done
│   │   ├── led
│   │   ├── sysctl
│   │   ├── sysfixtime
│   │   ├── system
│   │   └── umount
│   ├── inittab
│   ├── openwrt_release
│   ├── openwrt_version
│   ├── passwd
│   ├── preinit
│   ├── profile
│   ├── protocols
│   ├── rc.button
│   │   ├── failsafe
│   │   ├── power
│   │   ├── reset
│   │   └── rfkill
│   ├── rc.common
│   ├── rc.local
│   ├── services
│   ├── shadow
│   ├── shells
│   ├── sysctl.conf
│   ├── sysupgrade.conf
│   └── uci-defaults
│       ├── 10_migrate-shadow
│       ├── 11_migrate-sysctl
│       └── 12_network-generate-ula
├── lib
│   ├── functions
│   │   ├── leds.sh
│   │   ├── network.sh
│   │   ├── preinit.sh
│   │   ├── service.sh
│   │   ├── system.sh
│   │   └── uci-defaults.sh
│   ├── functions.sh
│   ├── preinit
│   │   ├── 02_default_set_state
│   │   ├── 10_indicate_failsafe
│   │   ├── 10_indicate_preinit
│   │   ├── 30_failsafe_wait
│   │   ├── 40_run_failsafe_hook
│   │   ├── 50_indicate_regular_preinit
│   │   ├── 70_initramfs_test
│   │   ├── 80_mount_root
│   │   ├── 99_10_failsafe_login
│   │   └── 99_10_run_init
│   └── upgrade
│       ├── common.sh
│       └── keep.d
│           └── base-files-essential
├── rom
│   └── note
└── sbin
    ├── firstboot
    ├── hotplug-call
    ├── led.sh
    ├── sysupgrade
    └── wifi
  1. etc/config/system修改hostname,timezoneoption
    zonename ‘Asia/Chongqing’
    option timezone ‘CST-8’
    option hostname ‘Manfeel’

  2. etc/banner可修改为自己的启动定制信息

  3. lib/functions/uci-defaults修改默认的uci配置,如lan的ip地址等

ucidef_set_interface_lan() {
    local ifname=$1
 
    uci batch <<EOF
set network.lan='interface'
set network.lan.ifname='$ifname'
set network.lan.force_link=1
set network.lan.type='bridge'
set network.lan.proto='static'
set network.lan.ipaddr='192.168.8.1'
set network.lan.netmask='255.255.255.0'
set network.lan.ip6assign='60'
EOF
}
  1. etc/shadow修改root用户的初始密码

  2. etc/profile修改root的相关配置信息

export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6)
export HOME=${HOME:-/root}
export PS1='\u@\h:\w\$ '
 
[ -x /bin/more ] || alias more=less
[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi
 
[ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc
 
[ -x /usr/bin/arp ] || arp() { cat /proc/net/arp; }
[ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
  1. etc/sysupgrade.conf修改升级固件时需要保留的文件列表
## This file contains files and directories that should
## be preserved during an upgrade.
 
# /etc/example.conf
# /etc/openvpn/

**

  1. Openwrt修改默认IP
    vi package/base-files/files/bin/config_generate

  2. opnwrt固件源码修改登陆密码
    $:vi package/base-files/files/etc/shadow
    //添加root 密码为admin 修改root::0:0:99999:7:::为以下
    $: root: 1 1 1wEehtjxj$YBu4quNfVUjzfv8p/PBo5.:0:0:99999:7:::

  3. SSH/TELNET显示信息修改方式
    $:vi ./package/base-files/files/etc/banner

  4. openwrt系统的wifi配置信息保存目录, 非编译阶段
    /etc/config/wireless

  5. 编译前修改默认wifi 配置信息
    vi package/kernel/mac80211/files/lib/wifi/mac80211.sh

可以修改类似如下配置


set wireless.radio${devidx}.disabled=0
 
set wireless.default_radio${devidx}=wifi-iface
set wireless.default_radio${devidx}.device=radio${devidx}
set wireless.default_radio${devidx}.network=lan
set wireless.default_radio${devidx}.mode=ap
set wireless.default_radio${devidx}.ssid=wifiname
set wireless.default_radio${devidx}.encryption=psk2
set wireless.default_radio${devidx}.key=12345678

  1. openwrt 显示cpu 温度
    cut -c1-2 /sys/class/thermal/thermal_zone0/temp

  2. wifi的默认开启方式、ssid、加密方式等配置 /etc/config/wireless
    package/kernel/mac80211/files/lib/wifi/mac80211.sh

  3. uboot-evntools 分区设置
    package/boot/uboot-envtools/files/ramips

  4. /etc/config/system /etc/config/network
    默认hostname br-lan
    package/base-files/files/bin/config_generate

5、无线开关

在openwrt架构下,下载固件之后无线是默认关掉的,
打开方式修改文件 /etc/config/wireless by changing disabled 1 ? disabled 0

6、openwrt的network文件

openwrt的network文件,或者说在/etc/config下的文件,都是动态生成的。

脚本的函数定义在openwrt1407/package/base-files/files/lib/functions中,有以下几个文件:

tf@ubuntu:~/projects/openwrt1407/package/base-files/files/lib/functions$ ls
leds.sh  network.sh  preinit.sh  service.sh  system.sh  uci-defaults.sh

其中uci-defaults.sh会生成默认的/etc/config下的文件,而其它文件是它的“库”。

我们看一看uci-default.sh的内容

#!/bin/sh
# Copyright (C) 2011 OpenWrt.org

UCIDEF_LEDS_CHANGED=0

ucidef_set_led_netdev() {
    local cfg="led_$1"
    local name=$2
    local sysfs=$3
    local dev=$4

    uci -q get system.$cfg && return 0

    uci batch <<EOF
set system.$cfg='led'
set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='netdev'
set system.$cfg.dev='$dev'
set system.$cfg.mode='link tx rx'
EOF
    UCIDEF_LEDS_CHANGED=1
}

改uci-default.sh的内容就会改到openwrt固件的默认配置了。

调用这些库的函数在这里:

tf@ubuntu:~/projects/openwrt1407/target/linux/ar71xx/base-files/etc/uci-defaults$ ls
01_leds                       03_network-vlan-migration  09_fix-trx-header
02_network                    04_led_migration
03_network-switchX-migration  09_fix-seama-header

对于网络,则是02_network文件,看看该文件的开头内容为:

#!/bin/sh
#
# Copyright (C) 2011 OpenWrt.org
#

[ -e /etc/config/network ] && exit 0

touch /etc/config/network

. /lib/functions/uci-defaults.sh
. /lib/ar71xx.sh

ucidef_set_interface_loopback

board=$(ar71xx_board_name)

**

2、switch

**

参考链接: https://blog.csdn.net/weixin_38387929/article/details/115303786

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

                                            ------------------
                                            |  CPU /mtk7621  |
                                            |   -----------  |
                                            |   | MAC/ephy   |  
                                            |___|__||_____|__|
                                                   ||                           
                                            RGMII/ ||  RXP/TXP
                                            MII    ||
                                                   ||
   ------------------------------------------------||--------- 
   |   Switch  MT7530                              ||        |
   |                                               ||        |
   |                                               ||        |
   |   |-----|   |-----|   |-----|   |-----|    |-----|      |
   ____|_____|___|_____|___|_____|___|_____|____|_____|______|
         PHY1      PHY2      PHY3      PHY4      PHY/MAC

也就是说eth0可以接外部phy,也可以接内部switch带的phy
在这里插入图片描述
在设备树配置中有一个参数mediatek,portmap将决定哪个口是WAN,哪个口是LAN

mediatek,portmap = "llllw";

Switch Documentation

如果你的设备含有不少于1个的LAN接口,那这个设备在不同的接口之间可能有一个被称为交换(switch)的特殊连接。大多数的内部构造如下图所示:

如果你想要更改这些端口如何互相连接的,你需要配置你的switch设备。
转载未结束,请参考文档:https://oldwiki.archive.openwrt.org/zh-cn/doc/uci/network/switch

**

3、Linux Network Interfaces

**

主要分为两种:

  • 物理网络接口
    eth0, eth8, radio0,wlan9这些通常都是实际的网络硬件设备,任何物理网络接口都是操作系统对用户的命名软件表示,使用户能够配置硬件网络设备,并将其集成到程序和脚本中。
  • 虚拟网络接口
    lo, eth0:1, eth0.1, vlan2, br0, pppoe-dsl, gre0, sit0 tun0, imq0, teql0这些都是虚拟的网路接口,不代表一个实际存在的硬件设备。
    发明虚拟网络接口是为了在配置基于linux的操作系统时为系统管理员提供最大的灵活性。虚拟网络接口通常与一个物理网络接口(eth6)或另一个虚拟接口(eth6.9)相关联,或单独存在,如loopback接口
    • bridges: br0, br-lan
    • aliases: eth4:5, eth4:6, …
    • VLANs: eth4.0, eth4.1, eth4.3, vlan0, …
    • tunnel interfaces: pppoe-dsl, pppoa-dsl, tun0, vpn1
    • special purpose: imq0, teql3
    • wireless operating mode virtual interfaces: wlan0, wlan0_1, ath3, ath_monitor, …

Two network interfaces can also be bonded together。参考:Documentation/networking/bonding.txt

/etc/config/network is the network configuration file.
/etc/config/wireless is the wireless configuration file.

在OpenWrt软件包存储库中,网络工具可以作为单独的opkg-packages使用,而核心工具如ifconfig、route、netstat和vconfig也作为applet包含在busybox中:busybox-ifconfig、busybox-route等。

**

3、mt7621网络配置文件

**

/etc/config/network // 网络配置,包含桥接、接口、路由配置
/etc/config/wireless // 无限设置和wifi网络定义
/etc/config/dhcp // dnsmasq软件包配置,包含dhcp和dns设置

/etc/config/network
/etc/config/network配置文件示例如下(也可以是使用uci show network查看uci形式的内容):

interface是逻辑网络如:wan、lan、loopback。device是实际网络设备,可能是物理的也可能是虚拟的,处于数据链路层。

针对每个网络接口的配置都有一个类型为 interface 这样的 section,每个 interface 要么直接指向一个以太网/WIFI 设备(eth0、wlan0)或者包括多个设备的桥接。

由于device属于L2层的概念,如果用户对一个网络设备配置属于L3或更高层协议的属性, 则要直接对interface进行操作,进而间接作用于device。因此一个interface必须绑定到一个device上 。

#使用以下命令可以查看本路由器的网络接口,有哪些物理接口哪些是虚拟接口。
#eth0是一块物理网卡。eth0.1 eth0.2都是从此设备上虚拟出来的。
#eth0.1 是vlan1分出的lan口。
#eth0.2 是vlan分出的wan口。
#ls /sys/class/net/
#br-lan -> ../../devices/virtual/net/br-lan
#eth0 -> ../../devices/platform/1e100000.ethernet/net/eth0
#eth0.1 -> ../../devices/virtual/net/eth0.1
#eth0.2 -> ../../devices/virtual/net/eth0.2
#lo -> ../../devices/virtual/net/lo
#sit0 -> ../../devices/virtual/net/sit0
#wlan0 -> ../../devices/platform/1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0/net/wlan0
#wlan1 -> ../../devices/platform/1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan1


#interface section 声明逻辑网络服务:ip地址设置、别名、路由、物理接口名称和启动防火墙规则的容器,在openwrt中起着核心作用。
config interface 'loopback'		#逻辑接口的名称
        option ifname 'lo'		#与本section逻辑接口关联的物理接口名称,虚拟设备,回环网
        option proto 'static'	#静态配置,需要同时配置ip与子网掩码
        option ipaddr '127.0.0.1'	#静态ip地址
        option netmask '255.0.0.0'	#子网掩码

#globals section包含独立于接口的选项,这些选项会影响全局网络配置。
config globals 'globals'
        option ula_prefix 'fdf5:e6a8:1c8d::/48' 	#ipv6的前缀

#ifname 指明了 Linux 网络设备名称。如果想桥接一个或多个设备,可以将 ifname 设置成一个 list,并且添加一个 option type 'bridge'
config interface 'lan'			#逻辑接口lan
        option type 'bridge'	#桥接方式
        option ifname 'eth0.1 ra0 rai0'  #与lan接口关联的三个网络设备,eth0.1是vlan分出的lan口,ra0与rai0是两个无线设备分别对应2.4G与5G。
        option proto 'static'	#静态配置,必须要同时配置ip与子网掩码, gateway 和 dns 是可选的。可以设置多个 dns,以空格分隔。
        option ipaddr '192.168.1.1'		#静态ip地址
        option netmask '255.255.255.0'	#子网掩码
        option ip6assign '60'			#将给定长度的前缀委托给此接口

#以下三个device,属于br-lan,br-lan = eth0.1 + rai0 + ra0,即将有线LAN口和无线网统一划分为 LAN,便于管理!使用brctl show 可查看。
config device 'lan_eth0_1_dev'
        option name 'eth0.1'
        option macaddr '20:76:93:51:0f:53'

config device 'lan_ra0_dev'
        option name 'ra0'
        option macaddr '20:76:93:51:0f:53'

config device 'lan_rai0_dev'
        option name 'rai0'
        option macaddr '20:76:93:51:0f:53'

config interface 'wan'			#逻辑接口wan	
        option ifname 'eth0.2'	#由下面vlan分出的wan口
        option proto 'dhcp'		#dhcp动态分配,只接受两个 option,分别是 ipaddr(想从 DHCP 服务器申请的 IP 地址)和 hostname(用于标识客户端 hostname),并且这两个 option 都是可选的。

#为eth0.2分配mac地址
config device 'wan_eth0_2_dev'
        option name 'eth0.2'
        option macaddr '20:76:93:51:0f:55'
#添加wan口ipv6的dhcp分配
config interface 'wan6'
        option ifname 'eth0.2'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'		#使能VLAN,即虚拟局域网

config switch_vlan
        option device 'switch0'
        option vlan '1'				#配置第一组VLAN,默认为eth0.1,对应的端口为0,1,2,3。四个LAN口
        option ports '0 1 2 3 6t'

config switch_vlan
        option device 'switch0'
        option vlan '2'			 	#配置第二组VLAN,默认为eth0.2,对应的端口为4。路由器中的WAN口。
        option ports '4 6t'
        
#option ports '0 1 2 3 6t'表示从端口 0123 离开的帧将被解除 VLAN 标签,而从端口 6 离开的帧将被打上 VLAN 标签。端口6CPU(eth0)详情往下看

root@OpenWrt:/# brctl show
bridge name     bridge id               STP enabled     interfaces
br-lan          7fff.207693510f53       no              wlan0
                                                        wlan1
                                                        eth0.1
#要查看接口列表,请输入以下内容: 
ubus list network.interface.*
#要查看有关特定接口(UCI名称而不是物理接口)的所有信息,请输入:
ifstatus lan

路由器的最小网络配置至少包括两个接口(lan和wan)和一个switch。
/etc/config/wireless
Wi-Fi信道宽度是频率范围,即信号传输数据的宽度。一般来说,信道宽度越大,通过信号传输的数据越多。g干扰也越大。默认情况下,2.4 GHz频率使用20 MHz信道宽度。

# wifi-device(描述wifi物理设备) 与 wifi-iface(基于物理设备的无线网络接口)是成对出现的
#新三路由器有两个无线设备分别为2.4G与5G。

#定义第一个无线设备名字在wifi-iface中使用
config wifi-device 'radio0'
        option type 'mac80211'	#type在上电期间首次引导时确定,通常不需要改变。在brcm47xx平台是`Broadcom`,其他平台是`mac80211`
        option channel '11'		#指定要使用的无线信道。“自动”默认为最低可用频道
        option hwmode '11g'		#选择要使用的无线协议,可能的值为11b,11g(2.4g)11a(5g)。
        option path '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0' 
        option htmode 'HT20'	#指定802.11n(2.4or5)802.11ac(5g)模式下的信道宽度。
        option country 'US'

config wifi-iface 'default_radio0'
        option device 'radio0'	#基于物理radio0,定义无线网络
        option network 'lan'	#划分为/etc/config/network中的lan接口
        option mode 'ap'		#选择无线网络接口控制器的操作模式。可能的值有ap,sta,adhoc,wds,monitor,mesh
        option ssid 'OpenWrt_2.4G'
        option encryption 'none'#无线加密方法。可能的值为:none,wep,psk,psk2
        option disabled '0'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '36'
        option hwmode '11a'
        option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
        option htmode 'VHT80'	#VHT80甚高吞吐量80MHz,支持802.11ac。(20,40,80,160)
        option country 'US'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt_5G'
        option encryption 'none'
        option disabled '0'

/etc/config/dhcp
openwrt 使用同一个程序 dnsmasq 来实现 DHCP 服务器和 DNS 服务器。

config dnsmasq
#这四个选项保证了本地域名的请求,不会转发到上游域名解析服务器上。
        option domainneeded '1'	#
        option boguspriv '1'
        option localise_queries '1'
        option expandhosts '1'
        
        option filterwin2k '0'		#不要转发公共名称服务器无法响应的请求。如果需要解析SRV记录或使用SIP电话,请确保禁用该功能。    

        option rebind_protection '1'	#通过丢弃上游RFC1918响应来启用DNS重新绑定攻击保护
        option rebind_localhost '1'		#允许上游127.0.0.0/8响应(基于DNS的黑名单服务所需)仅在启用重新绑定保护时生效

        #local和domain选项使得dnsmasq使用/etc/hosts文件里的条目定义来提供解析,如果DHCP配置了lan的域,那么获得地址的客户机也可以通过主机名解析。
        option local '/lan/'
        option domain 'lan'

        option nonegcache '0'	#禁止缓存否定的“没有这样的域”响应
        option authoritative '1'	#选项保证了路由器成为本网络上的唯一一台DHCP服务器;客户机可以更快的获取IP地址的配置。
        option readethers '1'	#从“/etc/ethers”读取静态租约条目,在SIGHUP上重新读取

        option leasefile '/tmp/dhcp.leases'	#用于保存租约内容,这样如果dnsmasq如果重启的话就可以根据该文件重新维护租约信息。
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'	#定义了dnsmasq使用的文件,该文件用于找到上游服务器,通常由WAN DHCP客户端和PPP客户端创建。
        option nonwildcard '1'	#只绑定已配置的接口地址,而不是通配符地址。
        option localservice '1'	#仅接受来自地址位于本地子网(即服务器上存在接口的子网)的主机的DNS查询。
        option filter_aaaa '1'

config dhcp 'lan'
        option interface 'lan'	#指定了DHCP服务器的服务接口“lan”
        option start '100'		#start:100 是客户端分配的IP地址起点 
        option limit '150'		#limit: 150 总共可以分配150个IP 地址
        option leasetime '12h'	#12h 表示客户端得到的地址租约时间为 12 小时
        option dhcpv6 'server'
        option ra 'server'
        option ra_slaac '1'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config srvhost
        option srv '_vlmcs._tcp'
        option target 'OpenWrt'
        option port '1688'
        option class '0'
        option weight '100'

由上总结:

Linux 的网络接口(Network Interfaces)分为两种:

  • 物理网络接口 : eth0, eth8, radio0, wlan19 这些符号总是代表着真实存在的网络设备 .当设备驱动加载到内核,这些网络接口就可以使用了。
  • 虚拟网络接口: lo, eth0:1, eth0.1, vlan2, br0, pppoe-dsl, gre0, sit0 tun0, imq0, teql0, … 这些都是不真实存在物理网络设备的虚拟的网络接口 ,需要链接到物理网络设备才可以使用。增加了系统的灵活性。

VLAN是Virtual Local Area Network(即:虚拟局域网)。 它是物理网络交换设备在OSI第2层(即:数据链路层)上的虚拟隔断。

许多现成路由器中一个常见默认VLAN配置是LAN?WAN隔离,此类设备上的OpenWrt默认配置通常会反映出厂配置:仅有一个网络接口(eth0),因此启用不同的VLAN将支持VLAN的5口交换机虚拟隔离出LAN和WAN网络。
在这里插入图片描述
————————————————
版权声明:本文为CSDN博主「hzlarm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hzlarm/article/details/109892791
https://blog.csdn.net/weixin_38387929/article/details/118035431
https://blog.csdn.net/weixin_38387929/category_10691723.html

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:20:15  更:2022-05-06 11:21:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:44:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码