ipv6访问samba服务器失败

问题来源:

接触samba已经有一段时间了,前段时间遇到了ipv6访问samba服务器失败的问题,这个问题花费了时间挺长,现在将它记录下来。

众所周知,samba源码编译后可以同时支持ipv4和ipv6访问,对于samba在ubuntu的下载与安装,可以参考我的博文(https://blog.csdn.net/u010990478/article/details/102581475),之所以会遇到上述问题,本人需要对官网的samba源码进行剪裁,使之可以运行在特定的嵌入式板子上。

错误原因:

在samba-4.0.24\lib\replace路径下,存在名为getaddrinfo.c的文件,该文件说明如下图所示,主要定义了一些函数,如getaddrinfo等,在当前平台没有这些函数时可以使用。但都只支持ipv4,不支持ipv6。我当前使用的嵌入式板子集成了linux kernel,具有getaddrinfo等库函数。而我错误在makefile中编译了此文件,导致samba ipv6 server一直建立失败。

解决方案:

在makefile中去掉对getaddrinfo.c文件的编译,并且在samba的config.h文件中声明本平台支持getaddrinfo函数功能即#define HAVE_GETADDRINFO 1

 

对于getaddrinfo函数,大家可以参考博文:

https://www.cnblogs.com/fnlingnzb-learner/p/7542770.html

https://linux.die.net/man/3/getaddrinfo

https://www.cnblogs.com/battzion/p/4235562.html

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值