论坛风格切换切换到宽版
  • 833阅读
  • 4回复

[问题求助]请问如何对服务器应用中目的地址为自身IP的数据包进行DNAT [复制链接]

上一主题 下一主题
 
发帖
2065
C币
-235577
威望
384
贡献值
1
银元
-1
铜钱
4528
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
请教.大家,如果我在l.inux服务器上编写程序,使发送网络数据包的目的地址为自己(linux服务器)的IP地址,但是想要通过iptables DNAT到其它目.的地址,请问该如何编写iptables规则?              乙肝
例如linux服务器IP为192.168.100.10,想要DNAT到192.168.100...22域名
该数据包会经过哪些链表,谢谢

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线alantam.
发帖
2031
C币
-60567
威望
364
贡献值
1
银元
-2
铜钱
4519
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
好像不可以呀。
/proc/sys/net/ipv4/ip_forward为1
iptables -t nat -A PREROUTING -d 192.168.1.209 -p tcp --dport 80 -j DNAT --to 192.168.1.220:80
测试了,不行。

离线georgezhang.
发帖
2009
C币
-60878
威望
370
贡献值
1
银元
0
铜钱
4467
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
在两台机子上用tcpdump看下,有没有收到数据包,和数据包有什么变化。

离线慧琳迷.
发帖
1929
C币
-60734
威望
391
贡献值
1
银元
-1
铜钱
4306
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
我试过了,不行的。

发帖
1937
C币
-140796
威望
351
贡献值
1
银元
-1
铜钱
4356
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


QUOTE:原帖由 marsaber 于 2009-5-10 11:24 发表
我试过了,不行的。

想不通了。
1.确定转发的主机能收到数据包,用tcpdump可以看到。
2.查看iptables的filter表中有没有其他规则存在,看看是否有冲突。
3.看看数据包的流向,如果修改了目的地址,那么应该是从PREROUTING-->FORWARD->POSTROUTING,可以在这三条连上用-j LOG做记录,然后看下日志,是否有包通过。
能想到就这么多了,基本思路是跟踪,看在哪个环节上出了问题。

快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个