找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 4496|回复: 5

[openwrt(x86)] PVE下使用LXC容器配置openwrt旁路由

[复制链接]
发表于 2023-4-8 11:36 | 显示全部楼层 |阅读模式
本帖最后由 兔子001 于 2023-4-8 11:50 编辑

主路由是JCG-Q20,padavan系统
不考虑openwrt做主路由
同样是针对旁路由的设置做了尝试
先把旁路由遇到的问题测试放上来供参考
都是在网上各处参考了很多资料解决的,直接放上来吧,如果以后有人也碰到了这样的问题方便搜索

问题解决
用作旁路由,我出现了下载速度慢,上传速度慢的问题
在PVE的OpenWrt控制台,修改防火墙(或者在 网络—>防火墙—>自定义规则 里面添加)
  1. vim /etc/firewall.user
复制代码

加入以下配置(eth0就是创建LXC容器时候最后设置的name=eth0)
  1. iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
复制代码

关闭 启用 SYN-flood 防御 (在 网络—>防火墙—>常规设置 里面,这个我开着或者关闭都没遇到什么问题,我觉得不影响,看个人吧,遇到问题的话关闭试试)
重启防火墙
  1. service firewall restart
复制代码

关于上面命令

大意就是做了nat转换,上网数据全部过了一次旁路由,和外界交互全部是旁路由在进行,而不是你的设备(上传下载全部要过旁路由,我使用下来有时候网速不稳定)

如果不想使用这条命令,在网络—>接口,那里添加一个wan口,使用DHCP协议,网卡选择和lan口一样的eth0即可
此时wan口和lan口共用eth0,wan口发出数据时,会自动做SNAT,一样是做了nat转换

再或者直接在 lan——>wan区域的 ,IP 动态伪装 勾选上也是一样的 (一样也是做了nat转换)
当然如果不想设置nat转换规则,主路由性能足够的话,关闭硬件nat,启用shortcut-fe 加速,测试下来也可以解决下载速度慢,上传速度慢的问题(而且网速稳定了)






开始
基于Proxmox VE  7.4
本文主要根据:ProxmoxVE 7.0 LXC下搭建openwrt软路由,完成配置
创建 OpenWrt 容器主要用作旁路由,使用虚拟网卡,所以其它的用不到的部分没有设置

下载
下载需要使用文件名为 rootfs.tar.gz  的镜像
提供两个官方的镜像
可以在 local—>CT模板—>从URL 下载,直接下载到PVE上(下载很慢,也可以下载完后上传上去)
创建LXC
我只分配了一个网口,当作旁路由来用,下面的配置 OpenWrt 也是针对旁路由来配置的
按自己条件修改一下命令,然后在PVE中执行命令即可
  1. pct create 100 \
  2.   local:vztmpl/immortalwrt-21.02.5-x86-64-rootfs.tar.gz \
  3.   --rootfs local-lvm:2 \
  4.   --ostype unmanaged \
  5.   --hostname OpenWrt \
  6.   --arch amd64 \
  7.   --cores 4 \
  8.   --memory 1024 \
  9.   --swap 0 \
  10.   -net0 bridge=vmbr0,name=eth0,gw=192.168.2.1,ip=192.168.2.2/24
复制代码

  • pct create 100:LXC容器的ID,我设置的100
  • local:vztmpl/ 下载或者自己上传的储存路径就在这里,不需要改动,只需要修改后面的文件名,记得带文件扩展名 .gz
  • --rootfs local-lvm:2:根磁盘2G大小,磁盘位置: local-lvm默认不需要改动
  • --ostype unmanaged:系统类型,不需要改动
  • --hostname OpenWrt :容器名OpenWrt,可以自己命名
  • --arch amd64:系统架构,x86设备默认amd64
  • --cores 4:核心数,我直接分配了4个核心
  • --memory 1024 :分配1G内存
  • --swap 0:不分配swap
  • -net0 bridge=vmbr0,name=eth0 :网络配置,为OpenWrt增加网卡eth0,桥接到主机的vmbr0接口

    • gw=192.168.2.1,ip=192.168.2.2/24:修改网关gw为自己的路由器IP,ip自己设置一个没有被占用的IP


创建好之后编辑配置文件
  1. vim /etc/pve/lxc/100.conf
复制代码

新增一行
  1. lxc.include /usr/share/lxc/config/openwrt.common.conf
复制代码



配置 OpenWrt
针对旁路由来配置,需要使用旁路由的设备手动设置网关到旁路由
LXC 容器创建完成之后,直接启动容器
进入控制台,修改一下 lan 口的 ip
  1. vim /etc/config/network
