基于KSZ9897VLAN 虚拟WAN网络接口

news2025/1/22 17:47:23

目录

1:先看看高通的8327是如何虚拟网络接口

2: Linux 内核中选上802.1Q

3: 实际效果展示

4:配置使用



1:先看看高通的8327是如何虚拟网络接口


root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'wifi0'
        option type 'qcawifi'
        option macaddr '68:89:75:04:e9:c0'
        option hwmode '11ng'
        option htmode 'HT20'
        option channel '4'
        option txpower '0'

config wifi-iface
        option device 'wifi0'
        option mode 'ap'
        option ssid 'OpenWrttest'
        option network 'lan'
        option encryption 'psk2'
        option key '12345678'

config wifi-device 'wifi1'
        option type 'qcawifi'
        option channel 'auto'
        option macaddr '68:89:75:04:e9:c1'
        option hwmode '11ac'
        option disabled '1'

config wifi-iface
        option device 'wifi1'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

root@OpenWrt:~# ifconfig
ath0      Link encap:Ethernet  HWaddr 68:89:75:04:E9:C0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1099 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:158 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:244211 (238.4 KiB)  TX bytes:0 (0.0 B)

br-lan    Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6a89:75ff:fe04:e9bb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:919 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:246795 (241.0 KiB)  TX bytes:279067 (272.5 KiB)

eth0      Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          inet6 addr: fe80::6a89:75ff:fe04:e9bb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1520 errors:0 dropped:74 overruns:0 frame:0
          TX packets:1505 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:392488 (383.2 KiB)  TX bytes:271968 (265.5 KiB)
          Interrupt:4

eth0.88   Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:380 errors:0 dropped:0 overruns:0 frame:0
          TX packets:732 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:42182 (41.1 KiB)  TX bytes:122441 (119.5 KiB)

eth0.99   Link encap:Ethernet  HWaddr 68:89:75:04:E9:BB
          inet addr:192.168.50.165  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fdac:5b71:2b57:0:6a89:75ff:fe04:e9bb/64 Scope:Global
          inet6 addr: fe80::6a89:75ff:fe04:e9bb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:988 errors:0 dropped:0 overruns:0 frame:0
          TX packets:766 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:305141 (297.9 KiB)  TX bytes:142917 (139.5 KiB)

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:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wifi0     Link encap:UNSPEC  HWaddr 68-89-75-04-E9-C0-00-00-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4654 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2979 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2699
          RX bytes:958592 (936.1 KiB)  TX bytes:841975 (822.2 KiB)
          Interrupt:47 Memory:b8100000-b8120000

root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    0      0        0 eth0.99
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.99
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0.88'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ieee1905managed '1'

config interface 'wan'
        option ifname 'eth0.99'
        option proto 'dhcp'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '44'
        option ports '0t 1 2 3 4'
        option vid '88'

config switch_vlan
        option device 'switch0'
        option vlan '55'
        option ports '0t 5'
        option vid '99'

在openwrt中,我们需要注意的是字段:option vid '99' 和 option vid '88',这个表示switch内部使用的VID是多少,跟option vlan '55'和option vlan '44'没有任何关系,个人觉得是VLAN的名称而已,可以任意设置.

2: Linux 内核中选上802.1Q

3: 实际效果展示

root@yachtsense-main:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    10     0        0 eth0.99
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.99
198.18.0.0      0.0.0.0         255.255.248.0   U     203    0        0 eth0
root@yachtsense-main:~# ping www.baidu.com
PING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=1 ttl=50 time=9.04 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=2 ttl=50 time=8.90 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=3 ttl=50 time=8.90 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6018ms
rtt min/avg/max/mdev = 8.904/8.953/9.047/0.101 ms
root@yachtsense-main:~# cat /etc/resolv.conf
nameserver 240e:1f:1:0:0:0:0:1 # IPV6 wwan0
nameserver 240e:1f:1:0:0:0:0:33 # IPV6 wwan0
nameserver 202.96.128.86
nameserver 202.96.134.133
root@yachtsense-main:~# ifconfig
can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP NOARP  MTU:16  Metric:1
          RX packets:1865 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14920 (14.5 KiB)  TX bytes:0 (0.0 B)
          Interrupt:191

eth0      Link encap:Ethernet  HWaddr 00:11:c7:11:10:88
          inet addr:198.18.2.99  Bcast:198.18.7.255  Mask:255.255.248.0
          inet6 addr: fe80::211:c7ff:fe11:1088/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1055 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:249867 (244.0 KiB)  TX bytes:416396 (406.6 KiB)

