找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 115450|回复: 510

[openwrt(x86)] PVE用LXC几乎完美运行openwrt更新无需编译内核支持fullconenat

 火... [复制链接]
发表于 2020-9-29 15:24 | 显示全部楼层 |阅读模式
本帖最后由 skill7899 于 2022-12-7 10:40 编辑



pve lxc op 目前我用到的功能基本上正常,没有集成sfe内核模块,
所以进入op后,请关掉 Turbo ACC 网络加速设置 中 sfe 功能
因为sfe和qos有冲突,我需要用到qos。就没有集成进去,这个功能对软
路来说提升作用不大。跑满万兆网卡的带宽也就省2个点的cpu。

pve lxc op 的性能几乎跟你物理机安装op无差别,下载或者上传东西时
cpu占用很低。不像kvm安装一样,没有流量也会占3-5的cpu,我分配给lxc是2线程
在pve 的小鸡下载东西 op几乎cpu不动,不像kvm那样,两边的cpu占用都飙升


----------------------- 更新日志 开始 -----------------------------------


2022-12-05


建议大家用openwrt官方版本的22以上的,因为该版本的OP是默认nft的防火墙。之前的iptables版本和PVE其实有兼容性问题,导致防火墙重拔号会挂掉。
fullconenat,也可以转用nft版本,不过需要编译OP,加patch,我目前用不上,等我有时间再搞。
https://github.com/Chion82/netfi ... ecomment-1334750384


2021-12-06


