PVE8 安装 OpenWrt 作为其他虚拟机的代理

clearmind
38
2024-12-31

ALL IN BOOM

一、创建虚拟机OpenWrt

1、固件下载

使用大佬编译好的固件:https://openwrt.mpdn.fun:8443/?dir=lede%2Fx86_64

建议使用plus版本,更加省心

2、创建步骤

2.1、创建虚拟机

  • 1、名称 自定义

  • 2、操作系统 选择不使用介质

  • 3、系统 默认

  • 4、磁盘 选择删除,如果需要扩展存储可以加上,只做网关则直接去掉

  • 5、CPU 选择合适的核心,选择2C足够了,类别选择host

  • 6、内存 默认2G,按需修改

  • 7、网络 不改变

  • 8、确定配置是否正确

2.2、上传镜像并导入

1、上传之前下载好的固件到pve的镜像目录

存储local(pve) ->ISO镜像

2、进入到pve的shell下执行转化命令

qm importdisk 101 /var/lib/vz/template/iso/bleachwrt-plus-20241030-x86-64-generic-squashfs-combined-efi.img local-lvm

  • 101为虚拟机id

  • /var/lib/vz/template/iso/bleachwrt-plus-20241030-x86-64-generic-squashfs-combined-efi.img 为镜像路径

修改上面两点即可,然后回车执行

2.3、设置开机引导

执行导入命令后,在pve虚拟机的 硬件 下能看到一个 未使用的硬盘,选择它,再点击上方的 编辑,然后 导入 就行

再点击左侧的 选项 目录,右侧找到 引导顺序 ,双击编辑,将导入的硬盘拖到第一位,勾上启用,保存

至此虚拟机就创建完成

3、OpenWrt配置

建议创建快照,避免配置错误导致从头来过😭

3.1、配置ip

开机进去虚拟机,等等一会的跑码结束后,回车输入vi etc/config/network

修改ip,并添加上网关和dns,避免待会连不上网络,主要修改点如下,其他不用修改

config interface 'lan'
        option ifname 'eth0'
        option ipaddr '192.168.31.97'
        option gateway '192.168.31.1'
        list dns '114.114.114.114'

修改后保存输入 reboot 重启使配置生效

3.2、配置v2ray

浏览器访问之前配置的ip 192.168.31.97 ,默认用户名密码是 root/password,可以后续自行修改。打开界面后在 服务 下找到 ShadowSocksR Plus+,导入配置和启用即可

二、使用

以Debian12的桌面版为例子

无图形界面时参考下面的脚本,将会修改为如上所示的效果

#!/bin/bash

# 定义网络接口名称 在默认的/etc/network/interfaces 中能看到使用的网络接口名称,对应修改即可
INTERFACE="ens18" 

# 定义新的IP地址、子网掩码和网关
NEW_IP="192.168.31.76"
NEW_NETMASK="255.255.255.0"
NEW_GATEWAY="192.168.31.97"

echo "开始修改网络配置"

# 备份当前的网络配置文件
cp /etc/network/interfaces /etc/network/interfaces.backup

# 修改网络配置文件
cat <<EOF > /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto $INTERFACE
iface $INTERFACE inet static
    address $NEW_IP
    netmask $NEW_NETMASK
    gateway $NEW_GATEWAY
EOF

# 重启网络服务以应用更改
systemctl restart networking

echo "网络配置已更新并应用。"

echo "开始修改DNS"

cp  /etc/resolv.conf   /etc/resolv.confbak #备份

cat <<EOF > /etc/resolv.conf
nameserver $NEW_GATEWAY
EOF

echo "修改DNS为网关"                                                                                                    

三、测试是否正确

  • traceroute 命令:查看跟踪路由,一般第一个IP会是设置的openwrt的IP

  • curl 命令:使用curl --connect-timeout 5 -s -o /dev/null https://google.com && echo "Success" || echo "Fail" 能联通则返回 Success

  • 待添加

动物装饰