返回列表 發帖

DDNS更新不到IP的问题

在小区宽带接入(不是常见的ADSL接入)情况下,大厦的路由器Wan口才有公网IP的,下面接着DD-WRT路由器,这时用DD-WRT的DDNS来让外网用户获取外网IP时遇到麻烦了,DD-WRT检测到的Wan其实是大厦路由器的LanIP,真正外网IP变动时,DD-WRT没有及时更新到,外网也访问不到位于DD-wrt上的VPN服务?

如何让DD-WRT在二级路由器下也能更新到外网IP的DDNS设置呢?

非常感謝 Skypeus C-Hing 的無償把你的痛苦經驗分享。(Homeinns 從被 HK依PC 河蟹前已經身體力行的工作,很有社會效益的)

港燦的民族,就是因爲這個精神而不斷提升,戰勝  G*F*W 的資訊封鎖,拒絕做一個奴才。

TOP

看來 Skypeus C-Hing 也不是網絡的 Lu-Lu, (因爲他能看懂我的東西)
解決以後, 請 Post 上來, 作爲後世的借鑑。...
homeinns 發表於 2013-12-20 14:36



    折騰了幾天,確定DD-WRT的DDNS更新程式INADYN有Bug, 在某些DD-WRT版本的firmware存在這個問題,但你不知那個版本的firmware沒有這個Bug,可能只好下載多幾個firmware來重新刷機來測試。

現在我改用wget的方式來定時更新本地WANIP到DDNS服務器上,屢試不爽!

方法分享如下:

先SSH到DD-WRT Router,輸入下面的命令,
wget -q -0 /var/log/dyndns.log "http://userid:password@members.dyndns.org//nic/update?hostname= userid.dyndns.org" >/dev/null 2>&1
  要把上面的userid同password改為您的dyndns的帳號和密碼。

再vi /var/log/dyndns.log 看看是不是更新到了正確的WanIP。測試OK後,把它加入到Router的定時任務中,vi /tmp/cron.d/cron_jobs
輸入 */5 * * * * root wget -q -0 /var/log/dyndns.log "http://userid:password@members.dyndns.org//nic/update?hostname= userid.dyndns.org" >/dev/null 2>&1
其中的*/5 * * * * 為每隔5分鐘wget一次,讓它定時更新WanIP到DDNS服務器。
你也可以改*/10 * * * * 或*/15 * * * * 間隔更長時間來更新一次。保存,退出後重啟Router。

這下DD-WRT Router中用DDNS服務安逸了, 再也不用擔心更新不到IP,也不用擔心更新得太慢,因為自己可以把它設置為更短的時間,用其它DDNS服務的,如dtdns.com、dnspark.com、No-IP、CHANGEIP.COM、freedns.afraid.org的script也類似,只需把上面鏈接DDNS服務地址改為對應的就行。
現在不管DD-WRT Router是位於兩層路由、還是三層路由或N層路由的環境,無需作NAT轉換,只要能訪問到DDNS服務商的鏈接地址,就可以用以上的方法來更新DDNS,屢試不爽!

另外,在國內訪問不到dyndns的朋友,可以在DD-WRT或OpenWRT中把
address=/members.dyndns.org/204.13.248.111
address=/checkip.dyndns.org/216.146.43.70
加入到DNSMasq中,保存,重啟服務就可以生效。就直接可以訪問到dnydns服務鏈接了。

TOP

If your DD-WRT router is located in China, then it is possible that your site blocked DDNS update. ...
tomleehk 發表於 2013-12-20 23:46


dyndns.org 雖然用PING的可以偶爾得到正確的IP,但它在國內確實已被牆!

Pinging members.dyndns.org [204.13.248.111] with 32 bytes of data:
Reply from 204.13.248.111: bytes=32 time=300ms TTL=47
Reply from 204.13.248.111: bytes=32 time=321ms TTL=47
Reply from 204.13.248.111: bytes=32 time=361ms TTL=47
   
Pinging checkip.dyndns.com [216.146.43.70] with 32 bytes of data:
Reply from 216.146.43.70: bytes=32 time=497ms TTL=42
Reply from 216.146.43.70: bytes=32 time=498ms TTL=42
Reply from 216.146.43.70: bytes=32 time=533ms TTL=42


dyndns的連接被重置,改用其他還未被牆的DDNS服務。
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

本帖最後由 tomleehk 於 2013-12-21 00:05 編輯
在DD-WRT的上層路由器我是能修改其設置的,已經把DD獲取的LANIP固定在192.168.1.8,而 ...
Skypeus 發表於 2013-12-19 18:59


