如何设置 LDAP 支持的 IRC 服务器?

jrg*_*jrg 11 ldap irc

如何配置由 LDAP 支持的 IRC 服务器?

现在,我正在考虑制作一个由 OpenLDAP 或 389 实例支持的 IRC 服务器,用于用户身份验证。

我应该使用哪种 IRCD?

最好,它应该能够查找用户 LDAP 组并决定他们是否可以被拒绝、发声,甚至完全允许加入频道。

nux*_*nux 7

你的问题需要很多解释,所以我总结一下我的回答:

首先您应该使用 Inspircd v2.0.15,因为它稳定、高性能并且对您的使用最重要,标记为ldap 支持 链接

第一的 :

您应该编辑您的 /etc/hosts 文件:

YouserverIp       hostname.example.com        hostname
Run Code Online (Sandbox Code Playgroud)

第二 :

安装 OpenLDAP:

sudo apt-get install slapd ldap-utils
Run Code Online (Sandbox Code Playgroud)

在安装过程中只需输入您的 ldap 管理员密码。

开放式LDAP服务器

第三 :

安装 apache2: apt-get install apache2

第四 :

安装 phpldapAdmin : phpLDAPadmin(也称为 PLA)是一个基于 Web 的 LDAP 客户端。它为您的 LDAP 服务器提供简单、随处可访问的多语言管理。

sudo apt-get install phpldapadmin (这就是我安装 apache2 的原因,它的网络工具)

你现在有两个步骤:

编辑

 /etc/ldap/ldap.conf
Run Code Online (Sandbox Code Playgroud)

添加:编辑

BASE dc=yourdomain,dc=com
URI ldap://Your Ip Address
Run Code Online (Sandbox Code Playgroud)

然后:编辑 /etc/phpldapadmin/config.php

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

只需编辑您的 IP 和域名。

打开浏览器:

你的IP/phpldapadmin

输入您在安装 sldap 时键入的管理员密码。

现在您连接到 ldap 数据库。选择域 ----> 在右侧添加通用 Posix 组 ----> 然后选择组并创建子条目添加通用用户帐户进行测试。

在此处输入图片说明

更多使用phpldapadmin的帮助在这里

第五 :

现在是时候配置 inspirecd 了:

编辑:/etc/inspircd/inspircd.conf 您需要加载 ldapauth 模块并指向您的 ldap 服务器,

<module name="m_ldapauth.so">
<ldapauth baserdn="cn=test,dc=domain,dc=com"
          attribute="uid"
          server="ldap://yourIp or domainname"
          allowpattern="Guest*"
          killreason="Access denied"
          searchscope="subtree"
          binddn=""
          bindauth=""
          verbose="yes"
          userfield="yes" >
Run Code Online (Sandbox Code Playgroud)

您还应该添加您的 irc 服务器名称和管理员名称以及其他选项

/etc/inspircd/inspircd.conf 
Run Code Online (Sandbox Code Playgroud)

本教程将帮助您:教程

最后的 :

重新启动 slapd,inspircd 并尝试连接您创建的用户。

注意更改,因为它适合您的需要,此配置 irc 和 ldap 是相同的服务器。

希望它对您有所帮助,因为我认为没有像我这样简单的官方文档。


Joh*_*uhn 2

如果您确实希望 IRCd 进行身份验证,我建议InspIRCd

它有一个 ldapauth 模块,但你需要自己编译它

./configure --enable-extras=m_ldap.cpp
make
make install
Run Code Online (Sandbox Code Playgroud)

示例配置文件中提供了如何使用 LDAP 的示例配置

请注意,该模块是实验性的。配置文件(和源代码)是您获得该模块的所有文档。

编辑:阅读一些代码后,我将尝试解释其工作原理:

  • 它首先使用您在配置中指定的凭据绑定到 ldap 服务器。
  • 它搜索您在配置中指定的属性等于连接用户的昵称的用户。
  • 它尝试使用用户在连接时提供的密码(通过 PASS,可以在大多数客户端的服务器配置中进行配置)来验证找到的 dn。

如果任何步骤失败,用户将与网络/服务器断开连接。我希望这就是您所需要的(未经身份验证的用户无法连接)。

对于配置来说,有一个数据库的概念。这里使用LDAP就像数据库一样。您首先定义数据库(LDAP 服务器、LDAP 服务器的凭据...),然后将其用于一个或多个目的,例如用户身份验证、操作身份验证...

或者简单地说:默认值要么是明显错误的,要么是好的默认值。

编辑:您想要的属于 IRC 服务领域。虽然InspIRCd可以提供基本的服务,但您需要编写自己的代码才能使其按您的意愿工作。