FreeRADIUS 3.0.11 忽略来自一个 NIC 接口的访问请求

FreeRADIUS 3.0.11 忽略来自一个 NIC 接口的访问请求

我已经将 FreeRADIUS 3.0.11 安装在 Ubuntu Server 16.04 上。Ubuntu Server 在 ESXi 虚拟机上运行。虚拟机有两个 NIC。一个用于连接到管理网络,另一个用于客户 LAN。我还使用 PfSense 虚拟机作为 LAN 和 Ubuntu 服务器之间的防火墙。

我的网络图片

问题是当我测试管理网络 radtest test 1234 192.168.1.144 1812 testing123FreeRADIUS 服务器能够正确通知并应答,但当我从局域网,FreeRADIUS 服务器根本无法获取 Access-Request。我正在以调试模式使用该服务器freeradius -X

这些 IP 包括:

Ubuntu server admin NIC, ens160: 192.168.1.144
Ubuntu server NIC to PfSense, ens192: 192.168.34.2
PfSense NIC to Ubuntu server: 192.168.34.1
PfSense LAN NIC: 192.168.33.1

我已经检查过了tcpdumpUbuntu 服务器正在接收 Access-Request 包。IP 192.168.33.50 是笔记本电脑的 IP。

sudo tcpdump -i ens192 port 1812
10:24:18.578802 IP 192.168.33.50.63334 > 192.168.34.2.radius: RADIUS, Access-Request (1), id: 0x09 length: 44
10:24:19.578202 IP 192.168.33.50.63334 > 192.168.34.2.radius: RADIUS, Access-Request (1), id: 0x09 length: 44

我在用着iptables用于将 HTTP 和 HTTPS 转发到 PfSense 虚拟机,以便我可以从管理网络对其进行配置。

# Generated by iptables-save v1.6.0 on Wed May  4 10:23:08 2016
*nat
:PREROUTING ACCEPT [2:396]
:INPUT ACCEPT [2:396]
:OUTPUT ACCEPT [3:213]
:POSTROUTING ACCEPT [3:213]
-A PREROUTING -i ens160 -p tcp -m tcp --dport 4954 -j DNAT --to-destination 192.168.34.1:80
-A PREROUTING -i ens160 -p tcp -m tcp --dport 4955 -j DNAT --to-destination 192.168.34.1:443
-A POSTROUTING -d 192.168.34.1/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.34.2
-A POSTROUTING -d 192.168.34.1/32 -p tcp -m tcp --dport 443 -j SNAT --to-source 192.168.34.2
COMMIT
# Completed on Wed May  4 10:23:08 2016
# Generated by iptables-save v1.6.0 on Wed May  4 10:23:08 2016
*filter
:INPUT ACCEPT [24:2294]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [16:3245]
-A INPUT -p udp -m udp -m multiport --dports 1812 -m comment --comment     "Accept RADIUS" -j ACCEPT
COMMIT
# Completed on Wed May  4 10:23:08 2016

我已经检查 FreeRADIUS 正在监听端口 1812。

netstat -lun | grep 1812
udp        0      0 127.0.0.1:18120         0.0.0.0:*
udp        0      0 0.0.0.0:1812            0.0.0.0:*
udp6       0      0 :::1812                 :::*

我尝试将端口 1812 从接口转发到另一个接口,但要么是我配置错误,要么就是没有用。我很确定有一些简单的技巧可以让它工作,但我还没有找到。谢谢你的帮助!

更新

我尝试着请求记录通过取消注释requests = ${logdir}/radiusd-%{%{Virtual-Server}:-DEFAULT}-%Y%m%d.log文件中的行来/etc/freeradius/radiusd.conf启用。然而,这会引发错误,并且 freeradius 根本无法启动。调试模式启动,但它不会将任何内容写入 radius.log 文件。

sudo freeradius
radiusd: Error: Failed to parse log{} section.

自 3.0.9 版以来,请求日志似乎不再起作用。来源:github.com/FreeRADIUS/freeradius-server/issues/1131

答案1

我解决了这个问题。我还必须向另一个 NIC 添加网关。

这是我的初始/etc/network/interfaces文件:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# This is an autoconfigured IPv6 interface
#auto ens160
#iface ens160 inet6 auto

# ESXi NIC admin network
auto ens160
iface ens160 inet static
address 192.168.1.144
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.3 192.168.1.2

# ESXi NIC DMZ
auto ens192
iface ens192 inet static
address 192.168.34.2
netmask 255.255.255.0

我添加了第二张路由表(最后一行是添加的):

sudo vim /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0   unspec
#
# local
#
#1  inr.ruhep
1 rt2

配置新的路由表:

sudo ip route add 192.168.34.0/24 dev ens192 src 192.168.34.2 table rt2
sudo ip route add default via 192.168.34.1 dev ens192 table rt2

添加路由规则:

sudo ip rule add from 192.168.34.2/32 table rt2
sudo ip rule add to 192.168.34.2/32 table rt2

测试配置是否有效,并通过修改/etc/network/interfaces文件使其永久生效:

iface ens192 inet static
    address 192.168.34.2
    netmask 255.255.255.0
    post-up ip route add 192.168.34.0/24 dev ens192 src 192.168.34.2 table rt2
    post-up ip route add default via 192.168.34.1 dev ens192 table rt2
    post-up ip rule add from 192.168.34.2/32 table rt2
    post-up ip rule add to 192.168.34.2/32 table rt2

解决方案的来源:https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System

IP表

为了保持端口转发的运行,我必须添加出接口到 iptables 规则(添加 -o ens192):

-A POSTROUTING -d 192.168.34.1/32 -o ens192 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.34.2
-A POSTROUTING -d 192.168.34.1/32 -o ens192 -p tcp -m tcp --dport 443 -j SNAT --to-source 192.168.34.2

相关内容