使用nginx的半径负载平衡
我正在使用nginx尝试负载平衡radius流量。对于该场景,我有两台服务器运行seagull radius服务器/客户端使用nginx的半径负载平衡,nginx,radius,Nginx,Radius,我正在使用nginx尝试负载平衡radius流量。对于该场景,我有两台服务器运行seagull radius服务器/客户端 现在我把树莓Pi运行NGIX作为负载BalnCnER在中间。所以我的seagull redius客户端调用raspberry pi的开放端口,nginx将其重定向到seagull redius服务器 我的树莓皮nginx.conf stream { upstream syslog_udp { server 123.456.789.1:1813; } se
现在我把树莓Pi运行NGIX作为负载BalnCnER在中间。所以我的seagull redius客户端调用raspberry pi的开放端口,nginx将其重定向到seagull redius服务器
我的树莓皮nginx.conf
stream {
upstream syslog_udp {
server 123.456.789.1:1813;
}
server {
listen 1800 udp;
proxy_pass syslog_udp;
proxy_responses 0;
}
}
我使用sudo nc-lk 1800打开端口1800
当我运行seagull radius客户端时,我在raspberry控制台上得到一些乱七八糟的输出。但数据包不会被重定向到seagull服务器
如何正确执行此操作?
seagull radius客户端/服务器示例工作正常。我找到了这个问题的答案。nginx配置和seagull客户端/服务器端都需要进行一些修改,以发送UDP数据包(Radius) 第一个海鸥客户应该有
<define entity="transport"
name="trans-ip-v4"
file="libtrans_ip.so"
create_function="create_cipio_instance"
delete_function="delete_cipio_instance"
init-args="type=udp">
</define>
<define entity="channel"
name="trans-ip-v4"
protocol="radius-accounting-v1"
transport="trans-ip-v4"
open-args="mode=client;dest=123.456.789.50:1800;source=123.456.789.100">
</define>
在raspberry中,pi端口应打开为sudo nc-lku 1800
,其IP地址123.456.789.50
在nginx.conf中
stream{
upstream radius_loadbalance{
server 123.456.789.1:1813;
server 123.456.789.2:1813;
}
server {
listen 1800 udp;
proxy_pass radius_loadbalance;
proxy_responses 1;
#error_log logs/radius_lb.log;
}
}
我希望这将对将来的人有所帮助。我不认为这是什么负载平衡。你有一个nginx,一个半径。“这只是代理而已。”马克利巴格抱歉,这是我的错。我已经更新了答案。这是使用tcpdumps
进行测试和验证的。
stream{
upstream radius_loadbalance{
server 123.456.789.1:1813;
server 123.456.789.2:1813;
}
server {
listen 1800 udp;
proxy_pass radius_loadbalance;
proxy_responses 1;
#error_log logs/radius_lb.log;
}
}