我在使用 Citrix Access Gateway 设置 Radius 时遇到了问题。
当我在主 LAN 上拥有 Citrix Access Gateway (CAG) 时,我已经全部设置完毕并且运行正常,但我想将其移至 DMZ。
我在 Radius 服务器和网关之间设置了一个 Vyatta 防火墙。防火墙设置为仅允许 HTTP、HTTPS 和 Radius 流量通过(1812 和 1813)。防火墙还提供我需要的所有 NAT,即:我已设置 CAG 以使用端口指向防火墙的 IP,然后防火墙将此流量转发到 Radius 服务器,将 IP 地址屏蔽为防火墙的 IP。然后防火墙应将其收到的任何来自内部的流量转发到 CAG。
问题似乎出在返回 CAG 的流量上。如果我运行 wireshark,我可以看到 Radius 请求到达服务器,但 Radius 服务器似乎将 ICMP 请求发送回防火墙,该请求失败并显示端口未打开:
23 3.145816 11.1.1.1 11.1.1.2 RADIUS 104 Access-Request(1) (id=0, l=62)
24 3.145883 11.1.1.2 11.1.1.1 ICMP 132 Destination unreachable (Port unreachable)
返回防火墙的流量根本没有经过过滤,它应该直接将数据传递给 CAG。
Vyatta NAT 配置:
service {
nat {
rule 10 {
destination {
address 11.1.1.1
}
inbound-interface eth1
inside-address {
address 192.168.60.2
}
type destination
}
rule 20 {
destination {
address 192.168.60.1
port 1812
}
inbound-interface eth0
inside-address {
address 11.1.1.2
}
protocol udp
type destination
}
rule 21 {
destination {
address 192.168.60.1
port 1813
}
inbound-interface eth0
inside-address {
address 11.1.1.2
}
protocol udp
type destination
}
rule 30 {
outbound-interface eth1
outside-address {
address 11.1.1.1
}
source {
address 192.168.60.2
}
type source
}
知道为什么会失败吗?
答案1
好的,我解决了。
我改变了 vyatta 配置,使其包含一个半径端口的内部端口号,这样它就知道数据来自哪里,并将数据转发到正确的位置!
rule 20 {
destination {
address 192.168.60.1
port 1812
}
inbound-interface eth0
inside-address {
address 11.1.1.2
port 1812
}
protocol tcp_udp
type destination
}
rule 21 {
destination {
address 192.168.60.1
port 1813
}
inbound-interface eth0
inside-address {
address 11.1.1.2
port 1813
}
protocol tcp_udp
type destination
}