[Openwrt 專案開發筆記]:DDNS設定(五)
正文:
在上一節中,我主要講述瞭如何在Openwrt上安裝Samba伺服器以及Ftp伺服器。在本節中,我將介紹一下,一個比較實用的功能:DDNS。為遠端物聯網控制打下基礎。
題外話:DDNS設定原本是極為簡單的。可是由於我的路由所在現實環境的原因,以及我個人能力有限,一直無法達到我預期的目的,真是有點累覺不愛了。
ok,言歸正傳,開始拋乾貨!
一、安裝DDNS服務
opkg update
opkg install ddns-scripts luci-app-ddns
二、註冊一個動態域名
關於動態域名服務商,有太多的選擇。到底選擇哪個,全憑隨個人喜好,我就具體不推薦了。在本文中,僅以我個人使用的changeip.com的域名作為說明。changeip的官網如下:
https://www.changeip.com/
點選Create Account 進行註冊一個賬號:
點選login,進入如下介面:
選擇一個free ddns:
選好之後就會進入如下介面:
之後填一下個人資訊即可。
最後可以通過管理介面,對動態域名進行管理:例如在Home介面下,點選圖中“DNS Manager”:
進入管理頁面:
分別點選下圖中的兩個連線:
分別可以得到如下結果:
三、使用DDNS並設定
1. 設定/etc/config/ddns
config 'service' 'myddns' option'interface' 'wan' #選擇介面,wan,lan option 'check_interval' '10' #檢查ip變動的時間間隔 option 'check_unit' 'minutes' #檢查ip變動的時間單位 option 'enabled' '1' #是否啟用 option 'ip_source' 'web' #ip來源(網路,介面,URL) option 'service_name' 'changeip.com' #選擇服務商 option 'domain' 'XXXXXXXXX' # XXXXXXXX動態域名 option 'username' 'YYYYYY' # YYYYYY 使用者名稱 option 'password' 'ZZZZZZ' # ZZZZZZ 密碼 option 'ip_url' ' http://[USERNAME]:[PASSWORD]@nic.changeip.com/nic/update?u=[USERNAME]&p=[PASSWORD]&cmd=update&hostname=[DOMAIN]&ip=[IP]"' #IP的更新URL option 'force_interval' '2' #強制更新間隔時間 option 'force_unit' 'minutes' #強制更新間隔時間單位
2. 新增ddns的IP變動的觸發事件
進入/etc/hotplug.d/iface/ 增加一個 30-ifup.sh,一旦網路發生變化,檢查IP設定
#!/bin/sh # wan ifup
password=XXXXXXXX
username=YYYYYYYY
ddns=ZZZZZZZZZZZ
[ $ACTION = "ifup" -a $INTERFACE = "wan" ] && { ifconfig wan >> /tmp/mail.txt cat /tmp/mail.txt | ssmtp -v [email protected]com # mail address sleep 60 cat /tmp/mail.txt | ssmtp -v [email protected]
} wget -q -0- 'http://nic.changeip.com/nic/update?u=$username&p=${password}&hostname=${ddns}&iffline=1' wget -q -0- 'http://ip.changeip.com/'
四、遇到的問題及解決方案
1. 我的路由器所在的工作環境:
a. 最外層上網機: 具備雙網絡卡,外網採用inode撥號,利用網路共享,將Windows網絡卡設定網路共享,共享給內網網絡卡。內網網絡卡沒有開啟dhcp功能。
b. 內網使用靜態路由,有多臺機器通過交換機連線到外層上網機的內網網絡卡。
c. 路由器wan連線到交換機的一個口上,使用靜態ip。路由器的內網則採用DHCP。
在設定ddns之後,只能解析到最外層上網機的IP。
備註,可以申請一個外網撥號介面,路由器可以連線到撥號網口上。
解決辦法:
方法一:將inode撥號移植到Openwrt上,直接通過inode進行撥號上網。
在恩山上看到大神有移植過inode的帖子,可惜在我移植的過程中出現好多問題。。
方法二:設定埠對映。這個方法,我還沒有弄清楚。。。。太水了 -.-!!
如果哪位大神有比較好的方法,歡迎討論啊~~
ok,DDNS的設定就暫時講到這裡了,木有解決問題,好不甘心!!!!
後面如果解決了問題,那麼就開個單章將解決方法詳細的描述一下。
---------------------------------------------------------------
預告:在下一節中,我將介紹MySQL資料庫的安裝與使用。
相關推薦
[Openwrt 專案開發筆記]:DDNS設定(五)
正文: 在上一節中,我主要講述瞭如何在Openwrt上安裝Samba伺服器以及Ftp伺服器。在本節中,我將介紹一下,一個比較實用的功能:DDNS。為遠端物聯網控制打下基礎。 題外話:DDNS設定原本是極為簡單的。可是由於我的路由所在現實環境的原因,以及我個人能力有限,
我的Unity遊戲開發筆記之特效基礎(一):粒子效果面板
如何在Unity中實現粒子效果? 首先,右鍵點選 Hierarchy欄,選擇effects->Particle System,這樣你就新建了一個粒子系統,如圖所示: 下面來介紹右側監視器(Inspector)內的內容: 首先是Transform,分別為Positio
GO開發[六]:golang反射(reflect)
回調 set var tin 一個 相關信息 運行 odi 設置 反射 反射:可以在運行時動態獲取變量的相關信息 ? Import (“reflect”) reflect.TypeOf,獲取變量的類型,返回reflect.Type類型 reflect.ValueOf,獲取變
Spring實戰筆記:Spring核心(一)
spring bean spring core一.簡介: 1.依賴註入(DI) 優點:解耦 Spring 通過應用上下文(Application Context)裝載bean的定義,並把它們組裝起來。 Spring應用上下文負責對象的創建和組裝。 ClassPathXm
TypeScript筆記 :泛型(六)
function identity<T>(arg: T): T { return arg; } function loggingIdentity<T>(arg: T[]): T[] { console.log(arg.length); // Array
Elam的caffe筆記之配置篇(五):Centos6.5配置opencv3.1.0
Elam的caffe筆記之配置篇(五):Centos6.5配置opencv3.1.0 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 1.下載opencv-3.1.0.t
Vue 2.0學習筆記:事件匯流排(EventBus)
許多現代JavaScript框架和庫的核心概念是能夠將資料和UI封裝在模組化、可重用的元件中。這對於開發人員可以在開發整個應用程式時避免使用編寫大量重複的程式碼。雖然這樣做非常有用,但也涉及到元件之間的資料通訊。在Vue中同樣有這樣的概念存在。通過前面一段時間的學習,Vue元件資料通訊常常會有父子元
NG Toolset開發筆記--5GNR Resource Grid(41)
Procedures to calcuclate TBS for PDSCH/PUSCH: def getTbs(self, sch='pdsch', tp=0, rnti='c-rnti', tab='qam64', td=1, fd=1, mcs=0, layer=1, dmrs=0,
NG Toolset開發筆記--5GNR Resource Grid(32)
2018/10/19號完成: *Dedicated Coreset and searchSpace (--> put to #30 together with Coreset0/Css0) *
NG Toolset開發筆記--5GNR Resource Grid(33)
10/23~10/28完成: *PT-RS for PDSCH (<-- should be put together with #6-PDSCH resource allocation)
企業專案開發--本地快取guava cache(1)
此文已由作者趙計剛授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 1、在實際專案開發中,會使用到很多快取技術,而且資料庫的設計一般也會依賴於有快取的情況下設計。 常用的快取分兩種:本地快取和分散式快取。 常用的本地快取是guava cache,本章主要介紹guava cach
企業專案開發--本地快取guava cache(2)
此文已由作者趙計剛授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 AdminCacheKey: package com.xxx.vo.userManagement; /** * guava cache的key */
Unity遊戲開發教程:飛機大戰(一)
Unity版本:Unity 2018.2.14f1 新建專案 File -> New project -> 輸入Project name -> Preate project 匯入飛
uCOS-II學習筆記:實時作業系統(一)
1.前後臺系統:前後臺系統的架構用一句話來形容的話,就是一個大的迴圈,加上中斷,就形成了一個整的體系。 假設來了中斷需要處理模組3,如果模組3的處理是最緊迫的,但是當前cpu 只執行到模組1, 這樣的話,必須還要承受模組2的執行時間延遲,才能輪到模組3的處理,當模組越多的
演算法筆記:動態規劃(DP)初步
專題:動態規劃(DP)初步 內容來源:《挑戰程式設計競賽》(第2版)+《演算法競賽入門經典》(第2版)+網上資料整理彙總 一、引入 動態規劃程式設計是對解最優化問題的一種途徑、一種方法,而不是一種特殊演算法。不像前面所述的那些搜尋或數值計算那樣,具有
React筆記:組件(3)
復用 模塊 數組 one .com ren reac component 定義 1. 組件定義 組件是React的核心概念,組件將應用的UI拆分成獨立的、可復用的模塊。 定義組件的兩種方式: (1)類組件:使用ES6 class (2)函數組件:使用
Visual C++ 遊戲開發筆記 紋理對映技術(一)
一、引言 江山如此多嬌,風景如畫。萬物都有其獨特的特點。真實世界中的物體,在計算機三維世界中如果單單用各種各樣的幾何體以及頂點座標,頂點顏色來模擬的話,往往缺乏生機,往往差強人意。 比如說我們要繪製出如下效果的一個貼了瓷磚的立方體: 綜合我們之前講過的知識,繪製一個立方體是小菜一
微信小程式:開啟設定(許可權)頁面
想標題的時候冷卻了一下,想了想,還是跟著大家叫設定好玩點 很多情況下,我們是需要使用者的個人資訊的,但是如果使用者不小心在授權彈窗中點選了false,那麼可能就會打斷我們的任何臆想,所以我們在需要的時
Azure學習筆記:Cloud Service(4)
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> <h1>Customer Information Management</h1> <p>
Tensorflow學習筆記:基礎篇(7)——Mnist手寫集改進版(Tensorboard視覺化)
Tensorflow學習筆記:基礎篇(7)——Mnist手寫集改進版(Tensorboard視覺化介面) 前序 — 前文中,我們在三層全連線神經網路中使用了學習率隨迭代次數增加而逐漸衰減的AdamOptimizer優化器來完成MNIST資料的分類問題,最