NGINX UDP 透明代理问题

2021-07-02 12:19:35 +08:00
 2ME

gateway 172.0.0.1 NGINX(Kong) UDP 监听 53 端口
udp-server 172.0.0.2 监听 30053 端口
nginx 配置了透明代理proxy_bind $remote_addr transparent;
配置后 udp-server 可以正常获取到客户端 ip 但是无法返回结果给客户端
想问一下 iptable 怎么配置才能正常返回 网关和服务都是跑在 docker 里的
这篇博客的 tc 命令返回值都是 Illegal "match"
相关问题 https://forum.nginx.org/read.php?11,268467

3043 次点击
所在节点    NGINX
9 条回复
2ME
2021-07-02 15:23:30 +08:00
在 output 链配置了 DNAT 不生效 Reply from unexpected source: gateway#53, expected udp-server#300553
2ME
2021-07-02 15:25:43 +08:00
#1 Reply from unexpected source: udp-server#30053, expected gateway#53
guo4224
2021-07-06 12:09:15 +08:00
策略路由,或者直接把默认路由设置成你的 nginx 机器。其他的 haproxy 也是一样
2ME
2021-07-06 12:14:15 +08:00
@guo4224 这个好像不解决端口不匹配的问题
learningman
2021-07-06 13:55:55 +08:00
iptables MASQUERADE
2ME
2021-07-06 14:15:04 +08:00
@learningman MASQUERADE 只是 ip 伪装 不解决 port 不一致的问题
guo4224
2021-07-09 13:39:28 +08:00
@2ME 端口不匹配是什么鬼?
2ME
2021-07-09 15:38:23 +08:00
@guo4224 入口是 nginx 监听的 53 端口 server 发起回复是 30053 端口 客户端发现回复的端口和发起请求的端口不一致会拒绝的 参考 2 楼的报错信息
2ME
2021-07-15 15:11:32 +08:00
http://disq.us/p/292lyfk 不知道 tc pedit 能不能解决这个问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/787109

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX