我目前正在构建一个 (CentOS 7) freeradius 和 MySQL(mariadb) 用于 radius 身份验证。我能够使用 radtest 从本地主机测试接收身份验证。一旦我使用相同凭据的 NTRadPing,我就可以看到数据包到达 radius 服务器,但未得到答复 (tcpdump)。我已验证防火墙 (iptables) 已关闭,我可以 ping 框,并且 radiusd -X 显示 nas 表加载了我使用 NTRadPing 的 Windows 框。
> rlm_sql (sql): Opening additional connection (0) rlm_sql_mysql:
> Starting connect to MySQL server rlm_sql (sql): Opening additional
> connection (1) rlm_sql_mysql: Starting connect to MySQL server rlm_sql
> (sql): Opening additional connection (2) rlm_sql_mysql: Starting
> connect to MySQL server rlm_sql (sql): Opening additional connection
> (3) rlm_sql_mysql: Starting connect to MySQL server rlm_sql (sql):
> Opening additional connection (4) rlm_sql_mysql: Starting connect to
> MySQL server rlm_sql (sql): Processing generate_sql_clients rlm_sql
> (sql) in generate_sql_clients: query is SELECT id, nasname, shortname,
> type, secret, server FROM nas rlm_sql (sql): Reserved connection (4)
> rlm_sql (sql): Executing query: 'SELECT id, nasname, shortname, type,
> secret, server FROM nas' rlm_sql (sql): Adding client rtr.wisenet.lan
> (buffalo) to global clients list rlm_sql (10.24.11.56): Client
> "buffalo" (sql) added rlm_sql (sql): Adding client
> win7wisenet.wisenet.lan (win7) to global clients list rlm_sql
> (10.24.11.4): Client "win7" (sql) added rlm_sql (sql): Released
> connection (4) } # modules radiusd: #### Loading Virtual Servers ####
> server { # from file /etc/raddb/radiusd.conf } # server server default
> { # from file /etc/raddb/sites-enabled/default # Creating Auth-Type =
> digest # Loading authenticate {...} # Loading authorize {...} #
> Loading preacct {...} # Loading accounting {...} # Loading session
> {...} # Loading post-proxy {...} # Loading post-auth {...} } #
> server default server inner-tunnel { # from file
> /etc/raddb/sites-enabled/inner-tunnel # Loading authenticate {...} #
> Loading authorize {...} Ignoring "ldap" (see
> raddb/mods-available/README.rst) # Loading session {...} # Loading
> post-proxy {...} # Loading post-auth {...} } # server inner-tunnel
> radiusd: #### Opening IP addresses and Ports #### listen {
> type = "auth"
> ipaddr = *
> port = 0 limit {
> max_connections = 16
> lifetime = 0
> idle_timeout = 30 } } listen {
> type = "acct"
> ipaddr = 127.0.0.1
> port = 0 limit {
> max_connections = 16
> lifetime = 0
> idle_timeout = 30 } } listen {
> type = "auth"
> ipv6addr = ::
> port = 0 limit {
> max_connections = 16
> lifetime = 0
> idle_timeout = 30 } } listen {
> type = "acct"
> ipv6addr = ::
> port = 0 limit {
> max_connections = 16
> lifetime = 0
> idle_timeout = 30 } } listen {
> type = "auth"
> ipaddr = 127.0.0.1
> port = 18120 } Listening on auth address * port 1812 as server default Listening on acct address 127.0.0.1 port 1813 as server
> default Listening on auth address :: port 1812 as server default
> Listening on acct address :: port 1813 as server default Listening on
> auth address 127.0.0.1 port 18120 as server inner-tunnel Opening new
> proxy socket 'proxy address * port 0' Listening on proxy address *
> port 51000 Ready to process requests
Tcpdump 输出:
[root@dhcp13 ~]# tcpdump -i eno16777736 dst port 1812
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno16777736, link-type EN10MB (Ethernet), capture size 65535 bytes
11:22:54.963548 IP win7wisenet.wisenet.lan.55314 > dhcp13.wisenet.lan.radius: RADIUS, Access Request (1), id: 0x21 length: 45
11:22:58.473151 IP win7wisenet.wisenet.lan.55314 > dhcp13.wisenet.lan.radius: RADIUS, Access Request (1), id: 0x21 length: 45
我会提到 CentOS 机器在工作站 11 上运行。我还应该检查其他地方吗?谢谢。
答案1
奇怪的是,打开防火墙(并进行 getenforce 检查)后一切正常。在 mysql 的 nas 表中,我必须将 nasname 设置为 ip 地址,即使它似乎是通过 dns 解析的?