PVE虚拟机下安装ikuai、openwrt及配置IPv6
本文最后更新于:2021年9月21日 下午
PVE虚拟机下使用ikuai进行流控,openwrt进行去广告、KMS服务器等高级功能。
2021.9后可参考视频PVE全新奶妈保姆级+爱快+openwrt+黑群晖7.0.1+直通+IPV6+MAC地址
一、 安装PVE
2.1 固件安装
用U盘制作ventoy启动盘后,把PVE官方映像拖到U盘里面。
bios里面使用u盘启动,选择下载的PVE官方映像进行安装。
- 选择安装的磁盘。
- country选择
China
。 - 输入root密码,邮箱随意,可以不输入。
- 网卡默认,hostname设置为你的域名或随意域名,下面的ip按需设置,网关设为
openwrt
的地址,DNS设为114.114.114.114。 - 安装。
2.2 web界面配置
输入https://你的ip:8006/
进入web界面。
点击系统-网络-选择默认网桥(类别为Linux Bridge),双击-桥接端口,把上面的网络设备名称全部添加进去(空格间隔)。
双击网络里面的全部接口-设置为自动启动。
下面更换源和关闭订阅提示。
将下面的代码保存为pve.sh
,拖到PVE
的/root
根目录,chmod +x pve.sh
,./pve.sh
。
1 |
|
2.3 关闭TSO
PS:我用的M73
,因为原生网卡不支持,需要关闭TSO
,如果你的不需要,则忽略此步骤,先安装ethtool,apt install ethtool
,ip link show
查看网口,用ethtool -k vmbr0
查看网口是否开启了TSO,我这边网口是vmbr0。
关闭TSO命令ethtool -K vmbr0 tso off
nano /etc/init.d/tsooff
,编辑开机自动关闭TSO脚本如下
1 |
|
ctrl+O,ctrl+X
保存并关闭编辑
chmod +x /etc/init.d/tsooff
将脚本加入自动执行update-rc.d tsooff defaults
2.4 添加温度显示
命令行安装,需要用root账号来运行
在终端中按行分别执行以下内容:
强烈建议先删除企业源:rm /etc/apt/sources.list.d/pve-enterprise.list
1 |
|
执行后,按提示操作即可。
卸载脚本
删除下载的pvetools
目录
2.5 更改ProxmoxVE的LXC仓库源为国内中科大源
1 |
|
二、 安装ikuai
点击local-内容-上传,上传ikuai官网下载的ISO映像。
创建虚拟机-名称ikuai
-操作系统选择上传的映像
-系统显卡一定要选择VMWARE兼容,否则不能正确显示。-硬盘总线SCSI
,磁盘大小2
-CPU为1核2线程
、高级中启用NUMA
(支持热拔插,不需要则不开启)-内存64位4096
或者32位2048
-网络VirIO(半虚拟化)
-确定。
web界面点击虚拟机100。
硬件-添加-网络设备-选择桥接接口
-模型选VirtIO
-添加。
选项-开机自启动设置为是
。
启动,选择控制台。2
绑定网卡,0
LAN口地址设置。
登录ikuai的web界面。
三、 安装openwrt
3.1 PVE配置
先修改映像名字为 openwrt.img
,再用 winscp
把 openwrt
的映像传到 PVE
的 /root
根目录。
PVE的shell命令行工具中输入如下命令:
映像转换的命令格式为(区分大小写):
qemu-img(转换工具) convert -f raw(-f后面指明原文件格式) -O qcow2(输出格式) openwrt.img openwrt.qcow2
qemu-img convert -f raw -O qcow2 openwrt.img openwrt.qcow2
首先先创建虚拟机101.
PVE的web
界面点击虚拟机101
。
操作系统 -> 不使用任何介质。
系统 -> 默认。
硬盘 -> 随意设置 2G, 之后会删除。
CPU -> 1核2线程
-> 类别 host
。
内存 -> 1024
。
网络 -> 默认。
然后PVE-web
界面分离不用的硬盘:选择刚刚创建的“Openwrt虚拟机” -> 硬件 -> 硬盘(scsi0) -> 点击“分离” -> 点击“删除”。
PVE的shell命令行工具中输入如下命令:
导入磁盘命令格式为(区分大小写):
qm importdisk 101(虚拟机编号) openwrt.qcow2(映像名字) local-lvm(pve存储空间名字)
qm importdisk 101 openwrt.qcow2 local-lvm
选择刚刚创建的“Openwrt虚拟机” -> 硬件 -> 未使用的硬盘0 -> 点击“编辑” -> 总线/设备“SATA” -> 添加。
硬件 -> 硬盘SATA0 -> 调整磁盘大小,增加3
。
(这一条如果不用openwrt拨号可以不设置,我这边没添加)添加-网络设备-选择桥接接口
-模型选VirtIO
-添加。
切换到虚拟机的“选项”选项卡,双击“引导顺序”,第一引导项选“Disk ‘sata0’”。开机自启动设置为是
。
启动虚拟机101,控制台操作如下命令行。
1 |
|
3.2 更改web端口和SSH端口
- 修改uhttpd端口
1 |
|
3.3 网关配置
登录openwrt的web界面。
3.4 在openwrt配置HP1020设置为网络打印机
openwrt安装打印服务器
1、安装USB支持软件包(eSir固件可省略)opkg updateopkg install luci-i18n-base-zh-cn (openwrt安装中文语言包)opkg install kmod-usb-storageopkg install kmod-usb-printer #USB口打印机支持opkg install p910ndopkg install luci-app-p910ndopkg install luci luci-base luci-compat (更新一下luci-compat即可)
2、WEB界面设备选择HP1020,接口未指定,端口默认,双向模式关闭
3、上传固件sihp1020.dl
到路由器/etc/
4、/etc/hotplug.d/usb/10-usb-printer
(替换原有的10-usb_printer文件)(自动加载固件到打印机)
5、网络-防火墙-通信规则,开放9100端口
6、写入语句到路由器启动项中 cat /etc/sihp1020.dl >>/dev/usb/lp0
(路由器在重启后自动加载固件到打印机)
7、PC上添加本地网络打印机,路由器和打印机双向打印都关闭。
四、 配置ipv6
首先在ikuai中网络设置-开启IPv6并设置DHCPv6(很简答,选自动获取,傻瓜操作)。
其次在openwrt中IPv6如此设置 , 参考图片,图片里是WAN
,但我们是二级路由,所以是LAN
:
- 从网络 –> 接口 –> 删除
“IPv6 ULA 前缀”
–> 保存&应用 - 手动添加一个新接口–>
IPV6
-> 协议选DHCPv6客户端
-> 自定义接口:@lan
->提交
- DHCP/DNS –> 高级设置 –>
禁止解析 IPv6 DNS 记录
,取消勾选 - 防火墙 –> 基本设置 中
入站数据、出站数据、转发,全部改为“接受”
-> IP 动态伪装:勾选
-> 区域中 LAN入站数据、出站数据、转发,全部改为“接受”
-> 继续点击修改
(lan口) -> 覆盖网络勾选IPv6、LAN
-> 端口触发勾选IPv6、LAN
- 网络 -> 负载均衡 -> 策略 -> 修改-> 备用成员设为
默认(使用主路由器)
。
五、 修复ikuai状态监控中MAC地址重复的问题
一、进入openwrt后台,系统 – 软件包-刷新列表
二、在过滤器里面搜索SNMP(eSir的固件自带SNMP,不需要单独安装)
在可用安装包里面安装snmpd。
三、安装好后回到爱快配置。高级应用-第三层应用,添加一条
里面SNMP服务器ip:就填入你openwrt的后台地址即可,其他就不用填其他的。
四、现在回到爱快监控里面看,MAC地址已经显示正确了且不重复了。
五:如果安装SNMP
出错,可按下面方法处理(eSir的固件自带SNMP,不需要单独安装):
ssh连接你的OPENWRT
路由,连接后输入以下代码(下载可能有点慢)
1 |
|
六、 双路由如何设置端口转发
情景设置:
爱快:10.10.10.3,它负责PPPoE拨号,负责DHCP,在DHCP上设置了网关为10.10.10.1
openwrt:10.10.10.1,它负责广告屏蔽和其他网络应用,它在内网上设置了静态IP,网关设置为10.10.10.3
方法如下:
- 在爱快路由上设置:内网地址全部设为10.10.10.1(即openwrt的ip)。内网端口就是局域网访问端口,不能重复(比如ikuai内网访问端口为80,我需要外网访问端口为800;openwrt端口改为81,外网访问端口801);外网端口设置为外部访问的端口号(这边iKuai为800,openwrt为801)。
- 在openwrt上设置:外部端口设为局域网访问端口(按上面的例子ikuai就是80,openwrt就是81),内部ip地址为需要访问设备的ip,内部端口设为局域网访问端口(ikuai就是80,openwrt就是81)。(PS:外部区域即源区域,和内部区域都是LAN)
等于是做了两层转发,先从wan口经过ikuai转发到openwrt,然后从openwrt转发到内网需要访问的ip和端口。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!