nginx做udp负载均衡

本文介绍如何通过Nginx实现UDP负载均衡,重点讲解配置步骤,包括编译安装Nginx、设置nginx.conf文件及使用Linux高级流控tc进行IP透明度设置,确保upstream server能获取并回应客户端IP和端口。

要求:nginx实现UDP负载,upstream server能拿到client ip&port,并向client回包。

背景:nginx server:10.1.1.200。upstream server:10.1.1.100。port:7400。

 

1,安装nginx

nginx默认不支持udp负载,安装编译时加上“--with-stream”

2,nginx配置

nginx.conf

stream {
  server {
      listen 7400 udp reuseport;
      proxy_connect_timeout 100s;
      proxy_responses 0;
      proxy_bind $remote_addr:$remote_port transparent;
      proxy_pass 10.1.1.100:7400;
  }
}

3,upstream配置

//建立流控规则,enp2s0为网卡名。
# tc qdisc add dev enp2s0 root handle 10: htb

//建立修改规则,将src ip从10.1.1.100改为10.1.1.200
# tc filter add dev enp2s0 parent 10: protocol ip prio 10 u32 match ip src 10.1.1.100 match ip sport 7400 0xffff action nat egress 10.1.1.100 10.1.1.200

//查看规则
#tc qdisc show dev enp2s0

//删除规则
#tc qdisc del dev enp2s0 root

 

 

参考:

UDP的反向代理:NGINX

IP Transparency and Direct Server Return with NGINX and NGINX Plus as Transparent Proxy

Linux 高级流控tc

tc match用法

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值