ROS+LEDE最强上网软路由
目录
最近家里的网络有些慢,在网上看到通过软路由可以最大发挥网速的性能+XX上网,做为一个互联网人,就想折腾一些新玩具,果断剁手,全部配置总计 3550元,其中软路由 1990元,硬盘1TB 1099元,2条8G内存 461元。
整个过程对新手来说还是有些麻烦,我也是折腾几次,将关键过程记录下了希望可以帮助到更多人。
1、软路由的选择
根据个人的需求情况,但不建议选择1900系列因为不支持VT-d,我的型号是在淘宝购买的i7-7500.单独配置的三星 860 EVO 1TB SATA盘,2条DDR4 2666 8G内存



2、Exsi 的安装
这里简单说下安装方法,当时没有录像,也折腾很长时间
首先制作一块启动U盘,网上有很多教程,我用的是优启通,在根目录创建DND目录,将ESXi-6.7.0-20191104001-standard-customized.iso复制到DND目录,复制后的目录结构如下:
|____@eaDir
| |____@tmp
|____@tmp
|____DND
| |____ESXi-6.7.0-20191104001-standard-customized.iso
|____LOST.DIR
|____System Volume Information
| |____IndexerVolumeGuid
| |____WPSettings.dat
|____tools
| |____DiskGenius 专业版 v4.9.1 绿色版.zip
| |____drive
| | |____lenovo_air _13_pro
| | | |____SM951+961+PM961驱动V2.4.70+支持Win7+8+10+64位.rar
ESXi-6.7.0-20191104001-standard-customized.iso下载地址:https://pan.baidu.com/s/1IdEKw9glQADgDU93-TozEA 提取码: xn34
将软路由插上U盘,接上显示器和键盘。

启动软路由选择U盘启动,然后选择第10项启动自定义ISO/IMG文件(DND目录)

选择运行 ESXi-6.7.0-20191104001-standard-customized.iso 文件

启动后会看到类似下面的页面,当时没有录制视频,后面的操作步骤,可以看这个视频 How to Install and Configure VMware ESXi 6.0

安装成功后,登录设置的IP地址,可以看到如下界面

