免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1012 | 回复: 0
打印 上一主题 下一主题

[其他] 已匹配过第一包的旧连接如何重新匹配nat表规则? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-21 14:41 |只看该作者 |倒序浏览

问题现象:
拓扑如右: 内网PC-----linux路由器(拨号,nat)-----公网
PC上用一个发包小软件,不断往公网一个IP地址(随便找个都可以)发 UDP包
这时,在linux路由的外网口(WAN口)抓包,出去的包是有作源IP转换的
但如果我重启一下路由器,再抓包(注意PC是持续在发包的,不要中断)
这时就发现,源地址没转换了
但如果我停一下那个软件,重新发包,或者换个端口或者换个IP来发,则转换又正常了。

猜测问题原因是:
linux启动加载连接跟踪nat模块后  至到  iptable下发nat规则到内核  这段时间之间,有包进入了。
而根据nat的原理,每个连接只有第一包会进入nat规则表匹配,后续的包都是根据第一包的匹配结果来转换的。

我的问题是:
如何让已经匹配过nat表的 旧连接 重新匹配?或者让这个旧连接快速销毁?
有没有一些简单点的方法?比如 iptable 有没什么规则更新通知连接重新匹配之类的命令,或者连接超时设置能让连接死掉?
或者其他更靠谱优雅的方案?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP