ROS+LEDE最强上网软路由

时间:2024-02-23 14:03:10

目录

最近家里的网络有些慢,在网上看到通过软路由可以最大发挥网速的性能+XX上网,做为一个互联网人,就想折腾一些新玩具,果断剁手,全部配置总计 3550元,其中软路由 1990元,硬盘1TB 1099元,2条8G内存 461元。

整个过程对新手来说还是有些麻烦,我也是折腾几次,将关键过程记录下了希望可以帮助到更多人。

1、软路由的选择

根据个人的需求情况,但不建议选择1900系列因为不支持VT-d,我的型号是在淘宝购买的i7-7500.单独配置的三星 860 EVO 1TB SATA盘,2条DDR4 2666 8G内存
mshk.top
mshk.top
mshk.top

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盘,接上显示器和键盘。
mshk.top

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

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

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

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

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输入PPPOEInterface选择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";
}
}
}

其中idsecret替换成阿里云提供的。domain为你的域名,record是主机记录也可以是wwwpppoe 后面是你的拨号名称pppoe-out1

3.9.2、创建定时任务

System->Scheduler,点+号
  任务名aliyunddns
  StarTimestartup
  Interval00: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处输入 VPNPoolAddresses输入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

全部配置好以后,可以在手机、电脑端使用PPTPL2TP协议进行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