[{"content":"无需硬件！手把手教你在VMware上安装软路由，实现校园网多设备共享上网！ 写这一篇文章是为了防止学校的校园网以后使用别的防检测手段，到时怕忘了如何编译OpenWrt\n‍本文绝大部分参考以下两位up主的视频，在这里万分感谢！！！\n【正片】面对校园网的多设备检测，「我」的解决方案是——\n校园网防检测！软路由固件编译教程\n1.搭建本地编译环境 1.1 下载Ubuntu镜像，推荐Ubuntu20.04.05 LTSx64 1 https://cn.ubuntu.com/download/desktop ​​\n​​\n​​​​\n​​\n1.2 安装ubuntu虚拟机 以VMware Workstation 16 Pro 16.2.4版本为例，新建虚拟机，选择自定义选项\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\nPS：如果你要安装很多插件建议最低保持100G\n​​\n​​\n​​\n添加Ubuntu系统镜像\n​​\n​​\n​​\n​​\n​​​​​\n安装完成之后，打开软件与更新，将下载自（位于中国的服务器）修改为阿里云的地址，下载快点，也可以不修改。\n​​\n安装完测试一下宿主机能不能和ubuntu虚拟机进行直通，后面会需要复制粘贴命令行到终端，如果能复制粘贴命令行到ubuntu虚拟机中，则跳过安装vmware tools（以下三行）\n1 2 3 sudo apt upgrade sudo apt install open-vm-tools-desktop -y sudo reboot 1.3 配置编译环境 按Ctrl+Alt+T快捷键在终端输入以下命令\n1 2 sudo apt update sudo apt upgrade -y 执行完毕输入\n1 sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc-s1 libc6-dev-i386 subversion flex uglifyjs gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx-ucl libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync 从这一步开始开启网络代理，否则有的文件无法下载\n下载lede大佬的源码，注意下载路径不能有中文\n1 git clone https://github.com/coolsnowwolf/lede 无法下载的话设置一下git代理\n1 2 git config --global --unset http.proxy git config --global --unset https.proxy 进入lede目录\n1 cd lede 拉取校园网防检测所需要的模块\n1 2 git clone https://github.com/EOYOHOO/UA2F git clone https://github.com/EOYOHOO/rkp-ipid.git package/rkp-ipid 然后进入lede源码的根目录中添加下面代码到feeds.conf.default 文件\n1 2 src-git kenzo https://github.com/kenzok8/openwrt-packages src-git small https://github.com/kenzok8/small 更新 feed 模块，终端输入\n1 2 ./scripts/feeds update -a ./scripts/feeds install -a 2. 本地编译.config 打开编译菜单，在终端输入\n1 make menuconfig 前三项选择以下选项(VMware是x86架构，所以咱们选x86的)\n‍\n以下为校园网防检测必选\n1 2 3 4 5 6 7 8 9 10 11 12 # 勾选上 ipid # kernel-modules-\u0026gt;Other modules-\u0026gt;kmod-rkp-ipid # 选上模块 # kernel modules-\u0026gt;Netfilter Extensions-\u0026gt;kmod-ipt-ipopt # kernel modules-\u0026gt;Netfilter Extensions-\u0026gt;kmod-ipt-u32 # 勾选上 ua2f # network-\u0026gt;Routing and Redirection-\u0026gt;ua2f # 选上模块 # network-\u0026gt;firewall-\u0026gt;iptables-mod-conntrack-extra # network-\u0026gt;firewall-\u0026gt;iptables-mod-filter # network-\u0026gt;firewall-\u0026gt;iptables-mod-ipopt # network-\u0026gt;firewall-\u0026gt;iptables-mod-u32 根据自己喜好选择插件，然后保存退出\n插件参考链接：Applications 添加插件应用说明-L大\n‍\n3. 本地编译openwrt固件 下载 dl 库，在终端输入\n1 make download -j8 开始编译固件，在终端输入 （-j 后面是线程数，第一次编译推荐用单线程）\n1 make V=s -j1 编译完成后镜像包输出路径：lede/bin/targets\n然后这里会有两个镜像文件分别是：openwrt-x86-64-generic-squashfs-rootfs.img.gz和openwrt-x86-64-generic-squashfs-combined.img.gz，\n选择导出：openwrt-x86-64-generic-squashfs-combined.img.gz\n如果第一次编译失败，进入虚拟机进行二次编译\n1 2 3 4 5 cd lede rm -rf ./tmp \u0026amp;\u0026amp; rm -rf .config git pull ./scripts/feeds update -a \u0026amp;\u0026amp; ./scripts/feeds install -a make menuconfig 4. 在线编译openwrt固件 使用github Actions功能编译固件 此方法需要有github账号，将P3TERX项目拉到自己账号仓库\n参考视频：校园网防检测！软路由固件编译教程——利用github编译openwrt固件\nPS：GitHub Actions是有限制的，安装很多插件可能会导致编译失败，不过安装文章里的插件是可以编译成功的，详情请看：GitHub Actions 官方文档-使用限制、计费和管理\n​​​\n然后编辑拉取到自己仓库下diy2脚本，添加ua2f和rkp-ipid模块\n​​\n1 2 git clone https://github.com/EOYOHOO/UA2F.git package/UA2F git clone https://github.com/EOYOHOO/rkp-ipid.git package/rkp-ipid 在虚拟机进入lede目录，将feeds.conf.default文件和 .config文件导出虚拟机\n​​\n以记事本打开.config文件按Ctrl+F查找Netfilter Extensions关键词，在Netfilter Extensions下第二行后添加代码，保存\n​​\n1 CONFIG_NETFILTER_NETLINK_GLUE_CT=y 上传feeds.conf.default文件和 .config文件\n​​​\n查看一下是否上传完毕\n​​\n开始编译\n​​\n当出现这个界面时，Actions已经开始编译，编译时间4-6小时（插件越多编译时间越长）\n​​\n报错的话，到Ubuntu虚拟机上重新编译一次\n‍\n5. 刷入openwrt系统 5.1 镜像转换 将编译好的固件包导出来，使用 StarWind V2V Converter 将img镜像文件转换为vmdk格式\nStarWind V2V Converter下载地址：https://www.starwindsoftware.com/tmplink/starwindconverter.exe\n​​​​​​​\n5.2 创建虚拟机并导入固件 以VMware Workstation 16 Pro 16.2.4版本为例，新建虚拟机，选择自定义选项\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n​​\n此时先不要开机，在创建好的虚拟机点击编辑虚拟机设置，添加另一个网络适配器 网络适配器NAT做lan(第一个不用改，Openwrt默认将第一个网口设置为lan口)，网络适配器2桥接模式(自动)做wan口 ​​​​\n5.3 虚拟机网卡配置 点击虚拟网络编辑器，将桥接模式的网卡修改为计算机的物理网卡（当作openwrt的wan口）然后将NAT模式的nat地址这里划分为192.168.20.0\n​​​​\n5.4 配置上网环境 宿主机通过虚拟机中的Openwrt上网 该方案原理是OpenWrt作为主路由，VMware的虚拟机和宿主机的数据流量都是要通过OpenWrt，取消宿主机物理网卡的ipv4和ipv6，使OpenWrt虚拟机的WAN口桥接到了物理网卡上，接管了IP层的工作，此时，宿主机通过NAT模式虚拟网卡连接到OpenWrt虚拟机LAN口通过OpenWrt上网\nwan口（就是你要桥接的物理网卡）\n​​\nlan口（配置VMware Network Adapter VMnet8）\n​​\n6. 配置OpenWrt 6.1 防检测配置 开机进入OpenWrt系统设置, 勾选启用NTP客户端和作为NTP服务器提供服务\n在候选NTP服务器四个输入框分别填写：ntp1.aliyun.com、time1.cloud.tencent.com、stdtime.gov.hk 、pool.ntp.org\n然后保存并应用\n6.2 防火墙添加一下自定义规则 点击网络\u0026ndash;防火墙\u0026ndash;自定义规则，添加以下规则\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53 iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53 #通过rkp-ipid设置IPID #若没有加入rkp-ipid模块，此部分不需要加入 iptables -t mangle -N IPID_MOD iptables -t mangle -A FORWARD -j IPID_MOD iptables -t mangle -A OUTPUT -j IPID_MOD iptables -t mangle -A IPID_MOD -d 0.0.0.0/8 -j RETURN iptables -t mangle -A IPID_MOD -d 127.0.0.0/8 -j RETURN #由于本校局域网是A类网，所以我将这条注释掉了，具体要不要注释结合你所在的校园网 iptables -t mangle -A IPID_MOD -d 10.0.0.0/8 -j RETURN iptables -t mangle -A IPID_MOD -d 172.16.0.0/12 -j RETURN iptables -t mangle -A IPID_MOD -d 192.168.0.0/16 -j RETURN iptables -t mangle -A IPID_MOD -d 255.0.0.0/8 -j RETURN iptables -t mangle -A IPID_MOD -j MARK --set-xmark 0x10/0x10 # 防时钟偏移检测 iptables -t nat -N ntp_force_local iptables -t nat -I PREROUTING -p udp --dport 123 -j ntp_force_local iptables -t nat -A ntp_force_local -d 0.0.0.0/8 -j RETURN iptables -t nat -A ntp_force_local -d 127.0.0.0/8 -j RETURN iptables -t nat -A ntp_force_local -d 192.168.0.0/16 -j RETURN iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destinatio # 通过 iptables 修改 TTL 值 数字为需要的修改的 ttl 值 iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64 #iptables 拒绝 AC 进行 Flash 检测 iptables -I FORWARD -p tcp --sport 80 --tcp-flags ACK ACK -m string --algo bm --string \u0026#34; src=\\\u0026#34;http://1.1.1.\u0026#34; -j DROP 6.3 UA2F配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 开机自启 uci set ua2f.enabled.enabled=1 # 自动配置防火墙(默认开启) (建议开启) uci set ua2f.firewall.handle_fw=1 uci set ua2f.firewall.handle_tls=1 uci set ua2f.firewall.handle_mmtls=1 uci set ua2f.firewall.handle_intranet=1 # 保存配置 uci commit ua2f # 开机自启 service ua2f enable # 启动 ua2f service ua2f start # 重启一下设备 reboot ‍‍然后这里有两个骚操作可以为其他设备提供网络：\n方法一：电脑上下载360免费WIFI，开启WIFI，这里有几率无法创建无线网络，可以以校园网模式运行，（注意使用此方法开热点，网速就看你学校网络质量了，我这边白天用好到爆，晚上的时候卡成狗，玩游戏都玩不了）\n方法二：将电脑的网络桥接给路由器（此步骤要有一个路由器和网线）打开网络控制面板\u0026mdash;网络和Internet\u0026mdash;网络和共享中心\u0026mdash;更改适配器设置\u0026mdash;然后按住Ctrl键选择VMware Network Adapter VMnet8和电脑的有线物理网卡(如图)，选择桥接连接。然后进入路由器改为桥接模式，然后可以多设备上网了！！！\n​​\nua检测网站（有可能显示不正确，但能使用） http://ua.233996.xyz/\n‍\n注： 如果你手上有X86硬路由或者可以刷机的路由器 (如：红米AC2100)，可以在(2.本地编译.config)打开编译菜单时将前三项修改成你的路由器相关信息，在编译完成openwrt固件后导出虚拟机，通过U盘将镜像上传到你的设备\n参考资料 ‍\n【正片】面对校园网的多设备检测，「我」的解决方案是——\n校园网防检测！软路由固件编译教程\nVMware安装OpenWrt虚拟机让宿主机上网\nVMware安装OpenWrt让宿主机上网\u0026amp;旁路由（两种方案）\n‍\n","date":"2024-10-23T00:15:00Z","image":"https://12356990.github.io/bk/assets1/2.jpg","permalink":"https://12356990.github.io/bk/p/%E6%97%A0%E9%9C%80%E7%A1%AC%E4%BB%B6%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E4%BD%A0%E5%9C%A8vmware%E4%B8%8A%E5%AE%89%E8%A3%85%E8%BD%AF%E8%B7%AF%E7%94%B1%E5%AE%9E%E7%8E%B0%E6%A0%A1%E5%9B%AD%E7%BD%91%E5%A4%9A%E8%AE%BE%E5%A4%87%E5%85%B1%E4%BA%AB%E4%B8%8A%E7%BD%91/","title":"无需硬件！手把手教你在VMware上安装软路由，实现校园网多设备共享上网!"},{"content":"2024 最新版，免费下载安装 VMware 虚拟机 视频链接：免费下载安装 VMware 虚拟机保姆级教程，2024 最新版\nVMware CDS 服务器：softwareupdate.vmware.com/cds/vmw-desktop/\nVMware 虚拟机 国内网盘下载：\n123 云盘：www.123pan.com/s/aDE9-toryh\n百度网盘：pan.baidu.com/s/1UlDy_3ua9xneyJPJMla2pg?pwd=0000 提取码：0000\n‍\n","date":"2024-10-01T22:41:09Z","image":"https://12356990.github.io/bk/assets/mmexport1655893992932.png","permalink":"https://12356990.github.io/bk/p/2024-%E6%9C%80%E6%96%B0%E7%89%88%E5%85%8D%E8%B4%B9%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85-vmware-%E8%99%9A%E6%8B%9F%E6%9C%BA/","title":"2024 最新版，免费下载安装 VMware 虚拟机"}]