Esxi安装Openwrt配置旁路由

Esxi安装Openwrt配置旁路由

esxi配置旁路由过程记录。

下载Openwrt固件

在谷歌上搜索了一下,国内用的人较多且更新频繁的Openwrt固件仓库。

https://github.com/sirpdboy/openwrt

但是提供的镜像格式是img,并不是Esxi直接支持的ISO,所以下载后需要先自行转换一下。

qemu-img转换镜像格式

使用qemu-img工具将img转换出的vmdk虚拟磁盘,在VMware Workstation中可以直接使用,但是在ESXi中无法使用,需要使用vmkfstools再次转换成ESXi可以识别的格式。

这里我先将img.gz文件下载到Linux系统中转换。

yum -y install qemu-img
qemu-img convert -f raw openwrt.img -O vmdk openwrt.vmdk

然后上传到esxi。

使用vmkfstools再次转换(第二次转换),用ssh连接到esxi的控制操作。

[root@localhost:~] cd /vmfs/volumes/6761a660-50355896-6a78-ac1f6be82bbe
[root@localhost:/vmfs/volumes/6761a660-50355896-6a78-ac1f6be82bbe] ls
ISO         clickhouse  gitlab      kali        openwrt     win10-test
[root@localhost:/vmfs/volumes/6761a660-50355896-6a78-ac1f6be82bbe] cd ISO/
[root@localhost:/vmfs/volumes/6761a660-50355896-6a78-ac1f6be82bbe/ISO] vmkfstools -i openwrt.vmdk -d thin openwrt_lan.vmdk
Destination disk format: VMFS thin-provisioned
Cloning disk 'openwrt.vmdk'...
Clone: 100% done.
[root@localhost:/vmfs/volumes/6761a660-50355896-6a78-ac1f6be82bbe/ISO] ls openwrt*
openwrt.vmdk           openwrt_lan-flat.vmdk  openwrt_lan.vmdk

转换后有两个文件,一个是openwrt_lan.vmdk,此时它实际上只是一个配置文件,如果感兴趣查看一下里面的参数;另一个是openwrt_lan-flat.vmdk,这个才是虚拟磁盘文件。

创建Openwrt虚拟机

CPU和内存分别都选1G就够用了。然后启动

然后其他都可以在Openwrt的web界面中去配置了。

Openwrt配置旁路由

配置旁路由的核心就一句话: 修改网关地址

家用路由器设置的默认网关地址就是家用路由器自己的ip地址,配置旁路由的核心步骤就是将设备的默认网关地址改为 Openwrt的IP地址。

流量的流向是:

终端设备 -> Openwrt -> 家用路由器

修改网卡配置

Openwrt的网关地址还是路由器。

因为我们只是用Openwrt作为旁路由,所以dhcp的功能还是让主路由来负责。

修改防火墙设置

ip动态伪装一定要打开。

开启SmartDNS

使用Openwrt为的是局域网设备免配置科学上网。一定要开启SmartDNS,对于国外的域名用国内的DNS服务器是无法解析访问的。

启用后拉到最下面保存应用即可。

配置Openclash

然后在运行状态中启用。

点击Dashboard控制面板可以手动选择节点。

手动修改设备的网关地址

对于Macos,在WiFi中点击当前WiFi详细信息手动配置ip。

然后配置DNS服务器。

客户端上不用配置代理也可以科学上网了。

修改主路由dhcp将网关指向Openwrt

这种方式相当于不用每次在设备上手动去修改网关地址,我看网上的视频别人的路由器是有这个功能的,但是我工位上的华为路由器不支持这个功能,那就算了。

我们可以用命令一键修改,其中的ip改为你的Openwrt的ip。

# 一键修改网关和DNS,支持centos和ubuntu
sudo ip route del default && sudo ip route add default via 192.168.3.199 && echo "nameserver 192.168.3.199" | sudo tee /etc/resolv.conf

如果想要确认修改是否成功,可以执行:

# 查看网关
ip route show | grep default
# 查看DNS
cat /etc/resolv.conf

注意:这个修改是临时的,重启后会恢复。但是这种方式增加了容错性,即便Openwrt挂掉了,也不会造成整个网络不可用。如果出现错误,可以通过重启网络服务恢复:

# CentOS
sudo systemctl restart network

# Ubuntu
sudo systemctl restart NetworkManager

总结

配置好旁路由后,就可以一劳永逸了,不用每次都在不同机器上配置科学上网代理,什么docker、yum、apt、npm通通不用管了。极大提升工作效率。

赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论