Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

DD-WRT 更新 firmware 後產生之 NAT loopback 問題

因為把家裡的網路升級到 Hinet 的 50M/5M 光世代固定制
舊的設備 NAT throughput 只有 10M
根本跑不了那麼快, 只好把之前的分享器換掉

買了一台挺超值的 TP-Link TL-WR1043ND
先把 firmware 換成 DD-WRT 14896 這個版本
再把firewall 及 VPN 直接用這台 AP 架起來
一來設定方便, 二來省電也省空間, 也沒有噪音的問題

跑了一陣子之後, 發現這個版本的 firmware 有些小問題
第一, 無線隔一陣子就會掛掉, 會找不到 AP, 但其它功能都正常運作
第二, 從大陸透過此 VPN 連回來時, DNS 的查詢看起來怪怪的, 所以, MSN 跟FB會很不好連

所以一直在看這個版本, 但官網一直沒有更新版本
後來發現一些測試版本其實一直在放出來, 但不會 list 在官網上:

ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2011/

稍微 google 了一下, 發現 18000 之前的 build 災情很嚴重
所以最近版本更新的很頻繁, 最新一版的 18007 看起來穩定一些 (還是災情沒出來?)

今天醒來後, 就衝了…. XDD

果然, 升級後, 我就沒辦法連上透過 1-1 NAT 後的內部主機
但是從外部連過來卻一切都正常

果然最遠的距離往往都出現在眼前

測了很久, 發現不是 static route 的問題
因為 1-1 NAT bind 進來的五個 IP 中, 沒有設定 iptables rule 的是會通的

再持續 google 後, 發現官網討論區有這一篇文章:

NAT Loopback fix for 15760 and higher, (Port forward issue)

找到兇手了!!

在 build 15760 之後的版本, 通通存在一個 NAT loopback 的問題
必須要在防火牆設定內加上以下指令:

    # fix loopback for new firmware
    insmod ipt_mark
    insmod xt_mark
    iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK –set-mark 0xd001
    iptables -t nat -A POSTROUTING -m mark –mark 0xd001 -j MASQUERADE
    iptables -t mangle -A PREROUTING -i ! `get_wanface` -d 您的WAN IP -j MARK –set-mark 0xd001

DD-WRT 官網目前已經 closed 這個 issue, 但表明不會修正此問題
所以, 這大概是短期間內最方便的解法

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>