You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NAT网关环境下DNS解析被ufw阻断的问题求助

NAT网关环境下DNS解析被ufw阻断的问题求助

大家好,我现在碰到一个网络配置的难题,折腾了好久没搞定,想请各位帮忙排查下问题出在哪。

先跟大家说下我的网络环境:
我有一个172.16.0.0/24的局域网,里面有两台服务器:

  • Bastion(IP:172.16.0.3):带公网IP,可以正常访问互联网
  • Redis(IP:172.16.0.4):没有公网IP,本身无法直接连外网

局域网的默认路由配置是0.0.0.0/0指向172.16.0.3(也就是Bastion服务器),理论上所有局域网内的出站流量都会走Bastion。

为了让Redis通过Bastion做NAT转发访问互联网,我在Bastion上执行了以下配置命令:

# 开启IP转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
# 配置NAT伪装,让局域网流量通过eth0出口上网
iptables -t nat -A POSTROUTING -s '172.16.0.0/24' -o eth0 -j MASQUERADE
# 配置ufw允许局域网的TCP/UDP进出流量
ufw allow in from 172.16.0.0/24 to any proto tcp
ufw allow in from 172.16.0.0/24 to any proto udp
ufw allow out to 172.16.0.0/24 proto tcp
ufw allow out to 172.16.0.0/24 proto udp

同时在Redis服务器上,我做了这些网络设置:

# 添加默认路由
ip route add default via 172.16.0.1
# 配置DNS服务器
echo "nameserver 1.1.1.1" >> /etc/resolvconf/resolv.conf.d/head
resolvconf -u

按道理说,这样配置后Redis应该能通过Bastion的NAT访问互联网,但实际测试下来根本连不上——不管是ping公网IP还是解析域名都失败。我怀疑是ufw的规则阻断了DNS解析或者相关的UDP流量,或者是哪里的路由配置错了?有没有大佬能帮我分析下问题出在哪?

备注:内容来源于stack exchange,提问作者Alexander Nestorov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:33:02