
路由器修改hosts上外網(wǎng), 修改hosts這個(gè)功能相信對(duì)于有一定網(wǎng)絡(luò)基礎(chǔ)的發(fā)燒友來說一定都聽說過,但很少去用甚至很少接觸這個(gè)功能。接下來讓我們了解一下路由器修改hosts上外網(wǎng)
前言
最近買了一臺(tái)群暉nas,是已經(jīng)停產(chǎn)的ds218play(因?yàn)闆]錢),開始了小白瞎折騰的漫長(zhǎng)過程。因?yàn)殚L(zhǎng)期在外,想通過域名訪問家里群暉dsm實(shí)現(xiàn)多種功能,例如外網(wǎng)映射磁盤,具體教程看鏈接,但是這樣以后發(fā)現(xiàn)內(nèi)網(wǎng)無法用域名訪問dsm!經(jīng)過漫長(zhǎng)的.摸索以后,我這個(gè)小白竟然成功了!在這里分享給大家具體方法,不用putty,不用secureCRT即可實(shí)現(xiàn)!
正文
首先在網(wǎng)上下載WinSCP軟件,下載安裝后如圖
選擇 SCP 協(xié)議,主機(jī)名也就是自己路由器的管理頁面 IP,用戶名和密碼也和登陸路由管理頁面用的一樣,連接即可。端口不變,填寫完后點(diǎn)登錄,如圖
連上之后一路往回到路由根目錄,進(jìn)入/jffs/configs 目錄,新建一個(gè) dnsmasq.conf.add 文件,寫入以下內(nèi)容:addn-hosts=/jffs/configs/hosts
寫入方式就和平時(shí)windows編輯txt文本文檔一樣,注意文件名就是dnsmasq.conf.add
再新建一個(gè)文件,文件名就是hosts,再寫入以下內(nèi)容(我的群暉nas內(nèi)網(wǎng)IP是192.168.50.66):
192.168.50.66 www.xxx.xxx
例如:192.168.2.164 smartplugconnect.phicomm.com
兩個(gè)文件添加完以后,彈出的對(duì)話框選擇“是”,再重啟路由器。然后局域網(wǎng)內(nèi)任何一臺(tái)電腦(最好是其它電腦)用windows powershell(管理員)ping一下你的域名,出現(xiàn)nas的內(nèi)網(wǎng)IP就成功了!
引子
聯(lián)通網(wǎng)絡(luò),入戶給配了智能光貓(集成光貓和無線路由器的功能),192.168.0.1 是智能光貓的地址。光貓后面就是華碩路由器,華碩路由器自動(dòng)獲取的 IP 地址 192.168.0.2 ,路由器本身的登錄地址改為192.168.50.1,路由器的子設(shè)備為192.168.50.xxx。
在路由器的子設(shè)備中有一個(gè) Synology(群輝) 的 Nas,端口映射到外網(wǎng),有真實(shí)的外網(wǎng) IP 地址,外網(wǎng)可以正常訪問。但從光貓、路由器內(nèi)的局域網(wǎng)中,都無法直接訪問這個(gè)外網(wǎng) IP 地址,Ping 也無法 Ping 通。
問題
綜上,尷尬的事情就來了,Nas 綁定的域名無法在我的局域網(wǎng)內(nèi)訪問 Nas,因?yàn)橛蛎赶虻氖俏?Nas 的外網(wǎng) Ip 地址,但是這個(gè) Ip 并不能在我家的局域網(wǎng)內(nèi)訪問,所以,一旦連接上我家的 WIFI 后,訪問我的 Nas 域名,就要自動(dòng)指向到我 Nas 的內(nèi)網(wǎng) IP 地址。
解決
既然只有連接到我家的 Wifi 時(shí)需要將 Nas 的域名指向到我家的內(nèi)網(wǎng) Ip 地址,那么我就從路由器動(dòng)手,在路由器作為 DNS 服務(wù)器的時(shí)候,將域名的請(qǐng)求指向 Nas 內(nèi)網(wǎng) IP 。
修改路由器 Hosts
華碩路由器本身無法直接修改 Hosts 文件,因?yàn)槲募薷臋?quán)限不夠,就像 iOS 需要越獄、Android 需要 Root 一樣,路由器也需要獲取到管理員權(quán)限,才能對(duì)其核心文件進(jìn)行修改,所以分兩步,首先給路由器刷梅林固件,然后再使用 WinSCP 連接路由器,改 Hosts 文件。
華碩路由器刷梅林固件
因?yàn)檫@個(gè)不是本篇文章的主要內(nèi)容,我就簡(jiǎn)單略過了,梅林固件的安裝也非常簡(jiǎn)單,和安裝原版固件基本相同。
升級(jí)固件
系統(tǒng)管理 - 固件升級(jí) - 新固件文件,選擇梅林固件之后,點(diǎn)擊上傳,然后按照提示省級(jí),重啟就好了。
建議
如果可以的話,還是進(jìn)入系統(tǒng)管理 - 恢復(fù)/導(dǎo)出/上傳設(shè)置里面把配置文件先備份一下,以后也方便。
初始化路由器
升級(jí)完成進(jìn)入https://router.asus.com,會(huì)出現(xiàn)自動(dòng)設(shè)置向?qū)?,點(diǎn)擊 跳過設(shè)置向?qū)?(因?yàn)榈认乱謴?fù)出廠),進(jìn)入 系統(tǒng)管理 - 系統(tǒng)設(shè)置,勾選 Format JFFS partition at next boot,點(diǎn)擊 應(yīng)用本頁面設(shè)置。
恢復(fù)路由器出廠設(shè)置
進(jìn)入 系統(tǒng)管理 - 恢復(fù)/導(dǎo)出/上傳設(shè)置,在 原廠默認(rèn)值 一欄,點(diǎn)擊 恢復(fù) 按鈕,恢復(fù)出廠設(shè)置。
重新配置路由器
重新進(jìn)入https://router.asus.com,現(xiàn)在可以根據(jù) 設(shè)置向?qū)?來配置你的`路由器登陸密碼和wifi密碼,或者你可以稍后自己設(shè)置。
配置軟件中心
進(jìn)入系統(tǒng)管理 - 系統(tǒng)設(shè)置,勾選Enable JFFS custom scripts and configs,點(diǎn)擊 應(yīng)用本頁面設(shè)置 (此步關(guān)系到軟件中心能否正常使用)
這樣,華碩路由器的梅林系統(tǒng)就安裝完成了,安裝梅林系統(tǒng)的同時(shí),路由器的權(quán)限也隨之獲取了,我們下一步就開始干正事。
配置 Hosts 文件
因?yàn)橐呀?jīng)取得了路由器的控制權(quán)限,所以我們首先將路由器的SSH功能開啟,然后利用 WinSCP 登錄到路由器中。
開啟路由器 SSH 功能
進(jìn)入系統(tǒng)管理 - 系統(tǒng)設(shè)置 - SSH 連接,按照我的截圖進(jìn)行設(shè)置即可。
注意
我截圖里面選擇的是只允許有線連接,如果你是無線連接的記得選擇 Wifi 可以使用 SSH ,更改LAN only那一項(xiàng)即可。
建立 SSH 連接
用瀏覽器打開下面的鏈接
ssh://admin@192.168.50.1
注意
上面SSH 鏈接的 admin 是我路由器的管理員帳號(hào)。
192.167.50.1 是我路由器的訪問地址
如果在 Mac 下可能出現(xiàn)以下錯(cuò)誤
這個(gè)錯(cuò)誤我沒有列全,因?yàn)樯婕暗降刂返刃畔?,如果出現(xiàn)以上錯(cuò)誤,在 Mac 本地刪除/Users/你的 mac 用戶名/.ssh/known_hosts中的所有文件即可。
Finder 中按shift + cmd + G或者直接 點(diǎn)擊菜單上的前往 - 前往本地文件夾
刪除該文件夾下的所有內(nèi)容
我們?cè)俅芜B接,輸入yes,進(jìn)行確認(rèn)。
然后輸入路由器后臺(tái)的登錄密碼,并出現(xiàn)以下畫面,表示登錄成功。
登錄到路由器
WinSCP 軟件,你可以通過WinSCP 官網(wǎng)進(jìn)行下載,或者直接點(diǎn)此下載。
安裝 WinSCP
安裝并打開程序后,點(diǎn)擊連接
引入 Hosts
登入完成后,點(diǎn)擊最上方的…,直到進(jìn)入根目錄,找到 jffs 目錄,進(jìn)入該目錄。然后在jffs目錄下,右鍵單擊,新建一名為dnsmasq.conf.add的文件,
完成后,點(diǎn)擊左上角保存按鈕保存該文件,然后關(guān)閉。
配置 Hosts
然后進(jìn)入該文件夾下的 configs 文件夾,,右鍵單擊,新建一名為hosts的文件,在文件中輸入你需要的 hosts 內(nèi)容
完成后,點(diǎn)擊左上角保存按鈕保存該文件,然后關(guān)閉。
注意
Ip 和域名之間有空格
重啟 DNS 服務(wù)
重啟dnsmasq服務(wù),來使hosts生效。
重啟路由器后依然存在并且有效。這樣,就可以了~!
一.什么是hosts.
hosts的英文是“主機(jī)”的意思,當(dāng)然這里的“主機(jī)”指的并不是我們經(jīng)常見到的主機(jī)箱,它有更深層的含義。在網(wǎng)絡(luò)技術(shù)中是關(guān)于發(fā)送與接收信息的終端設(shè)備,所以不僅僅是主機(jī)箱,理論上只要是組成網(wǎng)絡(luò)的具有發(fā)送和接收功能設(shè)備都可以稱為“主機(jī)”,我們的PC,移動(dòng)終端,路由器其實(shí)都是主機(jī)。
在大部分的支持網(wǎng)絡(luò)的操作系統(tǒng)中都會(huì)有一個(gè)hosts文件,系統(tǒng)的不同所在位置雖不同,但功能和格式卻大同小異。hosts文件是一個(gè)沒有擴(kuò)展名的系統(tǒng)文件,可以用記事本等工具打開。
其作用就是將一些常用的網(wǎng)址域名與其對(duì)應(yīng)的.IP地址建立一個(gè)關(guān)聯(lián)“數(shù)據(jù)庫”,當(dāng)用戶在瀏覽器中輸入一個(gè)需要登錄的網(wǎng)址時(shí),系統(tǒng)會(huì)首先自動(dòng)從Hosts文件中尋找對(duì)應(yīng)的IP地址,一旦找到,系統(tǒng)會(huì)立即打開對(duì)應(yīng)網(wǎng)頁,如果沒有找到,則系統(tǒng)再會(huì)將網(wǎng)址提交DNS域名解析服務(wù)器進(jìn)行IP地址的解析。
二.修改hosts有什么用
通過修改hosts,我們可以實(shí)現(xiàn)自定義本地的靜態(tài)域名和IP的解析關(guān)系,也就是將純數(shù)字難記的IP替換為我們能夠記得住的一組字符(域名),并且不僅僅應(yīng)用于http協(xié)議,理論上說在任何需要提供主機(jī)IP地址的地方都可以用余名所替代。但不論通過何種方式,域名最終都會(huì)被解析成對(duì)對(duì)應(yīng)的IP地址。
舉一個(gè)簡(jiǎn)單的例子,就像我們手機(jī)上的通訊錄,每一個(gè)用戶都對(duì)應(yīng)一個(gè)或多個(gè)號(hào)碼。當(dāng)我們需要給某人打電話時(shí),即使不記得他的號(hào)碼,也可以通過檢索姓名的方式撥出,但手機(jī)最終還是通過撥這個(gè)人的號(hào)碼來聯(lián)絡(luò)他的。
同樣的道理,計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)通訊無時(shí)不刻的需要和不同IP之間進(jìn)行數(shù)據(jù)交換。我們?cè)诨ヂ?lián)網(wǎng)的域名解析都是通過域名服務(wù)器來實(shí)現(xiàn)的。但本地的域名解析服務(wù)其中有一部分可以通過hosts來實(shí)現(xiàn)。
所以修改hosts的目的就可以定義本地的IP和域名的解析關(guān)系。對(duì)于經(jīng)常使用局域網(wǎng)的用戶會(huì)有很大益處。同時(shí)因?yàn)楸镜豩osts解析優(yōu)先于外網(wǎng),所以也可以用來作為屏蔽某一域名或指向不同位置。
三.危害
因?yàn)閔osts域名解析的優(yōu)先級(jí)是高于外網(wǎng)的。所入如果被錯(cuò)誤甚至惡意的篡改,一些域名可能就會(huì)被錯(cuò)誤的解析到其他位置,使其不能被正確的解析到真正的位置。導(dǎo)致一些問題甚至損失。尤其是一些涉及商業(yè),金融財(cái)產(chǎn)的網(wǎng)站,如淘寶網(wǎng),工商銀行網(wǎng)站。黑客常常通過修改PC或路由器上的hosts文件悄悄偷梁換柱。
當(dāng)你在訪問這些網(wǎng)站時(shí)其實(shí)已經(jīng)被解析到另外一個(gè)站點(diǎn),也許這些站點(diǎn)做的和官網(wǎng)沒有任何區(qū)別,當(dāng)你在訪問這些網(wǎng)站時(shí)就已經(jīng)有巨大的風(fēng)險(xiǎn),你所提交的信息都有被非法竊取和利用的可能。
我想這也是小米路由器團(tuán)隊(duì)一直沒有開發(fā)hosts功能插件的緣故,可能就是考慮一部分安全因素。如果在用戶不知其的情況下被惡意篡改風(fēng)險(xiǎn)還是很大的。同時(shí)也建議大家盡量預(yù)防hosts文件被非法修改劫持的情況!
文檔為doc格式