Radius 认证配置与排错
Radius 认证配置与排错
配置 Radius 认证
1.配置接口地址及路由


ping 测试 FortiGate 与 Radius Server 之间的连通性。测试环境使用 FortiAuthenticator 作为 Radius 服务器,地址是 192.168.91.209。
# execute ping 192.168.91.209
PING 192.168.91.209 (192.168.91.209): 56 data bytes
64 bytes from 192.168.91.209: icmp_seq=0 ttl=63 time=0.3 ms
64 bytes from 192.168.91.209: icmp_seq=1 ttl=63 time=0.2 ms
64 bytes from 192.168.91.209: icmp_seq=2 ttl=63 time=0.1 ms
64 bytes from 192.168.91.209: icmp_seq=3 ttl=63 time=0.1 ms
64 bytes from 192.168.91.209: icmp_seq=4 ttl=63 time=0.2 ms
--- 192.168.91.209 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.3 ms2.配置 Radius 服务器
选择”用户与认证“-->” RADIUS“,点击”新建“。

配置参数:
名称:输入一个名称,不冲突即可;
认证方法:FortiGate 支持 CHAP,MS - CHAP,MS - CHAP,PAP 认证方法。如果认证方法是默认,则 FortiGate 会使用 PAP、MSCHAP_v2 和 CHAP 三种方式向 Radius 服务器发送请求,Radius 服务器的日志中往往会报一些错误,因此 请指定一种认证方法,这里使用 PAP;
IP/名称:在主服务器输入 Radius 服务器的 IP 地址;
密钥:FortiGate 和 Radius 服务器之间的共享密钥,这里设置为 fortinet。

点击”确认“,配置完成。

对应的命令行如下:
config user radius
edit "Radius209"
set server "192.168.91.209"
set secret ENC fJ6Xhg0wVEZyp8qAJfiuNSJLqyNVrWsRwQ1zELqWc7GnyBso4IrSelJJR4DBKmXQ/ex9cFWq3nJfoWEbWjRy1nrwUMl5HJGPiHO+c8MXXy6IAUE38ec4Y/x5VnRPZpEgPPiVIuCXZfbpnjcR1t5RdO8lgTTRkhiNqBFvrZtyxsucpqRYSH7eyTN0ih5nJigvUn8oAg==
set auth-type pap
next
endRadius 服务器测试
1.FortiGate 与 Radius 服务器之间连通性测试
GUI 编辑 Radius 服务器的配置界面,点击”测试连接性“。
CLI 的语法:
#diagnose test authserver radius-direct
<server_name or IP> <port number (0 default port)> <secret> <pap | chap | mschap | mschap2> <user> <password>如果连接状态是”成功“,则 FortiGate 与 Radius 服务器之间通信正常。

对应的 CLI 测试结果如下:
# diagnose test authserver radius-direct 192.168.91.209 1812 fortinet pap user1 12345678 RADIUS server '192.168.91.209' status is OK Access-Accept AVP: l=12 t=Vendor-Specific(26) v=Fortinet(12356) VSA: l=6 t=Fortinet-Group-Name(1) Value: 'grp1'如果连接状态是“对服务器密钥无效”,则 FortiGate 与 Radius 服务器之间的密钥不一致。

对应的 CLI 测试结果如下:
# diagnose test authserver radius-direct 192.168.91.209 1812 fortinet pap user1 12345678 RADIUS server '192.168.91.209' status is Secret invalid如果连接状态是“不能连接 RADIUS 服务器”,则 Radius 服务器的地址或者端口不正确,或者 Radius 服务器没有授权 FortiGate 作为客户端。

对应的 CLI 测试结果如下:
# diagnose test authserver radius-direct 192.168.91.209 1812 fortinet pap user1 12345678 RADIUS server '192.168.91.209' status is Server unreachable
2.测试 Radius 服务器中的用户及密码
GUI 编辑 Radius 服务器的配置界面,点击”测试用户认证信息“。
CLI 的语法:
# diagnose test authserver radius
<server_name> <chap | pap | mschap | mschap2> <username> <password>用户名或者密码不正确

对应的 CLI 测试结果如下:
# diagnose test authserver radius Radius209 pap user1 test123 authenticate 'user1' against 'pap' failed, assigned_rad_session_id=730523922 session_timeout=0 secs idle_timeout=0 secs!用户名和密码正确
可以看到 Radius 服务器返回的状态是成功,以及用户属于,如 user1 属于用户组 grp1。

