1.1、安装OpenLdap

# 在数据目录创建ldap文件存放ldap的配置文件
mkdir -p /data/ldap/{data,conf} docker run -p 389:389 -p 636:636 \
--name ldap \
--env LDAP_TLS_VERIFY_CLIENT="never" \
--env LDAP_ORGANISATTON="xxxx" \
--env LDAP_DOMAIN="xxxx.com" \
--env LDAP_ADMIN_PASSWORD="xxxx" \
-v /data/ldap/data:/var/lib/ldap \
-v /data/ldap/conf:/etc/ldap/slapd.d \
--detach docker.e6gpshk.com:8443/yunwei/e6yun-openldap:v1.2.5

参数说明

  • LDAP_TLS_VERIFY_CLIENT:是否需要TLS认证
  • LDAP_ORGANISATTON:配置LDAP组织者
  • LDAP_DOMAIN:配置LDAP域
  • LDAP_ADMIN_PASSWORD:配置LDAP密码
  • 默认登录用户名:admin

1.2、安装可视化操作界面

docker run \
-d --privileged \
-p 18004:80 \
--name phpldapadmin \
--env PHPLDAPADMIN_HTTPS=false \
--env PHPLDAPADMIN_LDAP_HOSTS=10.30.1.4 \
--detach docker.e6gpshk.com:8443/yunwei/e6yun-openldap-web:v1.2.5

参数说明

  • PHPLDAPADMIN_HTTPS:是否使用https
  • PHPLDAPADMIN_LDAP_HOSTS:填写主机地址

2.1、安装radius

将下面yml保存至radius.yml文件

version: "3"
services:
radius:
image: freeradius/freeradius-server:3.2.0-alpine
container_name: radius
restart: always
ports:
- '1812:1812/udp'
- '1813:1813/udp'
- '1833:1833/udp'
docker-compose -f ./radius.yml up -d

2.2、配置ldap

# 将容器中的ldap配置文件复制出来
docker cp radius:/etc/raddb/mods-available/ldap ./

将配置修改为如下配置

