我用服务器做VMWare的时候有同学问我为什么不做黑群晖,买了个“矿渣”做黑群晖又有同学问我为什么不做软路由。这都提醒我肯定要紧跟时代发展的步伐,既然已经落后了,那就尽量往前追赶吧。
我去了解了一下,这个软路由,主要是指OpenWrt。百度了一下,OpenWrt项目从2004年1月开始, 选择了从零开始搭建自己的系统,一点一点地把各种软件集合进去,使其接近Linksys版Firmware的功能。而OpenWrt 的成功之处是它的文件系统是可写的,开发者无需在每一次修改后重新编译,令它更像一个小型的linux电脑系统。OpenWrt的第一个版本是基于Linksys提供的GPL源码及uclibc中的 buildroot 项目,目前最新版本应该是2021年6月16日发布的21.02.0-rc3。
那我们今天先试一下应该稳定一些的19.07.7这个版本吧。
我选了一个x86-64版本的,下载链接如下:
https://archive.OpenWrt.org/releases/19.07.7/targets/x86/64/
下载combined-ext4.img.gz这个文件。
下载完成后,解压得到
OpenWrt-19.07.7-x86-64-combined-ext4.img这个文件。
8 M解压出了272 M的镜像出来。
然后用StarWindConverter这个工具来把IMG镜像文件转换成VMWare支持的vmdk文件。
选择合适的转换后的镜像格式,我选择的是VMWare growable image版本的VMDK,磁盘空间按需增长。
磁盘类型选择“IDE”,也可以选择“SCSI”。这个跟创建虚拟机时的选项要对应。
选择输出文件位置。
转换完成。
转换完成的vmdk文件,大小只有17 M。
创建新的虚拟机,类型选择“自定义(高级)”。
选择兼容性,因为我有计划将其迁移到VMware ESXi,所以我的硬件兼容性选择了“ESXi 6.5”。
稍后安装操作系统。
系统选择“Linux”→“其他Linux 4.x或更高版本内核64位”。(实际内核版本为4.14)
命名虚拟机并选择存储位置。
处理器配置选择2核CPU。
推荐内存768 M,还是分2G给它吧。
网络类型先选择“NAT”,因为主机启动后默认地址是192.168.1.1,避免和我的网络冲突。
I/O控制器类型保持默认推荐的“LSI Logic”。
虚拟磁盘类型跟转换的镜像保持一致,选择“IDE”。
磁盘选择“使用现有虚拟磁盘”。
选择刚才转换好的vmdk文件。
这中间可能会提示更新磁盘格式,我选择了“转换”。
确认虚拟机配置,没有问题的话,点击“完成”即可。
直接启动虚拟机,启动保持默认选项即可。
注意,软件启动页面到下面这个界面就已经启动完成了,但是不会自动进入系统。
按一下回车即可。
可以看到启动欢迎页面显示的“OpenWrt”字样,以及版本号19.07.7。并且提示说明当前的root账号没有密码,可以使用passwd命令设置新密码。
命令和Linux相似,可以看到接口eth0下没有地址,被切换成了二层口,二层口br-lan的地址是192.168.1.1,需要修改。
查看主机网卡地址,有VMnet1和VMnet8两个地址,其中VMnet1是Host-Only网络使用的,VMnet8是NAT网络使用的。
所以我们要将网卡地址修改为VMnet8所在的192.168.237.1/24这个网段,比如修改成192.168.237.101/24。配置文件在“/etc/config/network”,使用vi命令即可修改。
修改完成后,执行命令重启网络服务。
/etc/init.d/network restart
然后就可以使用地址192.168.237.101登录OpenWrt了。当然,因为没有设置root密码,所以可以直接登录。
登录成功后,默认页面是系统信息概览,有系统信息、内存、网络、DHCP和DHCPv6的状态显示,
赶紧在“system”→“Administration”下面设置一下密码,要求最小长度为6位。
状态中的防火墙状态“Firewall Status”,没想到特性这么高级。
状态中的路由信息“Routes”。
系统日志“System Log”。
内核日志“Kernel Log”。
进程信息“Processes”。
还可以查看设备的实时负载、流量、连接等信息,如下是接口的流量信息。
系统选项中有通用设置(设置NTP参数),日志、时间同步服务器和语言选项,当然,默认的语言只有英文,风格也只有“Bootstrap”。
“Administration”页面,除了刚才设置密码的页面,还有SSH接入的设置。
软件“Software”页面,据说从这里可以安装各种软件包。
启动“Startup”页面,从“Local Startup”中,还可以设置开启自动执行的命令信息。
计划任务“Scheduled Tasks”,可以定义系统计划任务的crontab。
固件操作“Flash operations”,就是固件升级、重置和备份。
还有一个就是重启“Reboot”。
接口设置“Interfaces”,目前只有一个接口。
DHCP和DNS设置,这个页面还可以配置TFTP服务器等功能。
主机域名“Hostnames”配置,做DNS服务器单独加一个,很好使。
静态路由“Routes”设置。
防火墙“Firewall”设置,这里还有安全域的概念,而且还在这个页面,还可以设置NAT等规则。
网络诊断diagnostics“Network Utilities”功能,支持双栈的ping、traceroute、nslookup功能。
可以可以,太优秀了。