实验需求
在eveng中添加OpenWrt镜像, 在Openwrt中使能OpenClash服务,使得lab环境中所有连接到openwrt的节点能够访问google服务。
实验拓扑如下图所示:
其中Net是lab的出口网关,本质是Vmware中的虚拟网卡VMnet8(NAT模式), Router1是Openwrt,wan口与Net连接。Client作为终端设备,与Openwrt的lan口连接。
Openwrt部署
在github上找到一个openwrt的qemu镜像,直接按照readme中的方式集成到eveng中,注意需要关闭windows中hyper-v功能。
之后就可以通过网页配置openwrt.
简单配置lan口上的dhcp,使client能够获取到ip.
1 | root@client:/# ifconfig eth0 |
此时client可以正常访问www.baidu.com, 但是无法访问google.
OpenClash部署
这个版本的openwrt中并没有直接集成OpenClash, 按照下面的命令进行安装。
安装iptables及依赖。也可以使用nftables.
1 | opkg update |
下载openclash安装包并安装
1 | wget https://github.com/vernesong/OpenClash/releases/download/v0.47.028/luci-app-openclash_0.47.028_all.ipk -O openclash.ipk |
注意去github上下载最新的版本,不然安装好还要更新。
之后就可以在网页上看到openclash服务。
在配置订阅中添加自己的机场订阅链接.
之后做几处设置:Plugin Setting ——> DNS setting 中关闭 Redirect Local DNS Setting
确保Traffic Control中的Wan interface name列表是空。
外网测试
配置完成之后,openclash页面中的Access Check可以全部pass.
在client上测试能够正常访问google.