ldap {

	server = 'ldap.e6gpshk.com'
port = 389
identity = 'cn=admin,dc=xxxx,dc=com'
password = xxxx
base_dn = 'ou=People,dc=xxxx,dc=com'
sasl {
}
update {
control:Password-With-Header += 'userPassword'
control: += 'radiusControlAttribute'
request: += 'radiusRequestAttribute'
reply: += 'radiusReplyAttribute'
}
user_dn = "LDAP-UserDn"
user {
base_dn = "${..base_dn}"
filter = "(&(objectClass=inetOrgPerson)(memberOf=cn=wifi,ou=Group,dc=e6yun,dc=com)(!(gidNumber=503))(cn=%{%{Stripped-User-Name}:-%{User-Name}}))"
sasl {
}
}
group {
base_dn = "${..base_dn}"
filter = '(objectClass=posixGroup)'
membership_attribute = 'memberOf'
}
profile {
}
client {
base_dn = "${..base_dn}"
filter = '(objectClass=radiusClient)'
template {
}
attribute {
ipaddr = 'radiusClientIdentifier'
secret = 'radiusClientSecret'
}
}
accounting {
reference = "%{tolower:type.%{Acct-Status-Type}}"
type {
start {
update {
description := "Online at %S"
}
}
interim-update {
update {
description := "Last seen at %S"
}
}
stop {
update {
description := "Offline at %S"
}
}
}
}
post-auth {
update {
description := "Authenticated at %S"
}
}
# 将修改好的复制回容器
docker cp ./ldap radius:/etc/raddb/mods-available/ldap
# 创建 site_ldap文件
vim site_ldap
server site_ldap {
listen {
ipaddr = 0.0.0.0
port = 1833
type = auth
}
authorize {
update {
control:Auth-Type := ldap
}
}
authenticate {
Auth-Type ldap {
ldap
}
} post-auth {
Post-Auth-Type Reject {
}
}
}
# 将文件复制到容器/etc/raddb/sites-available/ldap
docker cp ./site-ldap radius:/etc/raddb/sites-available/ldap
# 复制/etc/raddb/clients.conf 文件到本地进行修改
docker cp radius:/etc/raddb/clients.conf ./clients.conf
client localhost {
ipaddr = 0.0.0.0/0 # 主要是修改这里
proto = * secret = qqqqqqqq require_message_authenticator = no limit {
max_connections = 16 lifetime = 0 idle_timeout = 30
}
} client localhost_ipv6 {
ipv6addr = ::1
secret = testing123
}
# 将修改好的文件复制回容器
docker cp ./clients.conf radius:/etc/raddb/clients.conf
# 创建软连接启用ldap插件
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/
ln -s /etc/raddb/sites-available/ldap /etc/raddb/sites-enabled/
# 重启容器
docker restart radius # 到这里已经配置好了

接下来配置防火墙radius服务器,使用openldap导入用户

Radius+OpenLdap+USG防火墙认证的更多相关文章

  1. Radius 远程用户拨号认证系统

    RADIUS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . RADIUS:Remote Authentication Dial In User Service,远程用户拨号认证系 ...

  2. [EAP]将hostapd作为radius服务器搭建EAP认证环境

    文章主要由以下几部分组成: 0.概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x 1.编译hostapd 2.配置hostapd的conf文件 3.外接 ...

  3. USG防火墙基础

    http://support.huawei.com/huaweiconnect/enterprise/thread-331003.html 华为防火墙产品线 安全区域 1.     默认防火墙区域 T ...

  4. 华为USG防火墙nat环回配置

    网络环境介绍: 公司内网有一台web服务器,地址是192.168.100.100,web服务端口为80,并且为这台web服务器申请了DNS A记录的域名解析服务,解析记录是公司出口ip地址100.10 ...

  5. USG防火墙DHCP设置保留IP地址

    在使用disp cur查看当前配置 然后使用undo修改 这样10.0.1.1网段到10.0.1.100之间的IP地址不会分出去

  6. Freeradius+Cisco2500AC+OpenLdap认证

    为了将公司内部认证统一化,启用了802.1x认证,认证流程如下: UserClient->AC控制器->Freeradius->OpenLdap 其中: Freeradius做认证使 ...

  7. CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证

    CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osno ...

  8. LDAP落地实战(三):GitLab集成OpenLDAP认证

    上一篇文章介绍了svn集成OpenLDAP认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍GitLab如何集成openldap实现账号认证 GitLab集成OpenLDAP ...

  9. Openldap基于digest-md5方式的SASL认证配置

    1. openldap编译 如果需要openldap支持SASL认证,需要在编译时加上–enable-spasswd选项安装完cyrus-sasl,openssl(可选),BDB包后执行: 1 2 $ ...

  10. Radius 认证协议介绍-兼rfc导读

    老规矩, 先看维基: 远端用户拨入验证服务(RADIUS, Remote Authentication Dial In User Service)是一个AAA协议,意思就是同时兼顾验证(authent ...

随机推荐

  1. AIGC:新AI时代,推动数字人进化的引擎

    摘要:CV.NLP.大模型...AI技术的加持下,让数字人内外在更加生动真实.在未来的发展中,数字人的应用场景越来越广泛,并将发挥出重要的作用,让美好照进生活. 本文分享自华为云社区<AIGC: ...

  2. Go 语言 for-range 的两个坑,你踩过吗?

    坑一:迭代时协程引用索引和值 先看看下面的例子,你知道最终输出的结果是什么吗? package main import ( "fmt" "time" ) fun ...

  3. 河南省第十四届icpc大学生程序设计竞赛-clk

    这次比赛赛程比较长,520出发,521,回学校,出发的那一天有点热,感觉不是很好,而且那一天感觉有点生病,应该只是普通感冒,热身赛的时候被oier吊打,省实验真厉害,晚上回酒店后,我喊队友,补了前年的 ...

  4. 基于Taro开发京东小程序小记

    一.小程序基础模型 这里要从微信小程序的历史说起,从前身到现在大概分为3个阶段: 阶段1: 微信网页需要用到app的原生能力,微信官方推出了js-sdk 阶段2: 解决移动端白屏问题,采用微信web资 ...

  5. golang channel 未关闭导致的内存泄漏

    现象 某一个周末我们的服务 oom了,一个比较重要的job 没有跑完,需要重跑,以为是偶然,重跑成功,因为是周末没有去定位原因 又一个工作日,它又oom了,重跑成功,持续观察,job 在oom之前竟然 ...

  6. Linux 性能监控与分析相关的软件包

    检测系统进程和资源使用情况 -- procps-ng procps-ng是一个用于检测Linux系统进程和资源使用情况的系统工具,它是procps的一个重写版本.它提供了多种用于检测Linux系统中进 ...

  7. 王道oj/problem12(动态申请内存存储数组)

    网址:http://oj.lgwenda.com/problem/12 思路:用输入的整型创建对应数组,用scanf消除换行键: 用gets()输入语句并输出,再释放. 代码: #define _CR ...

  8. 让nodejs开启服务更简单--koa篇

    在nodejs原始的http模块中,开启一个服务编码相对麻烦,需要对请求方式及上传的数据进行各种判断,而koa给我们提供了比较便捷的编码方式,同时它还有很多中间件可以直接拿来使用.   首先来看,如何 ...

  9. 利用pytorch自定义CNN网络(三):构建CNN模型

    本文是利用pytorch自定义CNN网络系列的第三篇,主要介绍如何构建一个CNN网络,关于本系列的全文见这里. 笔者的运行设备与软件:CPU (AMD Ryzen 5 4600U) + pytorch ...

  10. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-11-playwright操作iframe-上篇

    1.简介 原估计宏哥这里就不对iframe这个知识点做介绍和讲解了,因为前边的窗口切换就为这种网页处理提供了思路,另一个原因就是虽然iframe很强大,但是现在很少有网站用它了.但是还是有小伙伴或者童 ...