用5.11的内核没有以下报错,但是也会立马重启的现像,目前最稳定的还是5.4内核,估计是fullconenat的兼容性问题,4年没有更新
用5.15的内核用dkms编译fullcone并且已经打了补丁,在op开启后,dmesg出现以下信息,运行久了会立马重启。要是启动了系统立马启动op,会直接重启。所以在5.15的内核,fullcone存在问题,估计不兼容
  1. Dec 05 19:23:48 pve kernel: BUG: kernel NULL pointer dereference, address: 0000000000000000
  2. Dec 05 19:23:48 pve kernel: #PF: supervisor instruction fetch in kernel mode
  3. Dec 05 19:23:48 pve kernel: #PF: error_code(0x0010) - not-present page
  4. Dec 05 19:23:48 pve kernel: PGD 80000002d5fb2067 P4D 80000002d5fb2067 PUD 2f0bda067 PMD 0
  5. Dec 05 19:23:48 pve kernel: Oops: 0010 [#1] SMP PTI
  6. Dec 05 19:23:48 pve kernel: CPU: 3 PID: 174208 Comm: nmbd Tainted: P        W  O      5.15.5-1-pve #1
  7. Dec 05 19:23:48 pve kernel: Hardware name: Gigabyte Technology Co., Ltd. H370 WIFI/H370N WIFI-CF, BIOS F15a 01/20/2020
  8. Dec 05 19:23:48 pve kernel: RIP: 0010:0x0
  9. Dec 05 19:23:48 pve kernel: Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
  10. Dec 05 19:23:48 pve kernel: RSP: 0018:ffffb58fa7c27900 EFLAGS: 00010283
  11. Dec 05 19:23:48 pve kernel: RAX: 0000000000000000 RBX: ffff8c4640b06600 RCX: 0000000000000000
  12. Dec 05 19:23:48 pve kernel: RDX: 0000000000000040 RSI: ffffb58fa7c27908 RDI: 0000000000000001
  13. Dec 05 19:23:48 pve kernel: RBP: ffffb58fa7c27920 R08: ffffffffc125fd10 R09: 0000000000000000
  14. Dec 05 19:23:48 pve kernel: R10: 7465646279746573 R11: ffffffffa3e060c0 R12: ffff8c45c934b6c8
  15. Dec 05 19:23:48 pve kernel: R13: ffff8c4648817cc0 R14: ffff8c45ff755e00 R15: ffff8c470135de98
  16. Dec 05 19:23:48 pve kernel: FS:  00007f2641e89d48(0000) GS:ffff8c510f2c0000(0000) knlGS:0000000000000000
  17. Dec 05 19:23:48 pve kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  18. Dec 05 19:23:48 pve kernel: CR2: ffffffffffffffd6 CR3: 00000002eb736005 CR4: 00000000003726e0
  19. Dec 05 19:23:48 pve kernel: Call Trace:
  20. Dec 05 19:23:48 pve kernel:  <TASK>
  21. Dec 05 19:23:48 pve kernel:  nf_ct_expect_event_report+0x93/0xa0 [nf_conntrack]
  22. Dec 05 19:23:48 pve kernel:  nf_ct_expect_related_report+0x427/0x5b0 [nf_conntrack]
  23. Dec 05 19:23:48 pve kernel:  nf_conntrack_broadcast_help+0x149/0x1000 [nf_conntrack_broadcast]
  24. Dec 05 19:23:48 pve kernel:  netbios_ns_help+0x19/0x1b [nf_conntrack_netbios_ns]
  25. Dec 05 19:23:48 pve kernel:  nf_confirm+0x51/0x100 [nf_conntrack]
  26. Dec 05 19:23:48 pve kernel:  ipv4_confirm+0x4a/0x80 [nf_conntrack]
  27. Dec 05 19:23:48 pve kernel:  nf_hook_slow+0x44/0xb0
  28. Dec 05 19:23:48 pve kernel:  ip_mc_output+0x24d/0x2a0
  29. Dec 05 19:23:48 pve kernel:  ? __ip_append_data+0x284/0xe60
  30. Dec 05 19:23:48 pve kernel:  ? __ip_finish_output+0x180/0x180
  31. Dec 05 19:23:48 pve kernel:  ip_send_skb+0x8b/0x90
  32. Dec 05 19:23:48 pve kernel:  udp_send_skb+0x163/0x380
  33. Dec 05 19:23:48 pve kernel:  udp_sendmsg+0xbc5/0xe90
  34. Dec 05 19:23:48 pve kernel:  ? ip_mc_finish_output+0x150/0x150
  35. Dec 05 19:23:48 pve kernel:  ? update_load_avg+0x82/0x5e0
  36. Dec 05 19:23:48 pve kernel:  ? __cond_resched+0x1a/0x50
  37. Dec 05 19:23:48 pve kernel:  ? aa_sk_perm+0x43/0x1b0
  38. Dec 05 19:23:48 pve kernel:  inet_sendmsg+0x65/0x70
  39. Dec 05 19:23:48 pve kernel:  sock_sendmsg+0x5e/0x70
  40. Dec 05 19:23:48 pve kernel:  __sys_sendto+0x113/0x190
  41. Dec 05 19:23:48 pve kernel:  ? __secure_computing+0x42/0xe0
  42. Dec 05 19:23:48 pve kernel:  __x64_sys_sendto+0x29/0x30
  43. Dec 05 19:23:48 pve kernel:  do_syscall_64+0x5c/0xc0
  44. Dec 05 19:23:48 pve kernel:  ? __pollwait+0xd0/0xd0
  45. Dec 05 19:23:48 pve kernel:  ? switch_fpu_return+0x56/0xc0
  46. Dec 05 19:23:48 pve kernel:  ? exit_to_user_mode_prepare+0x8c/0x1b0
  47. Dec 05 19:23:48 pve kernel:  ? syscall_exit_to_user_mode+0x27/0x50
  48. Dec 05 19:23:48 pve kernel:  ? do_syscall_64+0x69/0xc0
  49. Dec 05 19:23:48 pve kernel:  ? do_syscall_64+0x69/0xc0
  50. Dec 05 19:23:48 pve kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xae
  51. Dec 05 19:23:48 pve kernel: RIP: 0033:0x7f2641e6b315
  52. Dec 05 19:23:48 pve kernel: Code: c3 8b 07 85 c0 75 24 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> e9 19 d3 ff ff 41 54 b8 02 00 00 00 49 89 f4 be 00 08 08 00 55
  53. Dec 05 19:23:48 pve kernel: RSP: 002b:00007ffe2aad6f48 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
  54. Dec 05 19:23:48 pve kernel: RAX: ffffffffffffffda RBX: 00007f2641e89d48 RCX: 00007f2641e6b315
  55. Dec 05 19:23:48 pve kernel: RDX: 0000000000000044 RSI: 00007ffe2aad6fb8 RDI: 000000000000000b
  56. Dec 05 19:23:48 pve kernel: RBP: 000000000000002c R08: 00007ffe2aad6fa8 R09: 0000000000000010
  57. Dec 05 19:23:48 pve kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe2aad6fb8
  58. Dec 05 19:23:48 pve kernel: R13: 000000000000000b R14: 0000000000000005 R15: 0000000000000044
  59. Dec 05 19:23:48 pve kernel:  </TASK>
  60. Dec 05 19:23:48 pve kernel: Modules linked in: tcp_diag inet_diag macvlan ip6table_mangle ip_set_list_set xt_mark ip_set_hash_net xfrm_user xfrm_algo xt_addrtype binfmt_misc xt_set ip6t_REJECT nf_reject_ipv6 xt_TCPMSS xt_MASQUERADE xt_nat ipt_REJECT nf_reject_ipv4 xt_limit xt_conntrack sch_cake sch_sfq sch_pie sch_codel sch_fq_codel ifb iptable_mangle xt_policy ip6table_nat iptable_nat xt_REDIRECT xt_tcpudp tcp_bbr veth ebtable_filter ebtables ip6table_raw iptable_raw ip6table_filter ip6_tables ccm iptable_filter bpfilter bonding tls openvswitch nsh igbvf softdog nfnetlink_log vhost_net vhost vhost_iotlb tap sch_htb act_mirred sch_hfsc act_connmark em_u32 sch_netem cls_u32 cls_flow cls_fw sch_ingress act_ipt nf_nat_snmp_basic nf_nat_irc nf_nat_amanda nf_flow_table_inet nf_dup_ipv6 nf_synproxy_core nf_nat_sip nf_nat_h323 nf_flow_table_ipv6 nf_dup_ipv4 nf_nat_tftp nf_nat_pptp nf_nat_ftp nf_flow_table_ipv4 nf_tables nf_flow_table nf_dup_netdev nf_conntrack_netlink nf_conntrack_tftp nf_conntrack_snmp
  61. Dec 05 19:23:48 pve kernel:  nf_conntrack_sip nf_conntrack_sane nf_conntrack_pptp nf_conntrack_netbios_ns nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast nf_conntrack_bridge ts_kmp nf_conntrack_amanda ip_set_hash_netnet ip_set_hash_ipportip ip_set_bitmap_port ip_set_hash_netiface ip_set_hash_ipport ip_set_bitmap_ipmac ip_set_hash_netportnet ip_set_hash_mac ip_set_hash_ipmac ip_set_bitmap_ip ip_set_hash_netport ip_set_hash_ipportnet ip_set_hash_ip ip_set nfnetlink ip_vs ip_gre ip_tunnel gre ip6t_NPT ipt_ECN ipt_ah xt_TPROXY nf_tproxy_ipv6 nf_tproxy_ipv4 xt_iprange xt_CLASSIFY xt_CT xt_DSCP xt_HL xt_LOG nf_log_syslog xt_bpf xt_connbytes xt_connlimit nf_conncount xt_dscp xt_ecn xt_esp xt_hl xt_helper xt_mac xt_owner xt_pkttype xt_quota xt_recent xt_socket nf_socket_ipv4 nf_socket_ipv6 xt_state xt_statistic xt_string xt_time xt_length xt_comment xt_connmark xt_multiport xt_FULLCONENAT(O) nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 pppoe pppox pppoatm atm ppp_mppe ppp_async
  62. Dec 05 19:23:48 pve kernel:  ib_iser rdma_cm iw_cm snd_hda_codec_hdmi ib_cm snd_sof_pci_intel_cnl snd_sof_intel_hda_common snd_hda_codec_realtek soundwire_intel soundwire_generic_allocation soundwire_cadence snd_hda_codec_generic snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof ib_core snd_soc_hdac_hda snd_hda_ext_core iscsi_tcp snd_soc_acpi_intel_match snd_soc_acpi libiscsi_tcp soundwire_bus libiscsi ledtrig_audio scsi_transport_iscsi intel_rapl_msr intel_rapl_common kvmgt snd_soc_core intel_tcc_cooling snd_compress mdev ac97_bus x86_pkg_temp_thermal snd_pcm_dmaengine intel_powerclamp snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi kvm_intel mei_hdcp snd_hda_codec crct10dif_pclmul snd_hda_core crc32_pclmul ghash_clmulni_intel snd_hwdep iwlmvm snd_pcm aesni_intel crypto_simd cdc_mbim mac80211 cryptd btusb snd_timer libarc4 cdc_wdm btrtl rapl btbcm snd gigabyte_wmi wmi_bmof btintel intel_cstate pcspkr efi_pstore ee1004 soundcore iwlwifi bluetooth cfg80211 mei_me cdc_ncm cdc_ether ecdh_generic
  63. Dec 05 19:23:48 pve kernel:  mei usbnet ecc mii intel_pch_thermal mac_hid acpi_pad i915 ttm drm_kms_helper cec rc_core drm fb_sys_fops syscopyarea sysfillrect sysimgblt kvm nfsd auth_rpcgss coretemp nfs_acl lockd overlay grace vfio_pci vfio_pci_core vfio_virqfd irqbypass vfio_iommu_type1 vfio sunrpc ip_tables x_tables autofs4 zfs(PO) zunicode(PO) zzstd(O) zlua(O) zavl(PO) icp(PO) zcommon(PO) znvpair(PO) spl(O) btrfs blake2b_generic xor zstd_compress uas usb_storage raid6_pq libcrc32c hid_generic usbhid hid nvme igb xhci_pci i2c_algo_bit xhci_pci_renesas ahci i2c_i801 e1000e i2c_smbus nvme_core libahci xhci_hcd dca wmi video pinctrl_cannonlake
  64. Dec 05 19:23:48 pve kernel: CR2: 0000000000000000
  65. Dec 05 19:23:48 pve kernel: ---[ end trace 5b55e19ef0d79c6e ]---
  66. Dec 05 19:23:48 pve kernel: RIP: 0010:0x0
  67. Dec 05 19:23:48 pve kernel: Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
  68. Dec 05 19:23:48 pve kernel: RSP: 0018:ffffb58fa7c27900 EFLAGS: 00010283
  69. Dec 05 19:23:48 pve kernel: RAX: 0000000000000000 RBX: ffff8c4640b06600 RCX: 0000000000000000
  70. Dec 05 19:23:48 pve kernel: RDX: 0000000000000040 RSI: ffffb58fa7c27908 RDI: 0000000000000001
  71. Dec 05 19:23:48 pve kernel: RBP: ffffb58fa7c27920 R08: ffffffffc125fd10 R09: 0000000000000000
  72. Dec 05 19:23:48 pve kernel: R10: 7465646279746573 R11: ffffffffa3e060c0 R12: ffff8c45c934b6c8
  73. Dec 05 19:23:48 pve kernel: R13: ffff8c4648817cc0 R14: ffff8c45ff755e00 R15: ffff8c470135de98
  74. Dec 05 19:23:48 pve kernel: FS:  00007f2641e89d48(0000) GS:ffff8c510f2c0000(0000) knlGS:0000000000000000
  75. Dec 05 19:23:48 pve kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  76. Dec 05 19:23:48 pve kernel: CR2: ffffffffffffffd6 CR3: 00000002eb736006 CR4: 00000000003726e0
复制代码




2021-11-06

PVE7的情况下,lxc的Op有好大概率防火墙reload或者重启报bpfilter read fail 然后只有op本身可以上网,
输入dmesg 可以看到 bpfilter read fail
需要再去reload 或 重启防火墙,问题原因目前没有找到,有可能是我的Op模板问题。
我已经退回pve6 目前用pve7的其它人有没有这样的问题

PVE7 可以试一下以下修改 ,因为我手上已经没有PVE7的环境了。试了帮忙反馈了一下
命令行输入
echo "kernel.unprivileged_bpf_disabled=0" >> /etc/sysctl.conf 再输入
sysctl -p

下面是说明
这是debian 11的更新的
5.1.15. Linux 默认禁用无特权的 bpf() 调用
从 Linux 5.10 开始,Debian 默认禁用非特权用户的 bpf() 调用。然而,如有需要,管理员仍可通过向 kernel.unprivileged_bpf_disabled sysctl 写入 0 或者 1 来改变此设定。

如果您希望仍然启用无特权的 bpf() 调用,请设置如下 sysctl 参数:

kernel.unprivileged_bpf_disabled = 0
      
如需了解该项默认值变更在 Debian 中的背景信息,请参见 #990411。

2021-08-07

更新dkms编译fullconenat
/etc/pve/lxc/lxcid.conf
注掉#lxc.include: /usr/share/lxc/config/openwrt.common.conf
更新提取从其它op,img提取lxc模板

2021-07-25

添加干净少功能稳定版本Op,本人自已编译运行半年,没有再出现断网问题
没有出国海淘海淘海淘海淘海淘海淘海淘,有能力可以用lxc装个ubuntu然后再装adguard home,装clash 装xxx
利用旁路的方法,也可以实现出国海淘海淘海淘海淘海淘海淘海淘,更新更方便。只是op本身不能出国海淘海淘海淘海淘海淘海淘海淘。





2021-03-04
更新内核 pve-kernel-5.10.6-1-pve_5.10.6-1_amd64.tar.gz
更新内核 pve-kernel-5.11.0-1.tar.gz (5.11的内核不再有aufs文件系统,要是在lxc里面跑docker只能用vfs文件系统)
2021-02-07
The_Catalyst 提供如果不想自行编译固件.可尝试 #232 楼的方法把普通解包.再打包
https://www.right.com.cn/forum/thread-4053183-16-1.html

2020-10-19

更新使用情况

2020-10-10
添加编译内核的方法

----------------------- 更新日志 结束 -----------------------------------






链接: https://pan.baidu.com/s/1T6zbNmxqkaOw8GIPoosvjw 提取码: 2huv


----------------------dkms 安装 fullconenat开始 ---------------------
添加源,已经有不要重复添加
pve 6.x
echo "deb http://mirrors.ustc.edu.cn/proxmox/debian/pve buster pve-no-subscription" >> /etc/apt/sources.list
pve 7.x
echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" >> /etc/apt/sources.list


apt update
apt install pve-headers-`uname -r` -y
apt install dkms -y


tar -xvf netfilter-fullconenat-dkms-git.tar.gz -C /usr/src

dkms install -m netfilter-fullconenat-dkms -v git

dkms status #得到 netfilter-fullconenat-dkms, git, 5.11.22-1-pve, x86_64: installed
modinfo xt_FULLCONENAT

输出类似下面的就是正常的了

filename:       /lib/modules/5.11.22-5-pve/updates/dkms/xt_FULLCONENAT.ko
alias:          ipt_FULLCONENAT
author:         Chion Tang <tech@chionlab.moe>
description:    Xtables: implementation of RFC3489 full cone NAT
license:        GPL
srcversion:     CE0EBE32D25F6F43D755D2E
depends:        x_tables,nf_nat,nf_conntrack
retpoline:      Y
name:           xt_FULLCONENAT
vermagic:       5.11.22-5-pve SMP mod_unload modversions


再输入modinfo  xt_FULLCONENAT

filename:       /lib/modules/5.11.0-1-pve/kernel/net/netfilter/xt_FULLCONENAT.ko
alias:          ipt_FULLCONENAT
author:         Chion Tang <tech@chionlab.moe>
description:    Xtables: implementation of RFC3489 full cone NAT
license:        GPL
srcversion:     CE0EBE32D25F6F43D755D2E
depends:        x_tables,nf_nat,nf_conntrack
retpoline:      Y
intree:         Y
name:           xt_FULLCONENAT
vermagic:       5.11.0-1-pve SMP mod_unload modversions

说明已经装上了fullconenat
注意:
若已经安装了lxc op的
未安装fullconenat之前,必需去lxc op防火墙关闭fullconenat,否则上不了网
安装完后,再勾上,可能也会上不了网,这时重启一下pve就可以了。


----------------------dkms 安装 fullconenat 结束----------------------

---------------------- 安装op 开始----------------------------------------------

op用的是 homelede 0905版本
https://github.com/xiaoqingfengA ... C%E5%8F%91%E5%B8%83


解压到一个文夹里安装新内核xxx就是具体的内核版本tar -xvf xxxxx.tar.gz
dpkg -i *.deb

添加相应模块
找到网盘中
cp openwrt.conf /etc/modules-load.d/

建rps脚本,可以增加网卡的并发能力
参考https://www.cnblogs.com/xiaoleiel/p/8339977.html 以及 openwrt /etc/rc.d/S99autocore

找到网盘中
cp rps /etc/init.d/rps
chmod +x /etc/init.d/rps
加开机自动执行
update-rc.d rps defaults

以下一些网络调优参数可以加也可以不加
每个参数含义,自行百度
vim /etc/sysctl.conf
添加以下

net.netfilter.nf_conntrack_icmp_timeout=10
net.netfilter.nf_conntrack_tcp_timeout_syn_recv=5
net.netfilter.nf_conntrack_tcp_timeout_syn_sent=5
net.netfilter.nf_conntrack_tcp_timeout_established=600
net.netfilter.nf_conntrack_tcp_timeout_fin_wait=10
net.netfilter.nf_conntrack_tcp_timeout_time_wait=10
net.netfilter.nf_conntrack_tcp_timeout_close_wait=10
net.netfilter.nf_conntrack_tcp_timeout_last_ack=10
net.core.somaxconn=65535

重启pve,若你的pve内核版本已经给我这个安装的包的版本高,则需在重启后选择中刚安内核启动,否则可能会默认加载最高版本内核
进去系统后,删除高版本的内核,否则每次重启都会选中最高版本的内核

这个包rootfs包的来源,可以自行在网上编译其它人的op,在make meunconfig 后, targert images --> 找到 rootfs 勾上tar.gz (Proxmox工具(PveTools) 群友 被遗忘的人...... 提供的方法)

复制rootfs包到template下面,若是你的pve有修改过模板路径,请自已替换
cp openwrt-x86-64-generic-rootfs.tar.gz /var/lib/vz/template/cache/

安装pve lxc openwrt 自行修改 local-lvm 为你自已的 bridge名称为你自已的 帐号为 root 密码为 password
pct create 201 local:vztmpl/openwrt-x86-64-generic-rootfs.tar.gz --rootfs local-lvm:1 --ostype unmanaged --hostname OpenWrt --arch amd64 --cores 2 --memory 1024 --swap 0 -net0 bridge=vmbr0,name=eth0

op lxc配置文件

/etc/pve/lxc/lxcid.conf lxcid为你容器id,上面脚本是201请自行修改
添加
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw
lxc.mount.auto: sys:rw
#lxc.include: /usr/share/lxc/config/openwrt.common.conf
lxc.cap.drop: sys_admin
lxc.apparmor.profile: unconfined
lxc.cgroup2.devices.allow: c 108:0 rwm
lxc.autodev: 1
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.hook.autodev: /var/lib/lxc/lxcid/device_hook.sh
lxc.mount.entry: tmp tmp tmpfs rw,nodev,relatime,mode=1777 0 0


cp device_hook.sh /var/lib/lxc/lxcid/device_hook.sh
chmod + x /var/lib/lxc/lxcid/device_hook.sh

这时候,你可以直接去pve的管理界面看到你刚才创建的lxc,可以在上面添加网卡,启停等在pve的控制台启动Op。
进到op命令行 mv /sbin/modprode sbin/mde 因为在lxc里面不能调起modprode的,一般应用会判断有没有这个,没有就会用insmod
修正主页显示
以下去掉lan口显示报错
vim /usr/lib/lua/luci/view/admin_status/index.htm
找到 local eth_info = luci.sys.exec("ethinfo") 修改为 local eth_info = nil
改完后不再显示lan口,日志也不会出现报错

以下修改最大连接数因为在lxc里面是获取不到那个参数
找到  local conn_max  = xxx
修改为下面
local conn_max = tonumber(luci.sys.exec(
                        "sysctl -n -e net.netfilter.nf_conntrack_max net.ipv4.netfilter.ip_conntrack_max"
                ):match("%d+")) or 4096

目前我发现,有可能会 电信 把我session给踢掉后,自动重拔上,无网。因为本人不在家,所以无法知道是重拔后路由规则没添加上还是什么原因,
目前没找着,这应该是不lxc 运行 op的问题,可能是固件问题,也有可能是运营商的问题
通过以下方法可以调解一下,若有人会,最好能找到原因
进入系统主页后找watchcat调一下无网重启时间,调小一点。默认6个小时,我设置了10分钟
添加 wan后,请修改mtu值,一般是1480或者1492.可以解决断线不能重拔的问题。我设置1480,自动重拔3次都没有出现无法上网。第3次依然出现
目前我禁掉了ipv6,
并修改了hotplug的firewall事件
vim /etc/hotplug.d/iface/20-firewall
找到了 fw3 -q reload 改为 fw3 -q restart
运行12天,没有再出现无法上网的情况。我这边是每两天,运营商就会T掉会话。已经自动重拔6次,每次ip都不一样。

要是发现重拔号没有网的时候
https://github.com/xiaoqingfengA ... 5%E5%AE%9D%E5%85%B8
用这个方法找一下是什么原因

这个op集成了不少东西,比如docker,若是不需要,则自行删除,这个docker要他运行起来还需要额外的设置。因为我对op的menuconfig不太熟,没有自行去掉这些东西,
---------------------- 安装op 结束----------------------------------------------

以下命令自行修改内核版本
编译内核安装后,如果更新proxmox,则会提示内核需要更新,这个时候需要忽略内核更新,输入以下用来暂停内核的更新

apt-mark hold linux-tools-5.0-dbgsym
apt-mark hold linux-tools-5.0
apt-mark hold pve-headers-5.0.18-1-pve
apt-mark hold pve-kernel-5.0.18-1-pve

以下命令自行修改内核版本
当有大版本更新或者你需要更新官方内核的时候,你需要解除更新忽略,则输入

apt-mark unhold linux-tools-5.0-dbgsym
apt-mark unhold linux-tools-5.0
apt-mark unhold pve-headers-5.0.18-1-pve
apt-mark unhold pve-kernel-5.0.18-1-pve

---------------------- 自行编译PVE内核 开始----------------------------------------------
自行编译PVE内核方法
必需挂手工竹手工竹手工竹违禁词语
空间最少留个60G,不然很有可能空间不足
编译系统推荐用debian10(ubuntu 18我测试过编译不成功,缺少包,或者包的版本不够高 。ubuntu 20我也试过不行,这个可能是我的问题)
可以把debian的源全改为ustc.edu的,自行百度

添加源 echo "deb http://mirrors.ustc.edu.cn/proxmox/debian/pve buster pve-no-subscription" >> /etc/apt/sources.list


apt update

安装以下编译包
apt install devscripts asciidoc-base automake bc bison cpio dh-python flex git kmod libdw-dev libelf-dev libiberty-dev libnuma-dev libpve-common-perl libslang2-dev libssl-dev libtool lintian lz4 perl-modules python2-minimal rsync sed sphinx-common tar xmlto zlib1g-dev dwarves

可能会有缺,因为有点久,我自已也忘了。有问题反馈贴,我看到都会回

建新的用户,不要root用户去git或者编译
建的方法自行百度
cd ~
git clone git://git.proxmox.com/git/pve-kernel.git

cd pve-kernel
git submodule update --init submodules/ubuntu-focal
git submodule update --init submodules/zfsonlinux

vim Makefile
找到 cat ${BUILD_DIR}/${KERNEL_SRC}/debian.master/config/config.common.ubuntu ${BUILD_DIR}/${KERNEL_SRC}/debian.master/config/${ARCH}/config.common.${ARCH} ${BUILD_DIR}/${KERNEL_SRC}/debian.master/config/${ARCH}/config.flavour.generic > ${KERNEL_CFG_ORG}
和cp ${KERNEL_CFG_ORG} ${BUILD_DIR}/${KERNEL_SRC}/.config
前面加 # 号 注掉自动生成config
保存

手动生成.config(以下脚本就是基于上面注掉的脚本改来的)
cd submodules/ubuntu-focal/ && cat debian.master/config/config.common.ubuntu debian.master/config/amd64/config.common.amd64 debian.master/config/amd64/config.flavour.generic > .config
执行后,已经进到了~/pve-kernel/submodules/ubuntu-focal/目录
现在添加xt_FULLCONENAT
方法 https://github.com/Chion82/netfilter-full-cone-nat 有说明和怎么做
以下添加拔号内核模块
make menuconfig
Device Drivers > Network device support > PPP(point-to-point protocol) support 由*改为M
保存
cd ~/pve-kernel
make
就会自动编译,不需要设置多线程,它会自动调用多线程编译。
看CPU能力,我编译用了大约两个小时
编译完把当前目录的 .deb包复制出来,就是内核包

---------------------- 自行编译PVE内核 结束----------------------------------------------


----------------------  怎么提取其它人已编译好的 Op 开始 -----------------------------

下载别人编译好的Op的img包
linux下挂载img

其实方法很简单,只需要两步:

复制代码
代码如下:


#kpartx -av xxx.img


得到如下信息:

复制代码
代码如下:


add map loop0p1 ...


需要mount loop0p1

复制代码
代码如下:


#mount /dev/mapper/loop0p1 /mnt


OK,这样就可以进入mnt对img文件的内容进行打包
ls 看一下,是不是 这样的文件
bin      etc      lib64    overlay  rom      sbin     tmp      var
dev      lib      mnt      proc     root     sys      usr      www


若是直接打包 tar zcvf openwrt-x86-64-generic-rootfs.tar.gz ./
若不是,umount掉,mount /dev/mapper/loop0p2
直到找到为止

要卸载也很简单,同样是两步:

复制代码
代码如下:


umount /mnt

kpartx -d xxx.img




----------------------  怎么提取其它人已编译好的 Op 结束-----------------------------














本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

你说的很对,我赞同你的说法。: 5.0
你说的很对,我赞同你的说法。: 5
若需正常使用这个openwrt里的docker,请参考326楼  发表于 2021-3-7 14:26
你说的很对,我赞同你的说法。: 5
如果不想自行编译固件.可尝试 #232 楼的方法把普通解包.再打包  发表于 2021-1-26 14:23

评分

参与人数 3恩山币 +4 收起 理由
micromaster + 2 谢谢!!
yjd159 + 1 真棒,给楼主点赞
The_Catalyst + 1 我的PVE CPU是 N3700 按照楼主的 配置.成功部署.测速过程中.发现l

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-9-29 16:19 | 显示全部楼层
支持楼主,感谢分享.回复查看!!...
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-29 16:48 | 显示全部楼层
好东东就要偿试下才知道
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-29 16:58 | 显示全部楼层
        打印 上一主题 下一主题PVE用LXC几乎完美运行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-29 17:15 | 显示全部楼层
有没整合好的img发下

点评

不img哦~lxc运行的是rootfs  详情 回复 发表于 2020-9-29 17:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-9-29 17:21 | 显示全部楼层
secowu 发表于 2020-9-29 17:15
有没整合好的img发下

不img哦~lxc运行的是rootfs
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-29 20:48 | 显示全部楼层
看看,有什么用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-29 21:00 | 显示全部楼层
高级的要看看

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-29 22:53 | 显示全部楼层
看一下,谢谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-29 23:46 | 显示全部楼层
小白 学习学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-30 00:55 | 显示全部楼层
感谢楼主分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-9-30 08:35 | 显示全部楼层
看看,有什么用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-10-2 10:32 | 显示全部楼层
看一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-10-2 22:50 | 显示全部楼层
感谢!之前一直被lxc的这些问题困扰!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-10-3 06:24 | 显示全部楼层
看看。非常感谢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 20:49

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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