我的硬件
联想3代小主机
i5 3470T 35瓦(低功耗是24小时运行基础) VT/x(ESXI虚拟化必须,请在BIOS开启) VT/d(硬件直通必须,请在BIOS开启)
这个坑是留给小白的,很多很老的cpu不带VT/x虚拟化支持,切莫贪图便宜。很多低端cpu不带VT/d硬件直通支持,切莫自作聪明随意选择,可以去ark.intel.com自己找想要的cpu,当然钱闲的蛋疼就买越强越好。
内存至少8G
硬盘最好SSD,启动速度快点。
有一个自带网口,加装一个从MiniPCI引出
第一步 ESXI安装
略过了 网上教程太多了,异常简单。
板载网口千万不要直通(你信你可以试试),另一个网口切换直通。
第二步 RouteOS安装
去mikrotik.com注册个账号,收到邮件会带注册码。
在官网下载安装镜像 首页Software 选择Cloud Hosted Router 最新版Stable 磁盘镜像Raw disk image
解压出来用StarWind V2V Image Converter转换成ESXI磁盘文件VMware ESX server image
ESXI新建ROS虚拟机 Linux其他64位
内存512m-1G都行,如果有直通设备,记得把内存容量固定下来,硬盘上传转换好的文件
网卡一个是系统自带的,一个是添加其他设备PCI网卡,类型选VMXNET3,引导选项改BIOS
启动后用winbox64(去mikrotik.com下载)登录后台 IP方式登陆不进就用MAC方式 用户名admin 密码空
ROS后台设置
interface菜单点开有两个网卡,把有Tx、Rx流量的那个改成lan,另一个改成wan
IP菜单Addresses点开,有默认的本机IP,可以改成自己想要的IP比如192.168.0.1,后面别忘记加/24掩码192.168.0.1/24,网段也要设在本网段192.168.0.0,interface确保为lan
再次打开interface菜单,+号加一个PPPoE Client,Name无所谓,interface选wan,第二标签页Dial Out设置User宽带用户名,Password宽带密码,Use Peer DNS勾上就是获取运营商提供的DNS,这里我们要自己指定DNS就不勾。
回到interface List看到拨号接口前面出现R就代表已经成功拨号了,lan、wan、pppoe全部都有流量显示。
但暂时还不能上网
点开主菜单IP选择Firewall,在NAT标签页添加一个规则,Action标签页Action选择masquerade完成防火墙设置。
点开主菜单IP选择DHCP Server,点DHCP Setup
DHCP Server interface : lan DHCP应用接口
DHCP Address Space : 192.168.0.0/24 DHCP网段
Gateway for DHCP Network : 192.168.0.1 DHCP网关
Addresses to Give Out : 192.168.0.2-192.168.0.250 分配地址范围自己设定
DNS Servers : 114.114.114.114 暂时填一个常用的DNS服务器
Lease Time : 默认
现在可以正常上网了
开启ROS的DNS缓存 体验网页秒开
IP菜单DHCP Server的Network标签页
Address : 192.168.0.0/24 应用网段
Gateway : 192.168.0.1 网关
DNS Server : 192.168.0.1 把本机用于局域网内所有终端的DNS解析
IP菜单DNS 勾上Allow Remote Requests 允许远程DNS请求 在顶上Servers 填入自己想要的真实外网DNS 服务器比如114.114.114.114,打开右侧Cache按钮如果现在内网所有终端已经正常上网,那么就可以看到DNS缓存信息了。
右侧Static按钮还可以指定IP解析,比如想让局域网访问ros.com解析到ROS网页管理后台,那么这里的Name就填ros.com,Address填192.168.0.1,用浏览器访问ros.com看看。
所有已经完成,但别忘记在主菜单System下的User中改密码,建议不要用admin了,自己新建一个吧。
还有注意在IP菜单中Service停用一些不必要的服务,建议留一个winbox就行了,为了安全没必要的尽量关掉。
IP菜单里的UPnP也设置一下,Enabled、Allow To Disable External interface、Show Dummy Rule都勾上。右侧按钮interfaces里面一定要添加两个接口,一个是lan---type是internal,另一个是wan---external
第三步OpenWRT安装设置
稳定好用的新版固件可以留言问我要
固件img文件还是用StarWind V2V Image Converter转换成ESXI磁盘文件VMware ESX server image后上传到虚拟机
新建Linux虚拟机其他4.x或更高版本的Linux(64位)
删除硬盘和SCSI硬盘控制器等设备,CPU内存根据自己需求,添加现有硬盘,因为是旁路有所以网卡就用那个默认的虚拟网卡,引导选项改BIOS。
虚拟机开机进命令行后,nano /etc/config/network 修改eth0的IP,也就是管理IP,与ros的lan同一网段就ok比如192.168.0.2
Ctrl+O保存,Ctrl+X退出nano,reboot重启。
用浏览器登录openwrt后台,用户root,默认无密码,建议进去先修改。
然后来到网络菜单的接口,wan口删掉,修改lan口,网关指向192.168.0.1,广播192.168.0.0,DNS是实际外网DNS比如114.114.114.114,下面DHCP服务忽略勾好,因为ROS已经负责DHCP了。
一些问题
以上很多都是跟着网上大佬做的,其实还有一些问题。
第一次按照这个做,正常上网也出过了,但是遇到pppoe过了不久就掉线再也拨不上去了,看到一些解决办法,就是重新设置pppoe,但是暂时还没验证。
其次就是我用这套方案,家里千兆测速到电信只有600-700兆,而用J1900成品软路由单Openwrt拨号,测速有850兆左右。我怀疑因为ros用户wan和lan交互的网卡,虽然其中wan是直通,但是lan是和esxi管理口共用的,而这个口是不可能直通的,所以真个ros的interface其实是半直通半虚拟,这样不知道是不是会影响实际性能,暂时也没能用wan、lan双口直通验证是不是能达到更好的路由性能。
其实要说DNS缓存达到网页秒开的效果,其实用单openwrt不用smart dns也感觉不出打开网页解析的卡顿,根本效果就是微乎其微,非完美主义者建议不用折腾了,意义并不是很大。