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