首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨设备的路由和nat

跨设备的路由和nat
EN

Server Fault用户
提问于 2011-07-29 11:42:54
回答 1查看 950关注 0票数 1

我有以下配置:

代码语言:javascript
复制
vlan123@eth0 - range 1.2.3.0/24, with 1.2.3.4 assigned to it
br2000 - range 10.2.3.0/24

ip route中我看到:

代码语言:javascript
复制
10.2.3.0/24 dev br2000 proto kernel scope link src 10.2.3.1

在iptable中,我重写了传入数据包的目的地(表nat):

代码语言:javascript
复制
-A PREROUTING -d 1.2.3.4/32 -j DNAT --to-destination 10.2.3.4

如果我现在试图平移地址1.2.3.4,不幸的是,我没有得到我期望的转发。ip route get 10.2.3.4 from 2.3.4.5 iif vlan123返回:

代码语言:javascript
复制
RTNETLINK answers: Invalid cross-device link

这似乎证实了没有正确的路由。有什么问题吗?

在sysctl中启用了IP转发,我还禁用了rp_filter进行测试。

EN

回答 1

Server Fault用户

发布于 2011-07-29 11:53:28

如果要重写传入数据包,应将规则添加到PREROUTING链;nat规则中的输出链仅用于本地生成的数据包。

更新1:

一旦在PREROUTING表中设置了它,检查目标主机(10.2.3.4)实际上有10.2.3.1作为它的默认网关,否则答案将永远不会到达源。

还在前向链中添加一个日志规则,以查看您的数据包是否确实被正确重写并发送到目标主机。

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

https://serverfault.com/questions/295465

复制
相关文章

相似问题

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