OPENWRT---SWITCH设置

OPENWRT利用switch设置教程
本文介绍了在OPENWRT系统中,当WAN口损坏或只有一个以太网口时,如何利用switch进行网络配置。通过使用swconfig工具查看端口状态,并详细讲解了如何配置VLAN,将LAN口改为WAN口的步骤。
AI助手已提取文章相关产品:

当wan口坏了,或者路由器只有一个eth0或者eth1,OPENWRT里的switch就很有用了。下面是一些switch的设置方法。

首先,我们会用到swconfig这个工具。具体的用法是 swconfig dev switch0 show,这个是展示switch0里的端口情况。然后,我们去测试每一个网口对应的port。

接下来,进入话题。switch是设置vlan,配置文件是network.下面是我真的wr841,wan口坏了,自己改变一个lan口做wan口的设置。具体如下:

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 'eth1.2'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        
                                                
config interface 'wan'
        option ifname 'eth1.1'
        option proto 'dhcp'

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

config switch_vlan 'eth1_1'
        option device 'switch0'
        option vlan '1'
        option ports '1 0t'
        
config switch_vlan 'eth1_2'
        option device 'switch0'
        option vlan '2'
        option ports '2 3 4 0t'

参考网址:http://coderazzi.net/howto/openwrt/tl841n/vlans.htm

您可能感兴趣的与本文相关内容

find /opt -name '*aarch64_cortex-a53*' -type d 2>/dev/null /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/mtd-utils-2.1.2/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/8021xd/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/lua-5.1.5/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/mii_mgr/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/regs/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/libnl-tiny-2020-08-05-c291088f/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/wireless_tools.29/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/toolchain/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/util-linux-2.36.1/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/ncurses-6.2/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/switch/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/linux-mediatek_mt7981/conninfra/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/linux-mediatek_mt7981/packages/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/linux-mediatek_mt7981/mt_wifi/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/linux-mediatek_mt7981/mtd/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/linux-mediatek_mt7981/warp/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/libubox-2021-05-16-b14c4688/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/json-c-0.15/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/wifi-profile/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/build_dir/target-aarch64-openwrt-linux_musl/ated_ext/ipkg-aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/bin/packages/aarch64_cortex-a53 /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl 怎么办
最新发布
11-20
<think> 根据用户提供的find命令输出,工具链的真实路径为: `/opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl` ### 配置Makefile的步骤 1. **设置工具链路径**: ```makefile TOOLCHAIN_PATH := /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl ``` 2. **添加关键环境变量(在Makefile中或编译前导出)**: ```makefile export STAGING_DIR=$(TOOLCHAIN_PATH) ``` 3. **配置交叉编译变量**: ```makefile CROSS_COMPILE := aarch64-openwrt-linux- CC := $(CROSS_COMPILE)gcc ``` 4. **添加sysroot和头文件路径**: ```makefile CFLAGS += --sysroot=$(TOOLCHAIN_PATH) CFLAGS += -I$(TOOLCHAIN_PATH)/include # 额外包含目标系统的头文件(重要!) CFLAGS += -I$(TOOLCHAIN_PATH)/target/include ``` 5. **完整示例片段**: ```makefile TOOLCHAIN_PATH := /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl export STAGING_DIR=$(TOOLCHAIN_PATH) CROSS_COMPILE := aarch64-openwrt-linux- CC := $(CROSS_COMPILE)gcc CFLAGS := -Os -Wall CFLAGS += --sysroot=$(TOOLCHAIN_PATH) CFLAGS += -I$(TOOLCHAIN_PATH)/include CFLAGS += -I$(TOOLCHAIN_PATH)/target/include # 链接选项 LDFLAGS := --sysroot=$(TOOLCHAIN_PATH) ``` ### 验证time.h存在 运行以下命令确认头文件位置: ```bash ls $(TOOLCHAIN_PATH)/target/include/time.h ``` 如果不存在,尝试在工具链目录下搜索: ```bash find $(TOOLCHAIN_PATH) -name time.h ``` ### 特殊处理 如果发现`time.h`位于非标准路径(如`.../staging_dir/target-.../usr/include`),需显式添加: ```makefile CFLAGS += -I$(TOOLCHAIN_PATH)/staging_dir/target-aarch64_cortex-a53_musl/usr/include ``` §§相关问题§§ 1. 当工具链路径中包含版本号变量时,如何在Makefile中实现动态路径解析? 2. 如何解决交叉编译时出现的"multiple definition of `time'"链接错误? 3. 在OpenWRT SDK环境中,`STAGING_DIR`和`TOOLCHAIN_DIR`环境变量有何区别? 4. 为什么需要同时包含工具链的`include`目录和目标的`include`目录? 5. 当项目依赖pkg-config时,如何配置交叉编译环境使其正确找到库文件? </think>根据您的 `find` 命令结果,您的交叉编译工具链真实路径已确认: **工具链路径**: ``` /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl ``` ### 配置 Makefile 的完整方案 #### 步骤 1:设置基础路径 ```makefile # 设置工具链根目录 TOOLCHAIN_DIR := /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl # 设置目标系统头文件路径(关键!) TARGET_DIR := /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/target-aarch64-openwrt-linux_musl ``` #### 步骤 2:配置编译选项 ```makefile # 交叉编译前缀 CROSS_COMPILE := aarch64-openwrt-linux- CC := $(CROSS_COMPILE)gcc # 关键头文件路径(解决 time.h 问题) CFLAGS := -I$(TOOLCHAIN_DIR)/include \ -I$(TARGET_DIR)/usr/include \ -I$(TARGET_DIR)/include \ --sysroot=$(TOOLCHAIN_DIR) # 链接选项 LDFLAGS := --sysroot=$(TOOLCHAIN_DIR) \ -L$(TARGET_DIR)/usr/lib \ -L$(TARGET_DIR)/lib ``` #### 步骤 3:完整 Makefile 示例 ```makefile TOOLCHAIN_DIR := /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl TARGET_DIR := /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir/target-aarch64-openwrt-linux_musl CROSS_COMPILE := aarch64-openwrt-linux- CC := $(CROSS_COMPILE)gcc CFLAGS := -O2 -Wall CFLAGS += -I$(TOOLCHAIN_DIR)/include CFLAGS += -I$(TARGET_DIR)/usr/include CFLAGS += -I$(TARGET_DIR)/include CFLAGS += --sysroot=$(TOOLCHAIN_DIR) LDFLAGS := --sysroot=$(TOOLCHAIN_DIR) LDFLAGS += -L$(TARGET_DIR)/usr/lib LDFLAGS += -L$(TARGET_DIR)/lib TARGET := your_app OBJS := main.o utils.o all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f $(OBJS) $(TARGET) ``` ### 验证 time.h 路径 执行以下命令确认 time.h 位置: ```bash # 检查工具链头文件 find /opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir -name time.h # 典型路径可能是: # /opt/bba/.../staging_dir/target-aarch64-openwrt-linux_musl/usr/include/time.h ``` ### 额外建议 1. **环境变量设置**(在编译前执行): ```bash export STAGING_DIR=/opt/bba/NX505_EU1_1/sdk/mt7986/openwrt-21.02/staging_dir ``` 2. **如果仍有错误**,添加 musl 特定路径: ```makefile CFLAGS += -I$(TOOLCHAIN_DIR)/include/musl ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值