Board logo

標題: DDNS更新不到IP的问题 [打印本頁]

作者: Skypeus    時間: 2013-12-18 14:03     標題: 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设置呢?
作者: 角色    時間: 2013-12-18 22:00

This is a very good question. I believe that you need to crate a script to access an external server which will give you the WAN IP that you wanted. However since you are not able to do the port forwarding to your WAN port of your DD-WRT.
作者: homeinns    時間: 2013-12-19 00:15

本帖最後由 homeinns 於 2013-12-19 00:17 編輯

Duplicated,   DELETE
作者: homeinns    時間: 2013-12-19 00:16

朋友, 其實 DD-WRT 軟件内部已經有内建的功能去 Detect 你真正的上游 IP

很簡單:-  (按我下面的指示去 Click 就 OK):-

SETUP  --  DDNS ---
Do not use external IP Check:-  請去鈎取  NO  然後 Save 和  Reboot 路由器


那麽你的 DD-WRT 會定期去檢查你的上游 IP, (雖然你的 DD-WRT WAN 是在下游的 LAN)

有一些 iCable 是派給你一個假 IP (類似 LAN IP 的内部 IP)
因此如果你的使用 DD-WT 在這些 iCable 下面,就要用我上面的設定辦法。

Hopes it help
作者: tomleehk    時間: 2013-12-19 10:55

本帖最後由 tomleehk 於 2013-12-19 10:58 編輯

Even though you can get and update the 上游 大厦路由器 IP for DDNS, your 上游 大厦路由器 will not do the corresponding port forwarding to forward/send data to your VPN router.

That is why you need to subscribe to ISP which can give you a TRUE IP if you need to set up VPN router.
作者: homeinns    時間: 2013-12-19 12:06

TomLee C-Hing 說得一點也沒有錯。

如果 Skypeus C-Hing 真是 Subscribe 了這些 iCable 的沒有真 IP 的寬帶服務,那麽你就起不了任何的 Server。

因爲 Server 的運行是需要一个獨立的真正的互聯網 IP 的, 而你又控制不了 iCable 上游的 Server Port Forwarding, 把 Port 1723 的 PPTP VPN Port 轉到你的内部 LAN IP (Say 192.168.1.XXX),  而更坏的就是連 XXX 也是 Dynamic 的,每一次上網都改變的。

這些 Cheap Bum Bum 的 iCable 寬帶服務(沒有真 IP 的)只适合那些低檔次的家庭用戶,用來起 Server 是不行的。 我以前在 HK依PC 封殺前,曾經無償的幫助過一個這些 iCable 的 Lu-Lu,  Helpless, 因爲 iCable 這個沒有專用的真 IP 的先天的缺陷, Skypeus C-Hing 是不是又中了這個陷阱呢 ???
作者: Skypeus    時間: 2013-12-19 18:59

本帖最後由 Skypeus 於 2013-12-19 21:14 編輯
朋友, 其實 DD-WRT 軟件内部已經有内建的功能去 Detect 你真正的上游 IP

很簡單:-  (按我下面的指示去 C ...
homeinns 發表於 2013-12-19 00:16



    在DD-WRT的上層路由器我是能修改其設置的,已經把DD獲取的LANIP固定在192.168.1.8,而且也放入了DMZ。 就是在這樣的二級路由器環境下,按homeinns的方法把Do not use external ip check 從Yes選為No後,也是一直無法獲取外網的WanIP,看DDNS狀態如下:
DDNS Status
Thu Dec 19 18:34:02 2013: INADYN: Started 'INADYN Advanced version 1.96-ADV' - dynamic DNS updater.
Thu Dec 19 18:34:02 2013: INADYN: IP read from cache file is '192.168.1.8'. No update required.
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)

更改為其他DDNS服務商,如dyndns.org(被重置) 、dtdns.com(出錯)亦出現如上的狀態信息。


現在嘗試尋找能讓DDNS實時更新到真正的Wan IP的script .......
作者: homeinns    時間: 2013-12-19 23:07

本帖最後由 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), 太有挑战性的网络游戏和练习。
作者: Skypeus    時間: 2013-12-20 09:18

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

(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.
作者: homeinns    時間: 2013-12-20 13:37

本帖最後由 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 了以後,可以轉鉄通,中聯通,中移動 等代替品)
作者: homeinns    時間: 2013-12-20 13:46

本帖最後由 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 的原因是因爲你太急功近利,太心急啦。
作者: homeinns    時間: 2013-12-20 14:08

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

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

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


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

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程式好用。

我再繼續折騰一下吧…………………… 看有沒有新的結果........ 呵呵 
作者: homeinns    時間: 2013-12-20 14:36

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

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

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

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

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

VPN 破網翻墻萬歲。
作者: Skypeus    時間: 2013-12-20 14:46

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

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



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

用DD-WRT的遇到的問題,回去再折騰那個小Router了。
作者: Skypeus    時間: 2013-12-20 14:51

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

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



    要不是那個“牆”,也不會到google老師那裡找到茶室,然後在這裡學會了怎麼用“梯子”。與G*F*W*的鬥爭中學到了不少網絡的新知識。
作者: tomleehk    時間: 2013-12-20 17:11

本帖最後由 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. 升級結果非常滿意!!
作者: tomleehk    時間: 2013-12-20 23:46

本帖最後由 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.
作者: Skypeus    時間: 2013-12-21 11:05

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

[attach]3080[/attach]
dyndns的連接被重置,改用其他還未被牆的DDNS服務。
作者: Skypeus    時間: 2013-12-21 12:13

看來 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服務鏈接了。
作者: homeinns    時間: 2013-12-21 12:42

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

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




歡迎光臨 電訊茶室 (http://www.telecom-cafe.com/forum/) Powered by Discuz! 7.2