openwrt linux bridge切换为open vswitch

时间:2023-02-02 14:06:39

最近工作需要要研究一下openvswitch的路由,但是本人小白一个找了不少文章都是要求编译的,而且感觉比较麻烦,就不能用现成openwrt换成open vswitch的方案吗?找了一圈没找到,只能自己摸索。刚好手上有几个可以用的,就开始了折腾之旅。

硬件环境:

     路由器: k5-w20 

     (已经刷好不死breed,如果不会请自行百度,再次提醒刷机有风险)

     cpu: mt7620    内存:  64M    flash: 16M

软件环境:openwrt 18.09.6 

              (因为这个版本的openvswitch没有自启动的问题)

下面是我5k路由器的版本,其他路由器根据自己硬件去官网下载

固件下载地址:​​https://archive.openwrt.org/releases/18.06.9/targets/ramips/mt7620/openwrt-18.06.9-ramips-mt7620-rt-n14u-squashfs-sysupgrade.bin​

具体步骤如下:

1.拔下电源------>按住reset键插上电源------>等待5秒左右

2.网线接到电脑网口上,打开浏览器输入192.168.1.1

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

刷完固件后会自动重启,就可以登录openwrt的界面了(默认ip地址为192.168.1.1,第一次启动用户名root,密码为空)

3.通过web页登录设置路由的密码

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

拉到最下方,点Save & Apply

  

4.将笔记网线接到路由器的lan口上,打开web页登录默认为http://192.168.1.1

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

 

脚本内容如下:


​#!/bin/sh​

​opkg update && opkg ​​​​install​​​ ​​openvswitch​

​if​​​ ​​[ $(brctl show|​​​​grep​​​ ​​eth0.1|​​​​wc​​​ ​​-l) -​​​​ge​​​ ​​1 ];​​​​then​

​brctl delif br-lan eth0.1​

​fi​

​#lan口​

​ovs-vsctl --may-exist add-br ovslan​

​ovs-vsctl add-port  ovslan eth0.1​

 

​#给wan口​

​ovs-vsctl --may-exist add-br ovswan​

​ovs-vsctl add-port  ovswan eth0.2​


 

​#注释linux bridge​

​sed​​​ ​​-i ​​​​"12s?option type 'bridge'?#&?"​​​ ​​/etc/config/network​


​#修改默认内网ip地址​

​sed​​​ ​​-i ​​​​"s?192.168.1.1?192.168.111.1?"​​​ ​​/etc/config/network​


​#修改lan的ifname​

​sed​​​ ​​-i ​​​​"s?ifname 'eth0.1'?ifname 'ovslan'?"​​​ ​​/etc/config/network​


​#修改wan的ifname​

​sed​​​ ​​-i ​​​​"s?ifname 'eth0.2'?ifname 'ovswan'?"​​​ ​​/etc/config/network​

​#添加eth0.1的配置​

​cat​​​ ​​>>​​​​/etc/config/network​​​​<<EOF​

​config interface ​​​​'lan1'​

​option ifname ​​​​'eth0.1'​

​option proto ​​​​'none'​

​option auto ​​​​'1'​


​config interface ​​​​'wan1'​

​option ifname ​​​​'eth0.2'​

​option proto ​​​​'none'​

​option auto ​​​​'1'​

​EOF​

 

​#开启openvswitch自启动​

​/etc/init​​​​.d​​​​/openvswitch​​​ ​​enable​


​#清空/etc/rc.local​

​echo​​​ ​​''​​​​>​​​​/etc/rc​​​​.​​​​local​


​#重启路由​

​reboot​


 

等待5-10分钟左右

 

ssh到192.168.111.1

openwrt linux bridge切换为open vswitch

openwrt linux bridge切换为open vswitch

到此openwrt切换为openvswich了,如有不正确的可以大家一起探讨。