搜索
bottom↓
回复: 14

论坛有Linux高手吗?我们需要在FreeBSD上安装腾讯的TOA模块,但没有对应的版本

[复制链接]

出16170入6148汤圆

发表于 2020-6-17 16:43:17 来自手机 | 显示全部楼层 |阅读模式
这个是腾讯的TOA模块的安装教程

https://cloud.tencent.com/document/product/608/18945

我们的版本是FreeBSD。上面没有Freebsd的版本。

文档里提到有通用版本,但我们的技术人员看了一下代码,说FreeBSD里没有这些库,根本无法编译。

用不了,freebsd中没有这些文件

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/err.h>
#include <linux/time.h>
#include <linux/skbuff.h>
#include <net/tcp.h>
#include <net/inet_common.h>
#include <asm/uaccess.h>
#include <linux/netdevice.h>
#include <net/net_namespace.h>
#include <linux/fs.h>
#include <linux/sysctl.h>
#include <linux/proc_fs.h>
#include <linux/kallsyms.h>
#include <net/ipv6.h>
#include <net/transp_v6.h>

Screenshot_20200617-162516_WeChat.jpg
Screenshot_20200617-162533_WeChat.jpg

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2020-6-17 16:50:27 | 显示全部楼层
freebsd 和 linux 内核不一样,没用的。

出0入12汤圆

发表于 2020-6-17 16:56:15 | 显示全部楼层
内核模块,跟内核绑定很严重。

出0入984汤圆

发表于 2020-6-17 17:22:18 | 显示全部楼层
本帖最后由 Himem 于 2020-6-17 17:27 编辑

一般cdn都会将请求头中加入X-Forwarded-For头来标明真实来源IP吧,nginx装了realip模块就可以了,可以php先创建个phpinfo()看下请求是否有这个头

不过如果纯是tcp中转(cdn配置时没有要ssl私钥),没有修改请求内容,那可能确实要这个TOA模块了

出0入147汤圆

发表于 2020-6-17 17:23:22 来自手机 | 显示全部楼层
FreeeBSD 和Linux 是类Unix 系统,不通用,如要编译,需要自行适配,需要很熟悉网络驱动的人才行

出0入984汤圆

发表于 2020-6-17 17:27:01 | 显示全部楼层
本帖最后由 Himem 于 2020-6-17 17:44 编辑
Himem 发表于 2020-6-17 17:22
一般cdn都会将请求头中加入X-Forwarded-For头来标明真实来源IP吧,nginx装了realip模块就可以了,可以先创 ...


看它的文档是将tcp头中加入了额外字段表示客户端IP端口二元组,
那可以后台写个抓包,提取记录cdn二元组与真实二元组的映射,
php里用真实ip时拿当前获得的cdn二元组去前面找记录(或做成nginx模块)

虽然效率不佳

出0入0汤圆

发表于 2020-6-17 17:31:57 | 显示全部楼层
你们使用FreeBSD是哪个版本啊?

出0入4汤圆

发表于 2020-6-17 18:40:09 | 显示全部楼层
记得 FreeBSD 有个二进制兼容功能,可以直接运行 Linux 里的应用。

出16170入6148汤圆

 楼主| 发表于 2020-6-17 20:26:07 来自手机 | 显示全部楼层
Himem 发表于 2020-6-17 17:22
一般cdn都会将请求头中加入X-Forwarded-For头来标明真实来源IP吧,nginx装了realip模块就可以了,可以php先 ...

不是使用nginx。

出16170入6148汤圆

 楼主| 发表于 2020-6-17 20:26:39 来自手机 | 显示全部楼层
jenkins 发表于 2020-6-17 17:31
你们使用FreeBSD是哪个版本啊?

11

出16170入6148汤圆

 楼主| 发表于 2020-6-17 20:28:40 | 显示全部楼层
atommann 发表于 2020-6-17 18:40
记得 FreeBSD 有个二进制兼容功能,可以直接运行 Linux 里的应用。

你有超过3个精华帖子,帮你将VIP免费升级到VIP++。

出0入984汤圆

发表于 2020-6-18 05:34:30 | 显示全部楼层
本帖最后由 Himem 于 2020-6-18 05:43 编辑


freebsd内核和linux内核 协议栈实现有一定差异 修改的工作量应该会大于重新实现了

那再开一台虚拟机或物理机装TOA模块的linux,用于接管外部请求,
虚拟机里装nginx,配置proxy_pass反代到原freebsd系统,proxy_set_header的Client-IP头或XFF挂上源IP,
discuz是默认优先识别XFF/Client-IP头中的IP,配置不需要修改

不迁移的话,应该是工作量最小的方案,可以作为过渡

出0入0汤圆

发表于 2020-6-22 15:44:15 | 显示全部楼层
BSD和linux实现方式不同
如果要从机理上做兼容
不好干啊
光那些PF的规则就要折腾

出0入14汤圆

发表于 2020-6-22 17:27:44 | 显示全部楼层
用个docker跑这个不就行了

出0入618汤圆

发表于 2020-6-22 17:54:57 | 显示全部楼层
这是Linux内核模块,FreeBSD内核和Linux完全没有交集,只能找同时精通Linux和FreeBSD内核的高手移植才行。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 04:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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