- 论坛徽章:
- 0
|
我是在openwrt上做的开发,linux 内核是2.6.32
问题就是经过路由器上的nginx转发的包 完全消失了.....
这是路由器的网络环境.
br-lan 是lan口, eth0.2是wan口.
lan地址为192.168.11.1
WAN地址为 192.168.100.23
我主机连上lan口 通过路由器上网
-A PREROUTING ! -d 192.168.0.0/16 -i br-lan -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.11.1:81
以上这条规则把 本机对外网的 目的端口是80的 tcp的包转发给路由器的lan口. nginx监听80口.
奇怪的就是经过nginx转发的 在lan口 POST_ROUTING 以及 wan口的POST_ROUTING完全的消失了.
我注册的netfilter节点收不到包.优先级已经是最高.
更加诡异的情况出现了....我在iptables命令里的nat mangle 2个表里 的 最后位置 加上对应的post_routing打印日志命令,都收的到 被nginx 转发的包.全部都能打印出来.
打印命令如下
-A POSTROUTING -p tcp -o eth0.2 -j LOG --log-ip-options --log-prefix "POST " |
|