找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1913|回复: 4

[openwrt(x86)] pve lxc安装的openwrt拨号提示NO_KERNEL_SUPPORT,尝试多个固件都拨不上

[复制链接]
发表于 2023-2-19 17:09 | 显示全部楼层 |阅读模式
本来想用lxc容器创建一个openwrt性能更好,网速能更直通差不多,但是尝试了好几个openwrt固件wan口点连接都没反应,有些则固件提示NO_KERNEL_SUPPORT或Network device is not present

安装按照百度的教程如下
1.gunzip解压
2.挂载镜像到文件夹mount -o loop xxx.squashfs-rootfs.img openwrt
3.打包pve模板tar czf openwrt-rootfs.tar.gz -C ./op .
4.制作好的模板复制到PVE的CT模板目录/var/lib/vz/template/cache
5.创建lxc容器
pct create 119 local:vztmpl/openwrt-01.10.2023-x86-64-generic-rootfs.tar.gz --rootfs local:4 --ostype unmanaged --hostname OpenWrt5 --arch i386 --cores 2 --memory 1024 --swap 0 --onboot yes -net0 bridge=vmbr0,name=eth0      
6.改lan口IP,添加wan口为eth1
7.设置wan口pppoe拨号,试了很多固件都用不了
每个固件都是一样拨号拨不上,让我怀疑到底是不是我下载的包不对(下载的包有generic-ext4-rootfs,squashfs-combined,generic-squashfs-combined,generic-squashfs-rootfs,后缀),还是安装方式不对,请各位大神解答一下,万分感谢!
发表于 2023-2-19 21:50 | 显示全部楼层
容器默认不加载ppp tun tap这些设备
你还得编辑容器配置文件,在里面开启加载才行

https://blog.csdn.net/kangzeru/article/details/115373587

你看下这个教程,照着它配置一下
需要根据自己实际情况修改的帖子也说明了,注意一下

点评

大佬,按你发的链接做了如下操作,wan口能拨上号但还是不能上网,把wan口指定给lxc容器之后原来能上网的lvm openwrt也不能拨号了,是不是要取消指定wan口才能恢复正常 1. 修改容器配置文件 # openwrt.common.conf  详情 回复 发表于 2023-2-26 16:55
好的,我试试,多谢大佬指点  详情 回复 发表于 2023-2-23 21:39
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-23 21:39 | 显示全部楼层
lovecrayfish 发表于 2023-2-19 21:50
容器默认不加载ppp tun tap这些设备
你还得编辑容器配置文件,在里面开启加载才行

好的,我试试,多谢大佬指点
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-26 16:55 | 显示全部楼层
lovecrayfish 发表于 2023-2-19 21:50
容器默认不加载ppp tun tap这些设备
你还得编辑容器配置文件,在里面开启加载才行

大佬,按你发的链接做了如下操作,wan口能拨上号但还是不能上网,把wan口指定给lxc容器之后原来能上网的lvm openwrt也不能拨号了,是不是要取消指定wan口才能恢复正常

1. 修改容器配置文件
# openwrt.common.conf是PVE自带的openwrt配置文件示例,内含一些基本设置
lxc.include: /usr/share/lxc/config/openwrt.common.conf
# /dev/ppp  pppoe拨号等功能需要用到
lxc.cgroup.devices.allow: c 108:0 rwm
# 钩子脚本,用于添加 /dev/ppp等设备
hookscript: local:snippets/hookscript.pl
# 将主机的网卡enp4s0分配给容器使用,根据自己的实际情况更改
lxc.net.1.type: phys
lxc.net.1.link: enp4s0
lxc.net.1.flags: up
2. 创建钩子脚本
这里在官方示例guest-example-hookscript.pl的基础上进行修改,大家可以根据需要自行修改

mkdir /var/lib/vz/snippets
cp /usr/share/pve-docs/examples/guest-example-hookscript.pl /var/lib/vz/snippets/hookscript.pl
vim /var/lib/vz/snippets/hookscript.pl
在第36行可以找到以下内容

    # Second phase 'post-start' will be executed after the guest
    # successfully started.
   
    print "$vmid started successfully.\n";
修改为

    # Second phase 'post-start' will be executed after the guest
    # successfully started.
    system("lxc-device add -n $vmid /dev/ppp");
    system("lxc-device add -n $vmid /dev/net/tun");
    print "$vmid started successfully.\n";
由于PVE7.0 默认采用cgroupv2,缺少对系统类型为unmanaged的容器支持,会出现以下错误

run_buffer: 316 Script exited with status 1
lxc_init: 816 Failed to run lxc.hook.pre-start for container "100"
__lxc_start: 2007 Failed to initialize container "100"
startup for container '100' failed
解决方法是修改/usr/share/perl5/PVE/LXC/Setup.pm文件

vim /usr/share/perl5/PVE/LXC/Setup.pm
翻到最后,可以看到以下内容

sub unified_cgroupv2_support {
    my ($self) = @_;
    $self->protected_call(sub {
    $self->{plugin}->unified_cgroupv2_support();
    });
}
修改为

sub unified_cgroupv2_support {
    my ($self) = @_;
    return if !$self->{plugin}; # unmanaged
    $self->protected_call(sub {
    $self->{plugin}->unified_cgroupv2_support();
    });
}
回复 支持 反对

使用道具 举报

发表于 2023-2-26 17:46 | 显示全部楼层
q784475002 发表于 2023-2-26 16:55
大佬,按你发的链接做了如下操作,wan口能拨上号但还是不能上网,把wan口指定给lxc容器之后原来能上网的l ...

你别完全照着抄啊....人家不是说了有些地方得根据自己情况来修改吗?
那个把网口分配给lxc,相当于是直通了
你都把它直通给lxc了,那别的虚拟机肯定不能再用这个网卡了
你把wan连的那个物理口绑定到一个新建的vmbr1或者vmbr2之类的
然后把vmbr1分配给虚拟机和lxc用,这样就都不影响了
至于你拨号以后还不能上网,应该是还有别的地方设置的不对
我得知道你那边的详细配置情况才行
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-6-16 12:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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