对应的 CLI 测试结果如下:
# diagnose test authserver radius Radius209 pap user1 12345678 authenticate 'user1' against 'pap' succeeded, server=primary assigned_rad_session_id=730523923 session_timeout=0 secs idle_timeout=0 secs! Group membership(s) - grp1
其他 Radius 配置参数
1.修改 Radius 端口
config user radius
edit Radius209
set radius-port xxx
next
end2.指定原 IP 地址
config user radius
edit Radius209
set source-ip x.x.x.x
next
end创建 radius 用户
选择“用户与认证”-->“设置用户”,点击“新建”

选择 "远程 RADIUS 用户",点击“下一步”

输入“用户名”和“RADIUS 服务器”,点击“下一步”

如果 Radius 用户需要绑定 FortiGate 本地的 Fortitoken,则勾选“双因子认证”。这里不需要,直接点击“下一步”

如果需要现在为 Radius 用户指定一个用户组,可以勾选“用户组”来指定,也可以等创建完用户后,在用户组菜单中添加。这里不勾选,直接点击“提交”

创建完成

创建 radius 用户组
选择“用户与认证”-->"用户组",点击 "新建"

配置参数
输入用户组名称 group1,在远程组下,点击“添加”,在”远程服务器“中选择已配置的 Radius 服务器。
指定 Radius 的用户组,这里使用 grp1,表示 group1 匹配 Radius 用户组 grp1 下的用户,可以添加多个组;如果组选择“Any”,表示匹配 Radius 服务器下的所用用户。

选择完成后,点击“确认”。

配置完成

Radius 认证 Debug
1.认证成功
[1906] handle_req-Rcvd auth req 730524052 for user1 in Radius209 opt=0000001d prot=0
[466] __compose_group_list_from_req-Group 'Radius209', type 1
[616] fnbamd_pop3_start-user1
[518] __fnbamd_cfg_get_radius_list_by_server-Loading RADIUS server 'Radius209'
[342] fnbamd_create_radius_socket-Opened radius socket 12
[342] fnbamd_create_radius_socket-Opened radius socket 13
[1394] fnbamd_radius_auth_send-Compose RADIUS request
[1351] fnbamd_rad_dns_cb-192.168.91.209->192.168.91.209
认证请求,radius服务器是192.168.91.209,用户名user1,认证方法是PAP
[1323] __fnbamd_rad_send-Sent radius req to server 'Radius209': fd=12, IP=192.168.91.209(192.168.91.209:1812) code=1 id=6 len=101 user="user1" using PAP
[319] radius_server_auth-Timer of rad 'Radius209' is added
[633] create_auth_session-Total 1 server(s) to try
[1360] fnbamd_auth_handle_radius_result-Timer of rad 'Radius209' is deleted
认证响应,响应code 2,认证成功,返回的用户属性
[1802] fnbamd_radius_auth_validate_pkt-RADIUS resp code 2
[320] extract_success_vsas-FORTINET attr, type 1, val grp1
[1385] fnbamd_auth_handle_radius_result-->Result for radius svr 'Radius209' 192.168.91.209(1) is 0
[266] find_matched_usr_grps-Skipped group matching
[216] fnbamd_comm_send_result-Sending result 0 (nid 0) for req 730524052, len=2154
[789] destroy_auth_session-delete session 7305240522.认证失败
[1906] handle_req-Rcvd auth req 730524053 for user1 in Radius209 opt=0000001d prot=0
[466] __compose_group_list_from_req-Group 'Radius209', type 1
[616] fnbamd_pop3_start-user1
[518] __fnbamd_cfg_get_radius_list_by_server-Loading RADIUS server 'Radius209'
[342] fnbamd_create_radius_socket-Opened radius socket 12
[342] fnbamd_create_radius_socket-Opened radius socket 13
[1394] fnbamd_radius_auth_send-Compose RADIUS request
[1351] fnbamd_rad_dns_cb-192.168.91.209->192.168.91.209
认证请求,radius服务器是192.168.91.209,用户名user1,认证方法是PAP
[1323] __fnbamd_rad_send-Sent radius req to server 'Radius209': fd=12, IP=192.168.91.209(192.168.91.209:1812) code=1 id=7 len=101 user="user1" using PAP
[319] radius_server_auth-Timer of rad 'Radius209' is added
[633] create_auth_session-Total 1 server(s) to try
[1360] fnbamd_auth_handle_radius_result-Timer of rad 'Radius209' is deleted
认证响应,响应code 3,认证拒绝
[1802] fnbamd_radius_auth_validate_pkt-RADIUS resp code 3
[1385] fnbamd_auth_handle_radius_result-->Result for radius svr 'Radius209' 192.168.91.209(1) is 1
[216] fnbamd_comm_send_result-Sending result 1 (nid 0) for req 730524053, len=3172
[789] destroy_auth_session-delete session 730524053