openwrt端口回流的关键
2015-08-30 21:30
633 查看
iptables -I zone_lan_forward -t filter -m conntrack --ctstate DNAT -j ACCEPT
原因说来话长:
首先需要这个基础:
http://my.oschina.net/HankCN/blog/117796
上面的基础会之后,这里说一下原因:
其实端口回流是soho 路由器的说法,实质起作用的还是SNAT,DNAT:
我们在openwrt上设置完端口映射后,可以用iptables看一下NAT表的情况:
root@DreamBox:~# iptables -t nat -L
……
Chain nat_reflection_in (1 references)
target prot opt source destination
DNAT tcp -- 192.168.4.0/24 192.168.1.106 tcp dpt:www to:192.168.4.234:80
——内网4.0/24网段访问wan口ip192.168.1.106的80端口,目的ip会DNAT为内网ip 192.168.4.234
Chain nat_reflection_out (1 references)
target prot opt source destination
SNAT tcp -- 192.168.4.0/24 cj-PC.lan tcp dpt:www to:192.168.4.1
——4.0/24网段访问内网的 192.168.4.234(即cj-PC.lan)的80端口时,源IP转换为路由器的内网网关地址192.168.4.1
我们发现规则都是好的,为什么就不能访问呢?
那么,原因肯定是被filter表拦截了,而且可以确定是在forward环节
在forward环节,默认的filter policy是DROP,
所以我们必须为DNAT放行,就是文首的那个命令:
iptables -I zone_lan_forward -t filter -m conntrack --ctstate DNAT -j ACCEPT
为什么SNAT就不用管呢?因为SNAT是在forward环节后的postrouting节点做的事情,所以forward不用管SNAT。
原因说来话长:
首先需要这个基础:
http://my.oschina.net/HankCN/blog/117796
上面的基础会之后,这里说一下原因:
其实端口回流是soho 路由器的说法,实质起作用的还是SNAT,DNAT:
我们在openwrt上设置完端口映射后,可以用iptables看一下NAT表的情况:
root@DreamBox:~# iptables -t nat -L
……
Chain nat_reflection_in (1 references)
target prot opt source destination
DNAT tcp -- 192.168.4.0/24 192.168.1.106 tcp dpt:www to:192.168.4.234:80
——内网4.0/24网段访问wan口ip192.168.1.106的80端口,目的ip会DNAT为内网ip 192.168.4.234
Chain nat_reflection_out (1 references)
target prot opt source destination
SNAT tcp -- 192.168.4.0/24 cj-PC.lan tcp dpt:www to:192.168.4.1
——4.0/24网段访问内网的 192.168.4.234(即cj-PC.lan)的80端口时,源IP转换为路由器的内网网关地址192.168.4.1
我们发现规则都是好的,为什么就不能访问呢?
那么,原因肯定是被filter表拦截了,而且可以确定是在forward环节
在forward环节,默认的filter policy是DROP,
所以我们必须为DNAT放行,就是文首的那个命令:
iptables -I zone_lan_forward -t filter -m conntrack --ctstate DNAT -j ACCEPT
为什么SNAT就不用管呢?因为SNAT是在forward环节后的postrouting节点做的事情,所以forward不用管SNAT。
相关文章推荐
- 精品软件 推荐 铁路订票网站12306手机订票客户端 家,就在身边
- 精品软件 推荐 铁路订票网站12306手机订票客户端 家,就在身边
- 高可用集群
- Opencv图像对比度和亮度的调整-滚动条
- Opencv图像对比度和亮度的调整
- linux之下的更新系统时间
- 常用的 Linux命令
- 3 JavaWeb之Mac下Myeclipse配置Tomcat创建一个简单问web工程
- Opencv鼠标事件下的ROI
- Opencv鼠标截取图片场景
- Opencv离散傅里叶变换
- Opencv用指针访问像素
- centos7安装java
- shell模拟双色球开奖
- Linux系统管理-(5)-LVM
- Linux DNS搭建
- Opencv用迭代器操作像素
- virtualBox 下安装redhat 6 及用xmanager 连接 linux
- opencv动态地址方式操作像素-at操作
- Note For Linux By Jes(20)-Linux 核心编译与管理