找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 860|回复: 13

求助,数据包DNAT后,没有进入FORWARD链

[复制链接]
本帖最后由 yangnd 于 2022-4-20 16:50 编辑

openwrt
lan口IP:192.168.1.3/24
建了n2n edge, IP: 10.8.8.1/24
远端也有一个n2n edge,IP:10.8.8.100/24,相互之间可以访问

openwrt防火墙自定义规则
  1. iptables -t nat -I PREROUTING -d 10.8.8.1 -p tcp --dport 8096 -j DNAT --to-destination 192.168.1.100:8096
  2. iptables -t nat -I POSTROUTING -o br-lan -s 0.0.0.0/0 -d 192.168.1.100 -p tcp --dport 8096 -j SNAT --to-source 192.168.1.3
  3. iptables -I FORWARD  -d 10.8.8.0/24 -p tcp --dport 8096 -j ACCEPT
  4. iptables -I FORWARD -d 192.168.1.0/24 -p tcp --dport 8096 -j ACCEPT
复制代码


后面两个FORWARD是为了观测用的
IP:192.168.1.100上建立端口8096的服务

防火墙重启后,DNAT和FORWARD上8096都没有packet

远端访问10.8.8.1:8096,DNAT有数据包,FORWARD上没有包


openwrt防火墙自定义规则,DNAT目的地址改为10.8.8.101
  1. iptables -t nat -I PREROUTING -d 10.8.8.1 -p tcp --dport 8096 -j DNAT --to-destination 10.8.8.101:8096
  2. iptables -t nat -I POSTROUTING -o br-lan -s 0.0.0.0/0 -d 192.168.1.100 -p tcp --dport 8096 -j SNAT --to-source 192.168.1.3
  3. iptables -I FORWARD  -d 10.8.8.0/24 -p tcp --dport 8096 -j ACCEPT
  4. iptables -I FORWARD -d 192.168.1.0/24 -p tcp --dport 8096 -j ACCEPT
复制代码


远端访问10.8.8.1:8096,DNAT有数据包,FORWARD上也有包

试下来DNAT地址除了10.8.8.0/24,数据包会到达FORWARD,其他都不行

更奇怪的是开启tcpdump抓包时,DNAT到192.168.1.100,FORWARD也有包了


远端通过10.8.8.1:8096 也能访问到192.168.1.100上的服务


想了两天也没想明白怎么回事,tcpdump启动时是不是也会开启其他东西
求助各位大佬讲解一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
头像被屏蔽
提示: 作者被禁止或删除 内容自动屏蔽
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
dfffffgf 发表于 2022-4-20 17:15
这个不太清楚~帮顶吧

多谢帮顶,google,baidu一圈也没发现
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 lgs2007m 于 2022-4-20 18:54 编辑

我看不出有什么问题。你可以看看我的这个帖子,查看下conntrack table看看有没有用https://www.right.com.cn/forum/thread-8203412-1-1.html
话说你是需要端口转发吧,直接用LuCI界面配置不好吗?看到LuCI界面的配置转为iptables命令后指定端口是-m tcp --dport 8096,你试试加-m tcp看看

点评

多谢帮助 今天有时间再看看conntrack table LucI截面没法指定DNAT前包的目标ip  详情 回复 发表于 2022-4-21 08:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

直接在nat做DNAT了,还需要什么FORWARD,nat表在filter表前方,nat表处理了,数据就不流经filter了,好比A去发快递给同城的B,在快递站门口看到认识的送货员C,你叫C直接带去给B了,快递站哪里还能查到你快递记录!而你10.8.8.1不是同城的,送货员C不会给你带,只有给你扔进快递站去。

点评

nat表是在PREROUTING做了DNAT,之后目标不是本地地址,应该是进FILTER的FORWARD。 我的问题是DNAT到n2n接口的10.8.8.0/24网段地址没有问题,而到其他地址就不行,连FORDWARD都到不了 而且DNAT到192.168.1.100的时  详情 回复 发表于 2022-4-20 23:22
大佬,我理解的表和链的关系是链会调用表,同一个链中的表有执行顺序,并不是nat表处理了就不流经fiter表了。可以看下这里的iptables表和链的流程图https://www.cnblogs.com/itbox/p/12483285.html  详情 回复 发表于 2022-4-20 19:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 lgs2007m 于 2022-4-20 20:52 编辑
wulishui 发表于 2022-4-20 19:09
直接在nat做DNAT了,还需要什么FORWARD,nat表在filter表前方,nat表处理了,数据就不流经filter了,好比A ...

大佬,我理解的表和链的关系是链会调用表,同一个链中的表有执行顺序,并不是nat表处理了就不流经filter表了。可以看下这里的iptables表和链的流程图https://www.cnblogs.com/itbox/p/12483285.html
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
wulishui 发表于 2022-4-20 19:09
直接在nat做DNAT了,还需要什么FORWARD,nat表在filter表前方,nat表处理了,数据就不流经filter了,好比A ...

