首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netfilter不更改目标

Netfilter不更改目标
EN

Server Fault用户
提问于 2016-11-21 16:03:52
回答 1查看 303关注 0票数 0

我正在截取数据包,因为它们是通过某个服务器P路由的。我有一个客户端和一个服务器,分别是A和B,它们相互接收。

基本上,当P从A(目的地是B)获得一个数据包时,我希望能够将这个包转过来并修改它(变成一个ACK)。

我正在成功地修改ip包的源地址和目标地址,但是当我释放该数据包时,即使IP包标记为A的目的地,它仍将返回到B。

总之,我要的是:

代码语言:javascript
复制
A----->(src=A, dest=B) -----> P ------------------B

A-----<(src=B, dest=A) -----< P ------------------B

但我得到的是:

代码语言:javascript
复制
A----->(src=A, dest=B) -----> P ------------------B

A ------------- P >-------(src=B, dest=A) ------- > B

为什么情况是这样的:

作为参考,我的iptables命令是:

代码语言:javascript
复制
iptables -A FORWARD -j NFQUEUE --queue-num 0

此外,当我将iptables命令更改为:

代码语言:javascript
复制
iptables -t mangle -A PREROUTING ....

这个包似乎在netfilter接受它之后就消失了。wireshark显示的是原始数据包,而不是我将其更改为的ACK数据包。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-11-22 22:00:15

好吧,所以我想出来了。

目标NAT‘’ing需要在mangle表的PREROUTING链中完成。

代码语言:javascript
复制
iptables -t mangle -A PREROUTING .... -j NFQUEUE --queue-num 0

此外,而且非常重要的是,rpfilter需要停用。这最初是在路由阶段之后丢弃数据包。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/816147

复制
相关文章

相似问题

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