3、ROS
3.1、创建虚拟机
创建虚拟机第一步,选择创建类型处选择 创建新虚拟机,下一页
创建虚拟机第二步,选择名称和客户操作系统
在名称处输入ROS1(我已经有了ROS名称的虚拟机,示例以ROS1来代替)
客户机操作系统系列 选择 Linux
客户机操作系统版本 选择 其他 4.x或更高版本的 Linux(64位) 下一页
创建虚拟机第三步,选择存储,我这里只有一块硬盘,点击下一页
创建虚拟机第四步,自定义设置,只保留CPU1个、内存512MB、网卡一个我有6个网卡,全部添加上,显卡保留,点击下一页,再点击完成
然后编辑ROS1虚拟机
选择添加硬盘->现有硬盘
在ROS目录中上传我们已经准备好的硬盘文件ROS-6.44.6-disk1.vmdk
在虚拟机选项中,引导选项下面的固件,选择BIOS.点击保存
ROS-6.44.6-disk1.vmdk下载地址: https://pan.baidu.com/s/1NKEVN4xK44oknbfi9eZQiw 提取码: ay3s
打开Winbox,可以直接搜索到局域网内的ROS1,帐号是admin,密码是空,点击Connent进行连接登录。
演示时已经有一个ROS在运行,所以为了测试,临时将
ROS1的局域网IP设置为10.0.0.249,修改了网卡地址,后面的操作还是以10.0.0.253来录制视频
[embed]https://img.mshk.top/EXSIROSLEDE/创建虚拟机ROS1080p30.mp4[/embed]
3.2、设置网卡
点击左侧 Interfaces 找到其中的一个有数据的接口,因为在访问ROS有流量,所以这个口,可以命名为 Lan0。
因为我的是6口网卡,只能设置好PPPOE以后每个口测试下,哪个有流量哪个就是Wan口,我将最后一个网卡口做为Wan口使用
3.3、为ROS设置IP地址
IP->Address,点 + 号
Address输入10.0.0.253/24
Network输入10.0.0.0
Interface选择Lan0
3.4、拨号上网
点击 Interface,在弹出的窗口中 点 + 号,选择PPPoE Client,在默认的General选项卡中,Name输入PPPOE,Interface选择Wan
点击Dial Out选项卡,User输入你的PPPoE帐号,PassWord输入你的PPPoE密码,Use Peer DNS如果选择选择运营商推荐的DNS,这里我们不要选择,点击 OK
创建成功后,可以看到 PPPOE 选项左侧有个 R 的标记,表示已在运行中,这时还不能上网,需要对防火墙做设置
3.5、设置地址伪装
IP->Firewall,选择NAT选项卡 点+号,在Chain选择srcnat,
点击Action选项卡,在Action选择masquerade,点击 ok
,这时就可以正常访问互联网。
[embed]https://img.mshk.top/EXSIROSLEDE/创建虚拟机ROS-设置网卡1080p30.mp4[/embed]
3.6、DHCP设置
3.6.1、配置 DHCP Server
IP->DHCP Server,打开窗口后,在DHCP选项卡,点击DHCP Setup
在弹出的窗口中选择我们的 Lan0 点击 Next
在DHCP Address Space,输入你的网段范围 10.0.0.0/24 点击 Next
在Gateway for DHCP Network输入网关地址,我们输入ROS的地址 10.0.0.253 点击 Next
在Addresses to Give Out设置我们要分配的网段,输入10.0.0.100-10.0.0.200 点击 Next
在DNS Servers输入ROS的IP地址 10.0.0.253 点击 Next
在Lease Time不用修改,继续 点击 Next,创建成功
3.6.2、可选项,由DHCP固定IP分配
IP->DHCP Server,打开leases选项卡
点击右侧的copy,在新弹出的窗口中,Address输入需要用IP地址10.0.0.251,点击 ok
3.7、开启 DNS 缓存
如果要开启DNS缓存,必须要把DNS服务器设置为 ROS 的IP地址,
IP->DHCP Server,打开窗口后选择 NewWorks 选项卡,双击下面的IP地址,DNS Server输入10.0.0.253 ,点 ok
IP->DNS,在弹出的窗口中,Servers 输入 114.114.114.114,勾选上Allow Remote Requests允许远程请求,点ok
这时如果有网络请求,点左侧的 cache 可以看到有缓存的数据列表
[embed]https://img.mshk.top/EXSIROSLEDE/创建虚拟机ROS-配置DHCP1080p30.mp4[/embed]
3.8、安全设置
3.8.1、关掉默认帐号
System->Users,禁止掉默认的admin帐号,点击上面的叉
创建一个自己的新帐号
3.8.2、停掉不用的 Service
IP->Service,只保留winbox和www服务
3.8.3、防火墙设置
执行下面的脚本
打开 New Terminal,直接复制
#防火墙
/ip firewall filter
add chain=input in-interface=PPPOE protocol=udp dst-port=53 action=drop
add chain=input in-interface=PPPOE protocol=tcp dst-port=53 action=drop
add chain=input connection-state=invalid action=drop comment="Drop Invalid connections"
add chain=input connection-state=established action=accept comment="Allow Established connections"
add chain=input protocol=icmp action=accept comment="Allow ICMP"
#这里的10.0.0.0替换成自己的IP段。24表示255.255.255.0。如果没有用桥就把bridge1换成局域网的lan
add chain=input src-address=10.0.0.0/24 action=accept in-interface=bridge1
add chain=input action=drop comment="Drop everything else"
add chain=output action=accept comment="accept everything"
add chain=forward connection-state=invalid action=drop comment="Drop Invalid connections"
add chain=forward connection-state=established action=accept comment="Allow Established connections"
add chain=forward connection-state=related action=accept comment="allow related connections"
add chain=forward protocol=tcp action=jump jump-target=tcp
add chain=forward protocol=udp action=jump jump-target=udp
add chain=forward protocol=icmp action=jump jump-target=icmp
#禁止外网Ping #这里的10.0.0.0替换成自己的IP段。24表示255.255.255.0
/ip firewall filter add chain=input src-address=!10.0.0.0/24 protocol=icmp action=drop comment="\BD\FB\D6\B9\CD\E2\CD\F8Ping"
3.9、阿里云DDNS设置
3.9.1、添加脚本
System->Scripts,点+号,添加一个脚本,命名为 aliyunddns
:local id "ATAIPsNJqdDqpQjO"
:local secret "ceTeEsexWHxlu8CYOawOvioQzl3fxx"
:local domain "mshk.top"
:local record "ddns"
:local pppoe "pppoe-out1"
:local ipaddr [/ip address get [/ip address find interface=$pppoe] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]
:global aliip
:if ($ipaddr != $aliip) do={
:local result [/tool fetch url="http://u.myxzy.com/alidns/?id=$id&secret=$secret&domain=$domain&record=$record&ip=$ipaddr" as-value output=user];
:if ($result->"status" = "finished") do={
:if ($result->"data" = "0") do={
:set aliip $ipaddr
:log info "alidns update ok";
} else={
:log info "alidns update error";
}
}
}
其中
id、secret替换成阿里云提供的。domain为你的域名,record是主机记录也可以是www,pppoe后面是你的拨号名称pppoe-out1
3.9.2、创建定时任务
System->Scheduler,点+号
任务名aliyunddns,
StarTime为startup,
Interval为00:01:00表示1分钟一次,
在On Event直接执行脚本名称,输入刚才的 aliyunddns,保存
检查是否操作成功,点击左侧的 Log,等1分钟可以看到有Log提示 alidns update ok
点击左侧IP->Address 可以看到我们的外网IP,可以和阿里云查看做对比。
3.10、设置端口转发
3.10.1、设置 群晖 端口转发
IP->Firewall ,在弹出的窗口中,选择NAT,点击新建
在General选项卡中,
Chain选择dstnat,
Protocol选择tcp
Dst. Port表示外网端口,输入群晖的地址 5000,
In Interface选择网卡,我们选择Lan0
点击Action选项卡,
Action选择dst-nat,
To Addresses表示内网机器的IP输入 10.0.0.10,
To Ports表示内网的端口,输入 5000
3.11、UPNP设置
设置好以后,允许迅雷等软件自动设置NAT规则打开外部端口,我主要用在群晖 docker 服务对外映射网站使用。
IP->UPnP,在弹出的窗口中,将三个复选框都选中,分别是启用、允许关闭外部网卡、显示规则
点击右侧的 Interface,在弹出的窗口点 + 号
Interface选择Wan
Type 选择 external,点击ok
继续点 + 号
Interface选择Lan0
Type 选择 internal,点击OK
3.12、VPN设置
3.12.1、先设置VPN要分配的IP段
IP->Pool,点 + 号,在Name处输入 VPNPool,Addresses输入VPN分配的网段10.10.0.1-10.10.0.100不能和现有分配的网段冲突,点击 OK
3.12.2、配置 Profiles
左侧 PPP
Profiles选项卡,点 + 号
Name输入vpn-profile
Local Address输入ROS的网关地址10.0.0.253,
Remote Address选择刚刚创建好的VPN分配网段VPNPool
Protocols选项卡配置协议,
在 Use Encryption选择yes点击ok
3.12.3、创建登录用户
选择secrets选项卡,点 + 号
Name输入VPN的登录名mshk,
Service可以不选择,如果选择 l2tp则该用户只针对 l2tp 服务
Password输入VPN的登录密码123456,
Profile选择刚刚创建的vpn-profile,点击OK
3.12.4、开启 PPTP Server VPN
选择interface选项卡
点击PPTP Server,
将Enable复选框选上,
Default Profile选择刚才创建的 vpn-profile,点 ok
3.12.5、开启 L2TP Server VPN
点击L2TP Server,
将Enable复选框选上,
Default Profile选择刚才创建的 vpn-profile,
Use Ipse选择yes,
IPsec Secret输入密码是后面要连接的密码123456, 点 ok
全部配置好以后,可以在手机、电脑端使用PPTP和L2TP协议进行VPN登录
3.13、ROS 升级
System->Packages ,在弹出窗口中点击Check For Updates,能够看到是否有升级的版本,点击Download&Install,就可以完成自动安装。系统重启后就会是最新的固件。
4、LEDE
4.1、Exsi下的LEDE安装
创建虚拟机第一步,选择创建类型处选择 创建新虚拟机,下一页
创建虚拟机第二步,选择名称和客户操作系统
在名称处输入Openwrt
客户机操作系统系列 选择 Linux
客户机操作系统版本 选择 其他 4.x或更高版本的 Linux(64位) 下一页
创建虚拟机第三步,选择存储,我这里只有一块硬盘,点击下一页
创建虚拟机第四步,自定义设置,只保留CPU1个、内存1G、网卡一个Lan0,显卡保留,点击下一页,再点击完成
然后编辑 Openwrt 虚拟机
选择添加硬盘->添加现有硬盘
在Openwrt目录中上传我们已经准备好的硬盘文件[官方2020-05-20]openwrt-koolshare-mod-v2.35-r14297-5efd32232b-x86-64-generic-squashfs-combined-efi.vmdk
在虚拟机选项中,引导选项下面的固件,选择BIOS.
[官方2020-05-20]openwrt-koolshare-mod-v2.35-r14297-5efd32232b-x86-64-generic-squashfs-combined-efi.vmdk下载地址:链接: https://pan.baidu.com/s/1uU4FC-8_bnZhju21BrlK3A 提取码: ish3
启动虚拟机,LEDE的默认IP地址是192.168.1.1,因为我的网段不一样,所以需要打开命令行修改LEDE的默认IP地址,输入以下命令
$ vi etc/config/network
将192.168.1.1替换为10.0.0.254,也可以执行下面的命令直接进行替换
$ sed -i "s/192.168.1.1/10.0.0.254/" /etc/config/network
然后重启网络服务
$ server network restart
通过浏览器打开我们刚才设置的IP地址10.0.0.254
默认管理帐号是root,密码是koolshare,可以看到已经进入系统。
[embed]https://img.mshk.top/EXSIROSLEDE/创建LEDE虚拟机1080p30.mp4[/embed]
4.2、对 Lan 进行配置
通过浏览器打开我们刚才设置的IP地址10.0.0.254
默认管理帐号是root,密码是koolshare
点击上方的网络菜单,选择接口,LEDE主要负责XX上网,所以不需要的网络我们删除掉,只保留Lan。 删除掉其他不用的网口,然后在Lan网口右侧点击编辑。
在常规设置选项卡中
IPv4的IP10.0.0.254保持不变
IPv4网关输入ROS的地址10.0.0.253
IPV4广告输入10.0.0.0
使用自定义的DNS服务器输入114.114.114.114配置一个可以解析外网的DNS
4.3、关闭不需要的DHCP服务
点击DHCP服务器选项卡
页面下面的基本设置中勾选忽略此接口
DHCP服务器选项卡的高级设置,取消掉动态DHCP的勾选
DHCP服务器选项卡的IPv6设置,路由通告服务选择已禁用,DHCPv6 服务选择已禁用,最后点保存
回到 Lan 网口页面,再点击 保存并应用
4.4、关闭防火墙服务
点击上方网络菜单 ,选择防火墙
取消掉启用 SYN-flood 防御的勾选,删除wan网接口
点击保存并应用
[embed]https://img.mshk.top/EXSIROSLEDE/创建LEDE虚拟机-配置网络1080p30.mp4[/embed]
4.6、设置 LEDE XX上网
由于某些原因就不在这里介绍,大家可以自行下载插件编译。
5、设置主路由ROS使用LEDE做为网关XX上网
5.1、修改DHCP网关
IP->DHCP Server,选择NetWorks选项卡,双击下面的IP地址,在Gateway输入LEDE的IP地址10.0.0.252,点 ok
5.2、修改DNS服务器
IP->DNS,在Service输入LEDE的IP地址10.0.0.252,点 ok
6、VPN连接以后可以使用LEDE做网关XX上网
6.1、更新中国IP地址段
在命令行输入以下命令
/tool fetch url=http://www.iwik.org/ipcountry/mikrotik/CN
/import file-name=CN
IP->Firewall ,点击 Address List 选项卡,可以看到我们刚刚导入的 8000 多条中国网段IP记录
6.2、添加VPN网段
IP->Firewall ,点击 Address List 选项卡,点击 + 号,来添加一条VPN网段
在上面我们调协的VPN网段是10.10.0.1-10.10.0.100
Name输入vpn-mhsk
Address 输入10.10.0.1-10.10.0.100,点击 ok
6.7、对允许的VPN网段做标记
点击 Mangle 选项卡,点击 + 号
在弹出的窗口中,General选项卡中,
将Enable勾选上
Chain 选择 prerouting
Protocol选择tcp
点击右侧的Comment输入vpn-tcp
点击Advanced选项卡
Src. Address List选择我们刚刚创建的地址名称 vpn-mshk
Dst. Address List选择CN,同时将前面的复选框打上叹号!,表示要排除所有刚刚导入的国内CN网段
点击Action选项卡
Action选择mark routing
New Routing Mark选择刚刚创建的地址名称vpn-mshk 点击OK
再复制一份udp,双击刚才添加的列表,点击右侧的copy
Protocol选择udp
点击右侧的Comment输入vpn-udp 点击OK
6.8、添加静态路由指定到LEDE网关
IP->Routes ,点击 + 号
在弹出的窗口中,General选项卡中,
将Enable勾选上
Dst. Address输入0.0.0.0/0,表示不限制目标地址
Gateway输入LEDE的地址10.0.0.252
Check Gateway选择检查网关方式为ping,
Distance选择2
Routing Mark选择我们刚刚创建的地址名称 vpn-mshk 点击OK
这时通过VPN拨通后就可以愉快的XX上网了:)
7、设置虚拟机自启动
选择host主机——>右侧选择“配置”页签——>选择“虚拟机启动/关机”
点击右侧“属性”——>勾选“允许虚拟机与系统一起启动和停止”
选择一个虚拟机,然后“上移”到"自动启动"队列中
选定的虚拟机状态已启用,其余虚拟机状态仍为禁用。可以从启动宿主机看看效果!
(注意:一定要在VM处于关闭状态下设置,否则是无效的!)
然后点击关机,再重新打开等一会看看
希望本文对您有帮助,感谢您的支持和阅读我的博客。
博文作者:迦壹
博客地址:ROS+LEDE最强XX上网软路由
转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!
假设您认为这篇文章对您有帮助,可以通过以下方式进行捐赠,谢谢!

比特币地址:1KdgydfKMcFVpicj5w4vyn3T88dwjBst6Y
以太坊地址:0xbB0a92d634D7b9Ac69079ed0e521CC2e0a97c420
浙公网安备 33010602011771号