eth0.99   Link encap:Ethernet  HWaddr 00:11:c7:11:10:88
          inet addr:192.168.50.56  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::211:c7ff:fe11:1088/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:242 errors:0 dropped:0 overruns:0 frame:0
          TX packets:123 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:30250 (29.5 KiB)  TX bytes:13675 (13.3 KiB)

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:65536  Metric:1
          RX packets:404308 errors:0 dropped:0 overruns:0 frame:0
          TX packets:404308 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13561857 (12.9 MiB)  TX bytes:13561857 (12.9 MiB)

root@yachtsense-main:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    10     0        0 eth0.99
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0.99
198.18.0.0      0.0.0.0         255.255.248.0   U     203    0        0 eth0
root@yachtsense-main:~# udhcpc -i eth0.99
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 192.168.50.56
udhcpc: lease of 192.168.50.56 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 192.168.50.1
root@yachtsense-main:~# cat /etc/resolv.conf
nameserver 192.168.50.1
root@yachtsense-main:~# ping www.baidu.com
PING www.a.shifen.com (183.2.172.42) 56(84) bytes of data.
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=1 ttl=50 time=7.90 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=2 ttl=50 time=7.84 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5022ms
rtt min/avg/max/mdev = 7.844/7.875/7.906/0.031 ms
root@yachtsense-main:~#

4:配置使用

由于KSZ9897 有5个带phy的端口,在当前的项目中,5个port都是LAN口,即接到电脑下面的PC都从设备上面获取IP地址,即设备提供DHCP server 的功能。

目前希望将5个port中的任何一个用来做WAN口,使这个port作为设备的上行有线网络接口。此处我们使用port2

每一个端口使用一个bit来表示

All=0x7F, port2=0x2, port3=0x4, ports 2&3=0x6, port4=0x8, port5=0x10
port1 =0x01 sw0
port2 =0x02 sw1
port3 =0x04 sw2
port4 =0x08 sw3
port5 =0x10 sw4 

下面的port6和port7用来与主控CPU进行连接

port6 =0x20 
port7 =0x40 -

ifconfig eth0 up 
vconfig add eth0 99
iptables -t nat -A POSTROUTING -o eth0.99 -j MASQUERADE
cd /sys/devices/platform/30a40000.i2c/i2c-2/2-005f
echo 99 > sw1/1_vid
echo 1  > sw/vlan
echo 99 > sw/vlan_index
echo 0 > sw2/1_ingress
echo 99 > sw/vlan_fid
echo 0x42 > sw/vlan_ports
echo 0x2 > sw/vlan_untag
echo 0x1 > sw/vlan_valid
#==========================================			
echo 1  > sw/vlan
echo 8 > sw/vlan_index
echo 8 > sw/vlan_fid
echo 0x7D > sw/vlan_ports
echo 0x7D > sw/vlan_untag
echo 0x1 > sw/vlan_valid	
udhcpc -i eth0.99 &

上面的配置参考下面的资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1290082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三十九、TCC模式

目录 一、定义 1、需要实现的方法: 2、优点: 3、缺点: 二、原理 1、例子: 2、工作模型图: 3、空回滚和业务悬挂 三、实现TCC模式 1、编写TCC服务接口 2、实现TCC服务接口 一、定义 TCC模式是Translucent Tr…

三焦不通,百病丛生?三焦指的到底是什么?

本 期 导 读 今天来讲一讲,看起来比较古怪的腑——三焦。 三焦的名字虽出于《内经》,但对它的描述却不像其他十一脏腑那么具体,留下了极大的解说空间。 三焦真的不可捉摸吗?当然不是。本文就带你揭开三焦的那层似有还无的面纱…

SQL手工注入漏洞测试(Access数据库)-墨者

———靶场专栏——— 声明:文章由作者weoptions学习或练习过程中的步骤及思路,非正式答案,仅供学习和参考。 靶场背景: 来源: 墨者学院 简介: 安全工程师"墨者"最近在练习SQL手工注入漏洞&#…

YOLOv8改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)

一、本文介绍 本文给大家带来的改进是Triplet Attention三重注意力机制。这个机制,它通过三个不同的视角来分析输入的数据,就好比三个人从不同的角度来观察同一幅画,然后共同决定哪些部分最值得注意。三重注意力机制的主要思想是在网络中引入…

社区生鲜店铺线上管理平台,提升店铺运营管理效率的秘密武器

智慧零售是一种基于现代技术的零售模式,通过人工智能、大数据分析和物联网等先进技术的运用,对商品销售、用户需求和市场趋势进行深度分析和预测,从而实现精细化管理和个性化服务。智慧零售不仅可以优化商品的库存管理和运营效率,…

java单人聊天

服务端 package 单人聊天;import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import…

【源码解析】聊聊阻塞队列之BlockingArrayQueue

阻塞队列 阻塞队列:顾名思义 首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下入所示。 当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。当阻塞队列时满的时,往队列里添加元素的操作将会被阻塞。 试图从空的…