nat表是在PREROUTING做了DNAT,之后目标不是本地地址,应该是进FILTER的FORWARD。
我的问题是DNAT到n2n接口的10.8.8.0/24网段地址没有问题,而到其他地址就不行,连FORDWARD都到不了
而且DNAT到192.168.1.100的时开着DNAT抓包也没问题,数据包会进过PREROUTING,FORWARD,POSTROUTING
所以我很困惑

FORWARD的两条规则主要是用来观测目标端口8096的包有没有到FORWARD链,本身FORWARD的policy也是ACCEPT
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
lgs2007m 发表于 2022-4-20 18:25
我看不出有什么问题。你可以看看我的这个帖子,查看下conntrack table看看有没有用https://www.right.com.c ...

多谢帮助
今天有时间再看看conntrack table
LucI截面没法指定DNAT前包的目标ip

点评

建议先试试加-m tcp看看。 还有我觉得端口转发设定源IP也没有啥具体意义呀,OpenWrt是通过划分zone wan、zone lan来配置防火墙的,因为WAN口IP只有一个,只需要配置源zone wan、目标zone lan及目标IP就可以了,设不  详情 回复 发表于 2022-4-21 10:31
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

yangnd 发表于 2022-4-21 08:17
多谢帮助
今天有时间再看看conntrack table
LucI截面没法指定DNAT前包的目标ip

建议先试试加-m tcp看看。
还有我觉得端口转发设定源IP也没有啥具体意义呀,OpenWrt是通过划分zone wan、zone lan来配置防火墙的,因为WAN口IP只有一个,只需要配置源zone wan、目标zone lan及目标IP就可以了,设不设源IP没什么区别吧

点评

加-m tcp也试过了一样的效果,前面有-p tcp,-m tcp指定扩展可以省略 指定DNAT前目标ip是因为我用了n2n,是为了让远端用的,对n2n网段的ip才DNAT转发  详情 回复 发表于 2022-4-21 10:48
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
lgs2007m 发表于 2022-4-21 10:31
建议先试试加-m tcp看看。
还有我觉得端口转发设定源IP也没有啥具体意义呀,OpenWrt是通过划分zone wan ...

加-m tcp也试过了一样的效果,前面有-p tcp,-m tcp指定扩展可以省略
指定DNAT前目标ip是因为我用了n2n,是为了让远端用的,对n2n网段的ip才DNAT转发

点评

哦哦,原理如此,学到了。OpenWrt官网给的示例-p -tcp后端口都是带-m tcp,我以为要带。 我没用过n2n,看了下是内网穿透,有点明白你说的意思了,WAN口除了正常上网的IP应该加了一个n2n网段的IP。 我看PREROUTING  详情 回复 发表于 2022-4-21 11:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

yangnd 发表于 2022-4-21 10:48
加-m tcp也试过了一样的效果,前面有-p tcp,-m tcp指定扩展可以省略
指定DNAT前目标ip是因为我用了n2n, ...

哦哦,原理如此,学到了。OpenWrt官网给的示例-p -tcp后端口都是带-m tcp,我以为要带。
我没用过n2n,看了下是内网穿透,有点明白你说的意思了,WAN口除了正常上网的IP应该加了一个n2n网段的IP。
我看PREROUTING规则没看出什么问题,不过为什么需要这条POSTROUTING规则呢?不需要NAT环回,不需要这个POSTROUTING规则才对吧

点评

POSTROUTING不做SNAT的话,数据包是回不来的,测试过确实如此 看教程上也是PREROUTING做DNAT,POSTROUTING是要SNAT的 现在的问题是DNAT后,除了n2n网段的目标ip能到FORWARD其他的都到不了,把tcpdump开着又可以  详情 回复 发表于 2022-4-21 14:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
lgs2007m 发表于 2022-4-21 11:14
哦哦,原理如此,学到了。OpenWrt官网给的示例-p -tcp后端口都是带-m tcp,我以为要带。
我没用过n2n, ...

POSTROUTING不做SNAT的话,数据包是回不来的,测试过确实如此
看教程上也是PREROUTING做DNAT,POSTROUTING是要SNAT的

现在的问题是DNAT后,除了n2n网段的目标ip能到FORWARD其他的都到不了,把tcpdump开着又可以

点评

不应该呀,zone wan到zone lan的端口转发只需要一条POSTROUTING做DNAT就行了,你可以看下我的那个帖子,只有需要NAT环回才需要再加一对DNAT和SNAT。 你的这个问题我解决不了,看看其他大佬有没有遇到相同问题吧。或  详情 回复 发表于 2022-4-21 17:11
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

yangnd 发表于 2022-4-21 14:17
POSTROUTING不做SNAT的话,数据包是回不来的,测试过确实如此
看教程上也是PREROUTING做DNAT,POSTROUTI ...

不应该呀,zone wan到zone lan的端口转发只需要一条POSTROUTING做DNAT就行了,你可以看下我的那个帖子,只有需要NAT环回才需要再加一对DNAT和SNAT。
你的这个问题我解决不了,看看其他大佬有没有遇到相同问题吧。或者你换个固件试试
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
建议用官方原版试试
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-27 02:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表