首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DNAT:ed数据包消失

DNAT:ed数据包消失
EN

Server Fault用户
提问于 2011-10-10 15:13:30
回答 1查看 533关注 0票数 2

我有一台机器,它具有将数据重定向到邻近服务器的DNAT规则:

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p udp -d 10.99.193.116 --dport 54321 -j DNAT --to 10.99.193.115:54321

可以看出,这一规则经常被触发:

代码语言:javascript
复制
pkts bytes target     prot opt in     out     source               destination         
192K   19M DNAT       udp  --  *      *       0.0.0.0/0            10.99.193.116       udp dpt:54321 to:10.99.193.115:54321 

但是,查看接口,重定向的数据包不会发送到接口上。

代码语言:javascript
复制
$ tcpdump -i eth0 -n port 54321
17:03:36.553363 IP 172.21.0.159.54321 > 10.99.193.116.54321: UDP, length 82
17:03:37.514257 IP 172.21.0.20.54321 > 10.99.193.116.54321: UDP, length 39
17:03:37.633556 IP 172.21.0.91.54321 > 10.99.193.116.54321: UDP, length 82
17:03:37.678211 IP 172.21.0.196.54321 > 10.99.193.116.54321: UDP, length 68
17:03:38.542620 IP 172.21.0.185.54321 > 10.99.193.116.54321: UDP, length 39

这个问题发生在机器在添加这些规则后第一次重新启动之后,因此推测当时和现在可能有一些不同。但是什么呢?或者是否存在一些内核错误,这意味着这些数据包被丢弃,甚至在计数器增加的时候也是如此?

该机器是一个CentOS4盒,Linux2.6.9-67.0.1.ELsmp。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-10-10 15:22:14

您还需要一个前向规则,例如:

代码语言:javascript
复制
iptables -t filter -I FORWARD -m udp -p udp --dst 10.99.193.115 --dport 54321 -j ACCEPT

当然,为了便于转发:

代码语言:javascript
复制
sysctl -w net.ipv4.ip_forward=1
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/320181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档