Linux UDP转发:三步简单搞定
创始人
2026-05-09 18:21:33

UDP转发常用于DNS、游戏语音等场景。相比TCP,配置稍微特殊一点,但也不复杂。

一、开启IP转发(1条命令)

bash

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p

二、添加UDP转发规则(2条iptables)

假设要把外网的UDP 53端口(DNS)转发到内网 192.168.1.100:53:

bash

# 1. 改目标地址(DNAT)

iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.1.100:53

# 2. 改源地址(SNAT),让响应能回来

iptables -t nat -A POSTROUTING -p udp -d 192.168.1.100 --dport 53 -j MASQUERADE

# 3. 放行转发(可选,如果默认FORWARD是DROP则需要)

iptables -A FORWARD -p udp --dport 53 -j ACCEPT

三、保存规则(防止重启丢失)

bash

# Ubuntu/Debian

apt install iptables-persistent && iptables-save > /etc/iptables/rules.v4

# CentOS

service iptables save

一键脚本(复制粘贴即可)

bash

#!/bin/bash

# 用法:./udp_forward.sh 本地端口 目标IP 目标端口

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -p udp --dport $1 -j DNAT --to-destination $2:$3

iptables -t nat -A POSTROUTING -p udp -d $2 --dport $3 -j MASQUERADE

iptables -A FORWARD -p udp --dport $3 -j ACCEPT

echo "UDP转发已配置:端口$1 → $2:$3"

不想敲命令?用图形化工具

如果你更喜欢可视化界面管理转发规则,可以试试这款工具:80km无痕网关

支持UDP/TCP转发,Web界面操作,几分钟就能配好。

验证是否生效

bash

# 查看规则

iptables -t nat -L -n -v | grep udp

# 抓包测试(在服务器上)

tcpdump -i eth0 -n udp port 53

搞定!UDP转发就这么简单。

相关内容

热门资讯

敦煌暑假研学必看!莫高窟保护讲... 敦煌暑假研学必看!莫高窟保护讲座哪家强?本地人教你选对机构 为什么暑假研学,家长都在追问莫高窟保护讲...
7点出发|成都一沟渠发现大量注... • 近日,国家网信办、国家发展改革委、工业和信息化部联合印发《智能体规范应用与创新发展实施意见》(以...
原创 五... 2026年五一小长假的文旅账单一公布,河南这次又上了热搜——接待游客冲到全国第一,钱却没赚到第一。 ...
崆峒山初夏限定,赴一场仙山秘境... 暮春落幕,初夏启章 五月的风掠过陇东大地 将崆峒山晕染成最动人的模样 褪去春日的娇羞 漫山新绿铺展成...