iptables -i zone_lan_forward -t filter -m conntrack --ctstate dnat -j accept
原因說來話長:
首先需要這個基礎:
上面的基礎會之後,這裡說一下原因:
其實埠回流是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。
還是埠回流問題 TCP協議解析
在一內部區域網中,client 內網位址為 10.0.0.2 web 伺服器內網位址為 10.0.0.1 外網位址為 211.6.15.1 網域名稱為 xx.love.com 問題 在內網10.0.0.2的機器上訪問 外網位址 211.6.15.1 或者網域名稱 xx.love.com 都無法訪問,...
美麗的路由回流
最近配置cisco的2801,遇到個問題,內部主機通過做nat能正常訪問internet,內網的web伺服器的80埠也正常對映出去,通過我們的外網位址可正常訪問web服務,但問題出現了,如果內部pc想通過我們的外網ip來訪問內網的web伺服器的時候就不能正常訪問了。在網上查了些資料說的是這樣的原理,...
OPENWRT的串列埠初試
近來因為專案需要,第一次接觸linux系統的硬體,心裡有點小激動。不過由於是第一次使用,光helloworld就測試了很長時間 microwrt串列埠使用過程 1 通過ssh的方式進入microwrt系統之中,然後進入 etc 目錄,修改inittab,開啟檔案並將如下 的最後一行注釋掉。sysin...