ESXI中运行RouterOS和openWRT |
您所在的位置:网站首页 › routeros和openwrt › ESXI中运行RouterOS和openWRT |
提醒:本文最后更新于 1910 天前,文中所描述的信息可能已发生改变,请谨慎使用。 平时搞一些前端项目时发现npm的速度非常慢,淘宝的cnpm又总是有些莫名其妙的问题,于是有了加速访问的想法。 思路来自如下链接,感谢这位博主。 https://www.willnet.net/index.php/archives/95/
用RouterOS建立一个中国大陆IP段的Address Lists,然后用Mangle建立一个非大陆IP的Routing Mark,最后添加一条路由使访问非大陆IP的流量从部署了SSR的openWRT中出去。 说干就干,部署ESXI以及RouterOS CHR就不再赘述,想必诸位能看到这里,想必这些简单的东西肯定是会的。 首先要得到中国大陆IP段列表,可以去APNIC得到,具体指令如下: curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.rsc curl没进度的同学可以用浏览器直接打开上面的链接,然后直接Ctrl+A全选复制后放到一个文档里,例如1.txt,然后使用如下指令筛选出中国大陆IP。 cat 1.txt | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.rsc 然后用打开VSCode之类的编辑器打开chnroute.rsc,在第一行添加/ip firewall address-list,然后使用多行编辑功能在其他的所有行首添加add list=cn-ip address=,VSCode是单击第二行行首,然后拉到最后一行,按住ALT+Shift单击最后一行行首,即可选中所有行行首;建议在此之前直接复制add list=cn-ip address=,然后选中后直接粘贴即可。 最终效果如下:
在此提供截至2018/11/09的中国大陆IP段列表,可以直接在RouterOS内导入。 我是成品列表 接下来打开WinBox的File菜单,将chnroute.rsc拖入。 打开终端,导入列表。 import file-name=chnroute.rsc 另外保留地址也需要加入此列表,这里提供一下保留IP段的Address List. 我是保留IP列表 import file-name=route-list.rsc 在IP-Firewall-Address Lists中可看到导入的数据。
接下来建立一个需要加速的内网设备ip列表,我并不需要让所有设备加速,防止它们无端的消耗流量。 如果你的内网设备较少或者直接让整个内网网段加速,那么可以跳过这一步,在下面建立非大陆IP的Routing Mark时,将代码中的src-address-list=goG改为你的内网网段,比如src-address=192.168.1.1/24。 建立需要加速的ip列表: /ip firewall address-list add address=10.1.1.123 list=goG add address=10.1.1.124 list=goG ...然后要建立一个非大陆IP的Routing Mark,指令如下: /ip firewall manage add chain=prerouting src-address-list=goG dst-address-list=!cn-ip action=mark-routing new-routing-mark=goSSR passthrough=yes接下来调openwrt这边,我是用lean大佬的源码编译的x86固件,地址在这里:https://github.com/coolsnowwolf/lede 编译出来的固件我使用的是openwrt-x86-64-combined-squashfs.img,然后使用StarWind V2V Image Converter可以转为ESXI使用的vmdk文件,注意转换出来后是两个vmdk文件,将两个文件都上传到ESXI里后它们会自动合并为一块虚拟硬盘,届时在openwrt里添加这块硬盘就可以了。
在ESXI中新建一个虚拟交换机,不要绑定物理网卡,接着以这个虚拟交换机为基础建立一个端口组,端口组VLAN ID为4095,将openwrt和ROS添加到这个端口组上。 然后主要是在这个新建的端口组上做文章,使用VLAN的方式单线复用,让openWRT和ROS可以进行通信,openWRT的WAN口VLAN ID为20,ip地址为192.168.99.2,对应的ROS IP地址为192.168.99.1;LAN口VLAN ID为10,IP地址为192.168.88.1,对应的ROS IP地址为192.168.88.2 启动openwrt,在控制台中输入vim /etc/config/network,修改LAN口的网卡eth0为eth0.10以及ip地址,并按照下图添加wan口;
接下来给ROS添加VLAN并配上对应的ip地址,打开ROS终端: ether3为openwrt对应的网卡,请自行替换。 /interface vlan add vlan-id=10 interface=ether3 name=opLAN add vlan-id=20 interface=ether3 name=opWAN /ip address add address=192.168.88.2/24 netmask=255.255.255.0 interface=opLAN add address=192.168.99.1/24 netmask=255.255.255.0 interface=opWAN现在在浏览器中打开192.168.88.1,网络-DHCP/DNS-取消仅本地服务的勾选。
然后将需要加速的设备的DNS请求转发给192.168.88.1 /ip firewall nat add chain=dstnat protocol=udp dst-port=53 src-address-list=goG action=dst-nat to-addresses=192.168.88.1 to-ports=53或者直接修改全局DNS为192.168.88.1, /ip dns set servers=192.168.88.1,119.29.29.29,114.114.114 allow-remote-requests=yes cache flush /ip dhcp-server network set 0 dns-server=192.168.88.1 //如果将ROS的DNS改为了192.168.88.1,这里可以使用你的ROS路由器IP。在这里我遇到一个问题,在ROS上重定向DNS请求后米家的设备便无法上网了,不知道是哪里的问题。所以我采用的是第一种方法,即建立一个需要加速的设备ip列表。 接下来再添加路由表,使非大陆IP的流量从openWRT走。 /ip route add dst-address=0.0.0.0/0 gateway=192.168.88.1 routing-mark=goSSR接下来,清空电脑DNS,打开命令行,npm i express,没错,就是这么爽快!再也不用忍受npm的龟速! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |