作者hn12303158 (2orx)
看板LinuxDev
标题[问题] netfilter修改ip address的问题
时间Wed Aug 24 23:06:30 2011
大家好, 我目前在作一个netfilter kernel module, 安装此module的主机可以把特定
protocol封包的ip位置改变而转发该封包到别的host,我的问题如下:
1. 经过测试, 我发现如果在PRE_ROUTING的时机点作hook, 可以修改dst ip address,
封包将随我修改的dst ip address转送到拥有该ip address的host, 但如果我也
同时修改src ip address, 封包似乎就无法转发出去??
2. 为了解决问题一, 我挂载2个netfilter hook, 一个挂在PRE_ROUTING负责修改
dst ip address, 一个挂在FORWARD负责修改src ip address, 这样的机制在
2台ubuntu上(kernel分别是2.6.24和2.6.35)都可顺利转发封包; 但如果跑在
centOS5上(kernel为2.6.18), 安装kernel module的主机就会开始"乱转送"(冏)
明明我把dst ip address从A修改成B, 主机转送的封包在wireshark看来
dst ip address却是C, 唉呦真是气死我....
请问各位前辈有什麽经验指教吗?
小弟kernel还不熟, 问题粗浅请多包涵
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.96.101.33
1F:→ motics:why don't you use DNAT/SNAT target? 09/02 00:39