复制代码

默认的是192.168.1.1,给它修改为上面创建时候配置的 192.168.2.2
  1. config interface 'lan'
  2.         option device 'br-lan'
  3.         option proto 'static'
  4.         option ipaddr '192.168.1.1'
  5.         option netmask '255.255.255.0'
  6.         option ip6assign '60'
复制代码

在最后再加上DNS和网关的配置,DNS用的阿里云,网关就是路由器IP
配置好以后的
  1. config interface 'lan'
  2.         option device 'br-lan'
  3.         option proto 'static'
  4.         option ipaddr '192.168.2.2'
  5.         option netmask '255.255.255.0'
  6.         option ip6assign '60'
  7.         list dns '223.5.5.5'
  8.         option gateway '192.168.2.1'
复制代码

重启网络服务
  1. service network restart
复制代码

访问OpenWrt后台:http://192.168.2.2
immortalwrt的默认密码为空,直接登录即可,这时候的OpenWrt应该已经可以正常访问外网了


网页上的一些配置
主要就是设置LAN接口
在网络—>接口
编辑,将设备那里从默认的桥接”br-lan“改为”eth0(lan)“
关闭DHCP服务(DHCP服务器,常规设置,忽略此接口,IPV6设置,RA
服务,
DHCPv6 服务,
NDP
代理
全部禁用


其它设备的设置
修改一下网关和DNS服务器就可以了

如果路由器有使用 dnsmasq,也可以在 dnsmasq 加入配置,指定mac地址使用指定的网关和DNS
padavan设置的话在内网lan,DHCP服务器,[url=]自定义配置文件 "dnsmasq.conf"[/url]
  1. # 设置一个标签OpenWrt,为标签的网关设置为192.168.2.2
  2. dhcp-option=tag:OpenWrt,option:router,192.168.2.2
  3. # 设置一个标签OpenWrt,,为标签的的DNS服务器设置为192.168.2.2
  4. dhcp-option=tag:OpenWrt,option:dns-server,192.168.2.2
  5. # 配置dhcp服务,指定mac地址使用这个标签
  6. dhcp-host = AA:BB:CC:DD:EE:FF,set:OpenWrt
复制代码



发表于 2023-4-8 12:48 | 显示全部楼层
其实pve虚拟op效率很高,lxc模式非必要,用起来无区别

点评

但是对我来说pve的优势就是LXC容器,不折腾LXC容器的话,我觉得ESXI更适合我,没那么折腾  详情 回复 发表于 2023-4-8 14:17
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-8 14:17 | 显示全部楼层
await 发表于 2023-4-8 12:48
其实pve虚拟op效率很高,lxc模式非必要,用起来无区别

但是对我来说pve的优势就是LXC容器,不折腾LXC容器的话,我觉得ESXI更适合我,没那么折腾
回复 支持 反对

使用道具 举报

发表于 2023-4-15 23:01 | 显示全部楼层
老哥,openwrt内存显示错误怎么办
分配了2g显示总数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-12 17:33 | 显示全部楼层
更新一下,最新使用的命令
主要是按照其它lxc模板调整了一下,嵌套和特权容器,然后在宿主机执行 dmesg | grep error,再也没看到过挂载没有权限报错的问题了,遇到的不定时出现防火墙启动失败,无法进入管理后台的问题也没有了,稳定运行一个月
其它的就是还是按照网上的来吧,需要zerotier或者tailscale自己加入tun设备,需要拨号加入pppoe设备,默认加入了官方的模板权限,就是
  • lxc.include /usr/share/lxc/config/openwrt.common.conf

实际有没有用处不清楚
  1. pct create 100 \
  2.   local:vztmpl/immortalwrt-21.02.6-x86-64-rootfs.tar.gz \
  3.   --rootfs local-lvm:2 \
  4.   --ostype unmanaged \
  5.   --hostname OpenWrt \
  6.   --arch amd64 \
  7.   --cores 4 \
  8.   --features nesting=1 \
  9.   --memory 1024 \
  10.   --swap 0 \
  11.   --unprivileged 1 \
  12.   -net0 bridge=vmbr0,name=eth0,gw=192.168.31.1,ip=192.168.31.2/24
复制代码


回复 支持 反对

使用道具 举报

发表于 2023-11-1 18:06 | 显示全部楼层
感谢兔哥,我也是用的lxc,按照你的设置运行没发现问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-7-1 18:25

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表