If your DD-WRT router is located in China, then it is possible that your site blocked DDNS update.
http://www.telecom-cafe.com/foru ... amp;page=1#pid35011
http://www.telecom-cafe.com/foru ... =5787&pid=35101

To find out..

At your OpenVPN router site, you can try pinging
1) members.dyndns.org and
2) checkip.dyndns.org and
see if there are proper responses :
1) members.dyndns.org should give 204.13.248.111
2) checkip.dyndns.org should give 216.146.43.70

Then you can also try pinging the corresponding IP addresses and see if there are responses.

TOP

本帖最後由 tomleehk 於 2013-12-20 23:27 編輯
"這個有真正WANIP的Router並不是ISP的,是小區寬帶住戶的自己.."
Skypeus 發表於 2013-12-20 09:18



   

1) A second thought...
Can you possibly set the DDNS and corresponding port forwarding at your "小區寬帶住戶自己的" Router ?

2) By the way, a few minutes ago, I just tested the below feature (homeinns C-hing's idea) with 2 levels of router (both are of DD-WRT)

    SETUP  --  DDNS ---
    Do not use external IP Check:-  請去鈎取  NO  然後 Save 和  Reboot 路由器
     那麽你的 DD-WRT 會定期去檢查你的上游 IP, (雖然你的 DD-WRT WAN 是在下游的 LAN)


    Therefore, I can also confirm this feature of updating of the upper level router's router to DDNS should works normally in DD-WRT.
   
    If it cannot work, I believe your version of DD-WRT has bug in this feature or due to some extenal reason your lower level DD-WRT router cannot extract the WAN IP from the upper router... Or you can try flashing with another version...

    Don't be surprised with the bug in DD-WRT's DDNS function.

    Today I was just working on hardware upgrading/replacing my antique 54G DD-WRT VPN router to a 802.11n Gigabit Router (a free hardware, no cost !!! ).

    I also found some versions of DD-WRT for my new router have some bugs on DDNS updating while some versions could not work on VPN. I totally repeated 3 to 4 times of flashing until I could find a satisfactory version.

    I have used iPhone to watch myTV live stream via the new Gigabit DD-WRT OpenVPN router for more than 2 hours and so far so good.
    No interrupt, no delay could ever be noticed. 升級結果非常滿意!!

TOP

看來 Skypeus C-Hing 也不是網絡的 Lu-Lu, (因爲他能看懂我的東西)

我深信,以 Skypeus C-Hing 的網絡 ...
homeinns 發表於 2013-12-20 14:36



    要不是那個“牆”,也不會到google老師那裡找到茶室,然後在這裡學會了怎麼用“梯子”。與G*F*W*的鬥爭中學到了不少網絡的新知識。

TOP

看來 Skypeus C-Hing 也不是網絡的 Lu-Lu, (因爲他能看懂我的東西)

我深信,以 Skypeus C-Hing 的網絡 ...
homeinns 發表於 2013-12-20 14:36



    好多關於VOIP和VPN的知識,我都是從茶室的各位師兄那裡學來了,這裡各位師兄都是熱心腸的,樂於助人,小弟受益非淺啊!

用DD-WRT的遇到的問題,回去再折騰那個小Router了。

TOP

本帖最後由 homeinns 於 2013-12-20 14:39 編輯

看來 Skypeus C-Hing 也不是網絡的 Lu-Lu, (因爲他能看懂我的東西)

我深信,以 Skypeus C-Hing 的網絡知識,應該是可以解決這些問題的。

解決以後, 請 Post 上來, 作爲後世的借鑑
好像 Homeinns 一樣,把個人在國内多年來的破網翻墻的痛苦經驗和折騰,跟各網友無償的分享, 免他們再走一次我曾經走過的冤枉路。

這就是一個 Learn From Experience 和不斷進步的民族的表現, 與鄰近地區的網絡封閉,和極度懼怕老百姓在網上吹雞聚眾,成爲非常強烈的對比。

VPN 破網翻墻萬歲。

TOP

Skypeus C-Hing, 忘記了告訴你,DD-WRT 的 Update Client,是有 10分鐘的 Time-Delay 的 (去防止 DnyDns  ...
homeinns 發表於 2013-12-20 13:46



    NAT轉換與用DMZ都試過,PPTP Server、OpenVPN Server都可以連接進去(IP沒變之前),之前在WR1043ND跑的是Gargoyle Router也是DDNS的方式來連接Gargoyle的OpenVPN Server的,還是在兩層路由器的環境下,一般都連接得上,Gargoyle的DDNS工作正常。就最近幾天剛把wr1043nd改刷DD-WRT來跑PPTP Server、OpenVPN Server,就發現DDNS遲遲更新不到IP的問題,就上來telecom-cafe求教各位師兄了。

homeinns  C-Hing您說:“要忍耐啊,等 10~15 分鐘,Software 才會 Update ” ,可是我等了一天,它都沒有更新到正確的IP,所以覺得那個DD-WRT的DDNS程式怪怪的。感覺沒有Gargoyle Router自帶的DDNS程式好用。

我再繼續折騰一下吧…………………… 看有沒有新的結果........ 呵呵 

TOP

很多年前,我玩 Linksys 品牌的 Router。

他們的 DDNS Update  Client 軟件是設定,立刻 Update (沒有半秒的 Time-Delay)。

那個時候,我手痕, 不斷地 Power On  Power Off,  一分鐘 2次吧 (維修時很常見的)


DynDns 馬上封鎖我的 Account (因爲是免費的嗎),控訴的罪名是 Abusive Update。
要解釋原因 (Email 一份標準的報告過去美國)才能夠解封。
因此我對這些Time-Delay 的Software Feature 有極爲深厚的實戰經驗(在此與網友們分享)

TOP

本帖最後由 homeinns 於 2013-12-20 14:15 編輯

Skypeus C-Hing, 忘記了告訴你,DD-WRT 的 Update Client,是有 10分鐘的 Time-Delay 的 (去防止 DnyDns 的服務商錯誤判定你的 Update 是 Hacking)

所以, 你要忍耐啊,等 10~15 分鐘,Software 才會 Update 你希望的見到的 鄰居的 External Real IP 的

可能你太心急,等 5分鐘就說它不能 Update, 太武斷啦,其實還是要等的,因爲内含的 Software  只會每 10~ 15分鐘才會運行 Loop 一次去 Detect Real IP,  不是 Real-Time 不停地 Scan, 太浪費 CPU 的有限的運算資源。  
其實要等候10~ 15 分鐘才會 Update 的, 耐心去等候吧, 你太急功近利。

人家 [DD-WRT]内的電腦程式,已經設定, 每一個小時只有 4班的 External IP Detection 的公交車,你要等啊,不是香港的地鐵,每分鈡都起碼有一班車啊。, 這就解析了,爲什麽你偶然間見到它是 Work 的。  它不 work 的原因是因爲你太急功近利,太心急啦。

TOP

本帖最後由 homeinns 於 2013-12-20 14:14 編輯

哦,我明白啦,原來你在國内與鄰居共享一個寬帶(可能你的鄰居是 Lu-Lu,由你操刀而已)

(1) 按我玩 Server 的經驗。
最近沉迷玩 Audio Streaming Server, 把付一次費的鄭大奸的網絡電臺,轉播給 N 位親友。
不知道什麽原因,我在 Router DMZ 左我的 Audio Streaming Server (使用 Port 8000 的)
但還是不靈光, 我 N 位 分佈在全球各地的親友,還是看不到我 DMZ  左的 Port 8000 Server

我改用 Port Forward 8000 (Both UDP & TPC protocol), 就馬上操作正常啦。
所以,我建議你,不要用 DMZ,  去你鄰居的上游 Router, 把 Port 1723 (Both UDP& TPC)forward 去你VPN Server 的 LAN IP 上。

(2)按我的辦法,保證絕對 Work 的,因爲我香港老家和國内的家的DD-WRT 全是這個樣子
SETUP  --  DDNS ---
Do not use external IP Check:-  請去鈎取  NO  然後 Save 和  Reboot 路由器

(2A) 你設定后,有沒有 Reboot 鄰居的 Router 哦?(因爲這些數碼玩意兒,老是 Memorize 過去的東西,要 ReBoot 才可以把新的設定生效。(最好是 Power-ON Reboot)
Same applies to your downstream DD-WRT Router, need Power ON Reboot.

Homeinns 保證,一定可以在 LAN 處, Update 到上游的 WAN IP (鄰居 Router)。

Skypeus C-Hing, 都節省不少金錢哦,與鄰居共穿一條褲子, 是拉一條 LAN 綫過來,還是用 Wireless + 密碼的無綫 Link 呢 ??  與鄰居怎樣分賬呢 ?? 50%:50% ??

倒不如搞個微型的 ISP, 把整個住宅的 樓棟(一個 Block)包下來罷。在國内,如果中國電信知道的話 ,就會 Cut 你的寬帶的。 (但 Cut 了以後,可以轉鉄通,中聯通,中移動 等代替品)

TOP

請回答下面的問題,我們這裡的高手,才能夠無償的幫到你:-

(1) 爲什麽你能夠修改到上游的小區 ISP 的路由器 ...
homeinns 發表於 2013-12-19 23:07


實際情況沒這麼複雜, 這個有真正WANIP的Router並不是ISP的,是小區寬帶住戶的自己的,所以我有權限去到Router那裡修改它NAT轉換,從DD-WRT Router到WanRouter實際就只有兩層Router,沒有3層那些多Router,按您的方法是可以在上層Router把Port 1723  Forward 到DD-WRT Router,但我已經把DD-WRT放在DMZ了,已經是有同樣的效果了。
    就是在這兩層路由器環境下,把Do not use external ip check 從Yes選為No後,第一次試時偶爾可以獲取外網的WanIP,但之後WanIP更新,DD-WRT並沒有偵測到。看DDNS狀態總是出下面的信息:
Thu Dec 19 18:34:03 2013: INADYN:IP: Error 0x83 in recv()
Thu Dec 19 18:34:03 2013: W: DYNDNS: Error 'RC_IP_RECV_ERROR' (0x15) when talking to IP server
Thu Dec 19 18:34:03 2013: W:'RC_IP_RECV_ERROR' (0x15) updating the IPs. (it 0)
Thu Dec 19 18:44:10 2013: INADYN:IP: Error 0x83 in recv()
Thu Dec 19 18:44:10 2013: W: DYNDNS: Error 'RC_IP_RECV_ERROR' (0x15) when talking to IP server
Thu Dec 19 18:44:10 2013: W:'RC_IP_RECV_ERROR' (0x15) updating the IPs. (it 1)

把Do not use external ip check 選回為Yes後,狀態顯示更新IP是成功的,但更新到的IP其實是上層Router Lan IP.

TOP

本帖最後由 homeinns 於 2013-12-19 23:16 編輯

請回答下面的問題,我們這裡的高手,才能夠無償的幫到你:-

(1) 爲什麽你能夠修改到上游的小區 ISP 的路由器呢 ?
    通常這個 ISP 的路由器是鎖在 ISP 機房内,下游用戶是沒有權限去改動的。
你說你有權限去把上游 ISP 的路由器把你的下游 DD-WRT 非軍事化(DMZ),你真是太強,用 Common Sense 去推測,簡直不可思議。

如果你能有權限搞 ISP 路由器的 DMZ, 爲什麽你不把 Port 1723  Forward 到你家中的 DD-WRT Server,  把這個 Port 佔為己用, 為自己的 VPN Server 提供服務呢 ??


(2) 你這個 2層的 路由器系統,是不是國内一些  非法把電信公司的寬帶分享給小區内居民用的廉價 “山寨版 ISP” 呢 ??   因爲 TIC (This is China) 嗎。

其實這些 “山寨 ISP" 有一些不是 2層 Router 的, 有一些更加是 N 層的, 因爲 TIC 嗎。

第一層 Router 在地下, 分出 12條 LAN 綫, 上升到  12層不同的樓層。(1st Layer)

在這 12 層樓中, 每一層各有一台 (2nd Layer Router) 分配給該樓層的單位(每層假設為4單位)。

因此你在屋裏面(DD-WRT) 的上游, 其實只不過是 (2nd Layer 的該樓層的 Router), 它的再上一層,就是在樓下機房的 (1st Layter Router, 才有真正的 公網 IP).
那就是説, 一個公網的 IP, 透過 2層(加上你家中的 DD-WRT, 就是 3層啦),分享給 1 x 12 層 x 每層 4個單位  =  48個人共享一個  IP .

只要你按我的辦法設定 DD-WRT, 而只是 2層的簡單系統, 我的辦法是肯定 Work 的。

如果是我假設的 3層 System,  就當然不 Work 的。

没有个人专用的 IP,  而且透过 2层, 3层,或者 N 层的 Router 内的 NAT,  后面的 Server  是绝对不会 Work 的,除非,你在这 N 层 Router, 每一层都进行 Cascade 的一级接一级的连环 Port Forwarding, (Provide that you have authority to access your 山寨 ISP 的每一层 Router), 太有挑战性的网络游戏和练习。

TOP

返回列表