逛B站的时候,看到有大佬说通过旁路由出国留学。刚好这两天帮朋友注册过Gmail账户,体验了出国留学的畅快,就想着怎么样通过现有的设备搭建一个旁路由,使自己能够出国留学。
之前帮朋友注册Gmail账户时,是花了16块钱买了一把梯子,要不然是无法成功的。
这么爱折腾的我,怎么会放过这个机会呢。
其实,旁路由应该叫旁路网关,就是一个网关,这个网关具有什么样的功能,就决定了上网的时候能够拥有什么样的能力。比如,去广告,出国留学等等。openwrt在路由器固件中的名声是比较大的,因为插件多,可扩展的功能就多,做旁路网关的话就挺不错的。所以就打算先试试这个openwrt,看看能不能科学上网,也就是我说的出国留学。
通过度娘查了一下,看到在virtualbox虚拟机中也可以安装openwrt,就打算试一下。
先从openwrt的官网下载X86的固件,网上找到大佬的文章,提供的下载地址是19.07.6的:
https://downloads.openwrt.org/releases/19.07.6/targets/x86/64/
openwrt官网已经更新到22.03.3了,但是为了保证跟大佬教程一致,方便排查问题,还是下载了19.07.6的版本。下载的时候因为有好几个文件,一开始不知道要下载哪个,后来看到教程中转换文件格式的时候文件名是:openwrt-19.07.6-x86-64-combined-ext4.img,这才知道要下载combined-ext4.img.gz的这个文件。
下载好了之后要用virtualbox进行文件格式的转换。在CMD命令行中执行如下命令:
vboxmanage.exe convertfromraw --format VDI openwrt-19.07.6-x86-64-combined-ext4.img openwrt.vdi
命令的意思是将openwrt-19.07.6-x86-64-combined-ext4.img文件转换成openwrt.vdi文件。
这里有个坑,vboxmanage.exe这个命令是不能像linux中一样随便在哪里就能执行的,必须要切换到virtualbox的安装目录下才能执行,还有就是openwrt-19.07.6-x86-64-combined-ext4.img文件前面也需要带上路径,包括转换后的openwrt.vdi文件,也要跟openwrt-19.07.6-x86-64-combined-ext4.img文件在相同的路径下。
比如,我把openwrt-19.07.6-x86-64-combined-ext4.img文件放在E盘根目录下,那么转换的命令就是这样:
vboxmanage.exe convertfromraw --format VDI E:\openwrt-19.07.6-x86-64-combined-ext4.img E:\openwrt.vdi
调整一下openwrt.vdi文件的容量大小:
vboxmanage.exe modifyhd --resize 512 E:\openwrt.vdi
先在E盘建立一个VBOX的文件夹,专门用来放虚拟机的文件。再建一个WRT的文件夹,用来放WRT这个虚拟机的文件。这个文件夹的名字可以自定义,只要自己知道就行。把openwrt.vdi文件复制到WRT文件夹下。
弄好了之后就通过virtualbox虚拟机加载。说到virtualbox虚拟机,个人感觉还是蛮好用的,免费开源,下载安装就能用。以前也用过VMware Workstation,因为是收费软件,折腾了很久,感觉很不爽,所以后来一直就用的virtualbox这个虚拟机软件了。所以,我电脑上一直都有安装,版本是6.1,官方已经到7.0了,也懒得升级。
打开虚拟机之后,先新建一个虚拟机。
类型:Linux
版本:linux 2.6 / 3.x / 4.x (64 位)
内存大小:128 MB
硬盘:把openwrt.vdi文件加载进去
网卡1:桥接网卡
网卡2:桥接网卡
做路由的话至少要两块网卡。
创建好了之后就开始运行,等待系统加载完之后,文字不再滚动了,按回车键,就进入了openwrt系统。
执行命令修改root用户密码:
passwd
使用ifconfig命令查看网卡状态,如果有内网ip地址出现,比如192.168.2.8这样的,就说明可以上网。
ping www.baidu.com
ping一下百度的域名,如果能ping通说明上网没有问题,如果ping不通,就要自己配置网络,一般情况下来说,只要在虚拟机启动之前,把网卡配置好了,上网应该是没有问题的。
可以正常上网了就开始更新软件包和安装WEB Ui
更新 openwrt 软件包
opkg update
安装 luci web ui
opkg install luci
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start #(启动http服务,使用NAT端口转发)
/etc/init.d/firewall stop #(关闭防火墙)
操作完之后reboot重启一下
然后配置网络:
vi /etc/config/network
config interface 'lan'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.2.20'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '192.168.2.1'
option dns '192.168.2.1'
主机的网段是192.168.2.*这个网段,所以openwrt的网段也是配置的这个。配置完之后重启一下网络:
service network restart
然后就可以通过192.168.2.20这个IP地址访问到openwrt了。
在配置虚拟机的时候有个坑,两个网卡的配置我看网上的大佬有的配置的是网卡1网络地址转换(NAT),网卡2桥接。有的是网卡1仅主机网络(host-only),网卡2网络地址转换(NAT)。这两种方式我都没有成功,配置完之后访问不到openwrt,后来我想了一下,两个网卡都用桥接,都在同一个网段应该可以吧,这样操作终于成功了。
最新版本的安装成功之后是英文界面,需要安装中文包。中文包可以在官网找到。
https://downloads.openwrt.org/releases/22.03.3/packages/x86_64/luci/
luci-i18n-base-zh-cn_git-23.021.35986-09d68fb_all.ipk这个文件就是中文包了。安装的话就只要执行:
opkg install luci-i18n-base-zh-cn
如果报错,就执行一下:
opkg update
然后重新安装:
opkg install luci-i18n-base-zh-cn
安装完成之后,刷新一下openwrt界面,就是中文了。
不知道是什么插件的问题,总是导致WEB界面崩溃。
后来又找到了别的openwrt的固件,比官方的默认固件要好用,毕竟是经过本地化修改的。
下载地址:https://openwrt.mpdn.fun:8443
下载安装这个固件的话,除了需求转换一下格式,把img转换为vdi格式之外,调整容量也不需要弄,包括后面的luci也不需求安装,直接就是中文的,如果是下载的plus版的,就什么插件都有了。如果机器性能比较一般,就下载mini版的,也就是精简版,没有插件,自己按需求安装。
建立虚拟机的时候可以配置一块网卡,也可以配置两块网卡,而且貌似openwrt里面的网络设置都不需要配置网关和DNS,只要修改了LAN口的ip地址就行。
想要科学上网的话,就必须有免费的节点可用,或者自己用境外的服务器搭建通道(这种据说是违法的,必须要有三大电信运营商的允许,才能搭建通道),要不然是无法科学上网的。