【沐风老师】3DMAX切片工具插件安装使用方法详解

3DMAX切片工具安装使用方法 3DMAX切片工具,该工具沿世界坐标轴以规则的间隔对对象进行切片处理。例如,对于快速均匀细分复杂网格、顶点绘制或应用“弯曲”修改器非常有用。 【适用版本】 3dMax2016 - 2023(不仅限于此范围) 【安装…

Spring Cloud Stream 4.0.4 rabbitmq 发送消息多function

使用 idea 创建 Springboot 项目 添加 Spring cloud stream 和 rabbitmq 依赖 pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchem…

多人聊天室

1.创建服务面板 package yiduiy;import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Has…

国内AI大模型已近80个,哪个最有前途?

目前&#xff0c;国内已经推出了近80个人工智能大模型&#xff0c;这些大模型各有优势&#xff0c;难以直接判断哪个最有前途。然而&#xff0c;以下几个大模型值得关注&#xff1a; 1、华为云盘古大模型&#xff1a;盘古大模型聚焦于为行业服务&#xff0c;包括自然语言、视觉…

基于Vue.js的厦门旅游电子商务预订系统的设计和实现

项目编号&#xff1a; S 030 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S030&#xff0c;文末获取源码。} 项目编号&#xff1a;S030&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 景点类型模块2.2 景点档案模块2.3 酒…

吴恩达《机器学习》11-1-11-2:首先要做什么、误差分析

一、首先要做什么 选择特征向量的关键决策 以垃圾邮件分类器算法为例&#xff0c;首先需要决定如何选择和表达特征向量 &#x1d465;。视频提到的一个示例是构建一个由 100 个最常出现在垃圾邮件中的词构成的列表&#xff0c;根据这些词是否在邮件中出现来创建特征向量&…

Windows磁盘管理中硬盘无法初始化怎么办?

硬盘未出现在“此电脑”选项下的情况并不少见&#xff0c;当您打开磁盘管理&#xff0c;它要么显示为磁盘未知&#xff0c;要么显示为未分配的空间&#xff0c;或者只是不显示磁盘容量。为了访问您的硬盘并充分利用它&#xff0c;您需要对其进行初始化。不幸的是&#xff0c;您…

CTF 6

信息收集 话不多说&#xff0c;nmap进行信息收集&#xff01; 存活主机探测 服务版本探测 端口探测 漏洞脚本探测 UDP端口探测 渗透测试 先看看网站的首页&#xff0c;发现了几个用户&#xff1a; 直接先保存下来吧&#xff0c;以防后面会用到。 SQL注入 看到一个read mor…

行业研究:2023年中国游戏陪玩行业市场现状分析

近年来随着我国游戏行业的不断发展&#xff0c;我国游戏用户规模也是随着稳步上升&#xff0c;给游戏陪玩行业带来了稳定的用户基础。在用户规模增长的同时&#xff0c;随着经济、文化的快速发展&#xff0c;我国娱乐技能社交也随之逐渐兴起。而作为我国娱乐技能社交比重较大的…

01-Redis核心数据结构与高性能原理

一、Redis的单线程和高性能 1. Redis是单线程吗&#xff1f; Redis的单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的&#xff08;说白了也就是执行命令的时候是由一个线程来完成的&#xff09;&#xff0c;这也是 Redis 对外提供键值存储服务的主要流程。…

Jave内存模型 与 CPU硬件架构 的交互图

JMM里所讲的主内存、工作内存与Java内存区域中的Java堆、栈、方法区等并不是同一个层次的对内存的划分&#xff0c;这两者基本上是没有任何关系的。 如果两者一定要勉强对应起来&#xff0c;那么从变量、主内存、工作内存的定义来看&#xff0c;主内存主要对应于Java堆中的对象…

JAVAEE初阶相关内容第十九弹--网络原理之TCP_IP【续集2】

写在前 上一篇博客主要介绍的是关于网络层协议-IP协议的重点介绍。需要掌握关于IP协议的协议头格式&#xff0c;关于IPV4分配不够的解决办法。地址管理与路由选择。 点击跳转上一篇博客 本篇博客将继续学习关于计网中协议的内容。 本篇博客主要介绍关于数据链路层的重点协议-以…

深信服行为管理AC设置禁止用户使用向日葵等远程软件

需求&#xff1a;在特定的时间内禁止内外网用户使用向日葵、todesk等远程软件&#xff1b;只禁止使用专业的远程软件&#xff0c;内网的ssh、telnet、RDP需要正常放行 AC版本&#xff1a;AC13.0.62.001 Build20221107 通过访问权限策略来控制 1、行为管理→访问权限策略→新…