零、基礎知識
開始以前先介紹點基礎知識。
0.1 路由器=軟件+硬件
一切電子設備均可看做軟件與硬件的有機結合,路由器也不例外。
路由器軟件的功能即進行路由轉發,其系統基本上都是基於Linux系統修改而來,最有名的莫過於OpenWRT了,其餘還有RouterOS、愛快、海蜘蛛等路由器系統,OpenWRT有一些衍生系統,Lede就是其中之一,國內那些「智能」路由器廠商其路由器系統大多也是基於OpenWRT定製而來。
路由器硬件可更進一步地分爲專門硬件以及通用硬件。所謂專門的硬件即專門爲了進行路由轉發的硬件,好比普通意義上的路由器(一些路由器甚至內置了硬件級NAT,來提升轉發效率)。功耗性能難兩全,通常的路由器爲了下降功耗大多采用ARM架構的硬件,一般性能較弱,固然也有一些高端性能強的路由器,其架構也不限於ARM,好比有些就是x86架構。
正由於通常的路由器性能太弱,而高端的路由器其性能也不會強到哪去(關鍵還比較貴),因此就有不少人使用樹莓派、Intel Atom平臺(典型的N3160等)之類極其廉價的通用計算硬件來做爲路由器(畢竟路由器的基礎硬件只須要計算平臺+網卡而已)。
使用通用硬件的路由咱們通常稱之爲「軟路由」,正由於使用通用硬件,因此其系統不只限於路由器系統,可使用通常的PC系統來手動配置多個網絡接口間的路由轉發,較爲傻瓜式的可使用Windows的網絡共享,複雜點的可使用Linux下的iptables/dnsmasq等工具。
更進一步的不侷限於傳統PC系統,使用虛擬機(VMware/Hyper-V/ESXi/VirtualBox等)來虛擬運行路由器系統都行。並且虛擬機方案可玩性很高,不只能夠掛路由器系統,還能夠掛羣暉等NAS系統以及普通PC系統,使之成爲一個Homelab/家庭媒體中心,路由器系統實現基礎路由功能以及$$、過濾廣告、kms等,NAS系統/普通PC系統等更能夠搭建NAS、私有云、離線下載、Git服務器、蘋果的TimeMachine服務器等等,將來智能硬件變多還可變成一個智能家居的設備控制中心(好比羣暉裏面如今就有一些智能硬件的插件)。其結構如圖所示:
固然這種方案爲了實現更多功能捨棄了低功耗。
0.2 何爲「智能路由」
最近智能路由的概念炒的比較火,小米等廠商都推出了本身的智能路由產品,其實「智能路由」不是一個新的概念,好久以前就有,其與普通路由器的區別在於「智能」。
回顧手機與智能手機的區別,其關鍵在於可擴展性,即智能手機能裝各類app實現新的功能,智能路由也是如此,智能路由上的app咱們通常稱之爲插件。
智能路由就能夠經過安裝各類插件實現上面提到的那些功能:廣告過濾、離線下載、KMS服務器(激活Windows、Office等)、流量控制、多撥(一些地方的寬帶能夠多撥實現網速翻倍)等。php
1、安裝指南
前文提到Lede是一種開源的路由器系統,能夠根據本身需求進行定製,推薦咱們論壇定製的Lede x64,已經集成了大量硬件驅動及經常使用插件,能夠省去不少功夫。
1.1 安裝
工具:Lede x64鏡像文件,physdiskwrite寫盤工具,另外一臺可用的Win系統的電腦(不妨稱之爲電腦A,準備做路由器的電腦稱之爲電腦R)
這裏咱們假設安裝的目標硬件是通用硬件,且含有兩個網卡eth0 eth1,咱們將把Lede安裝在其硬盤上(U盤同理)。(VLAN啥的我也沒有,不知道咋配,別問我單臂路由怎麼玩,手動捂臉。。。。)
koolshare論壇的lede下載地址:
http://firmware.koolshare.cn/LEDE_X64_fw867/
或者到lede官網下載原版lede x86/x64:
https://lede-project.org/
physdiskwrite工具官網:
http://m0n0.ch/wall/physdiskwrite.php
或者自行百度physdiskwrite。
PS:koolshare論壇的lede跟lede官網的安裝方式相同,只不過原版lede要本身安裝語言包以及各類插件,有時還須要本身安裝驅動。
安裝過程很簡單,就是將磁盤的所有分區刪除再將鏡像寫入便可。
從網站上下載的到.img.gz格式的文件,將其解壓獲得.img的文件,不妨假設文件都放到了D盤根目錄,將目標路由器的硬盤(或U盤)掛在電腦A上,使用系統自帶的磁盤管理或者Diskgenius等軟件將硬盤上的全部分區刪除掉。
管理員權限打開命令行,使用physdiskwrite將.img寫入目標硬盤:
```
> d:
> physdiskwrite -u lede-v1.9-update14-r4864-32deee9-x86-64-combined-squashfs.img
```
這裏輸入數字0 1 2等選擇磁盤,特別注意不要選錯了,會把磁盤全部數據抹除。
等寫入完成,再將磁盤/U盤掛載到電腦R上,將電腦R設置爲從該磁盤/U盤啓動便可。
啓動界面如圖所示:
這時其實已經啓動好了,Enter一下就能用了(僅做示意,版本號會有不一樣):
1.2 配置
1.2.1 基礎上網設置
下面就進行上網的配置,咱們規劃eth0做爲LAN,eth1做爲WAN/WAN6(ipv6所用到的)。
使用vi來修改網絡配置文件/etc/config/network:
```
# vi /etc/config/network
```
典型的配置爲:
```
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ifname 'eth0'
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
config interface 'wan6'
option ifname 'eth1'
option proto 'dhcpv6'
```
再使用命令重啓下網絡便可:
```
# /etc/init.d/network restart
```
這時使用電腦A直接網線連上電腦R的網卡eth0(插上時有` eth0: link up, 100Mbps`或`became ready`之類的提示)。
電腦A的網絡適配器設置爲自動獲取IP地址及DNS,不出意外就能夠在瀏覽器端經過`192.168.1.1`訪問路由器(即電腦R)了:
初始密碼爲koolshare(也就是root用戶默認密碼):
這時再插上eth1口的網線就能正常上網了,PPPoE撥號上網只須要經過 `網絡->接口` 切換wan的協議爲PPPoE,再配好用戶名密碼便可。
2、功能簡介
這裏只揀部分功能進行介紹。
2.1 概況
該部分主要是一些狀態相關的,主要的就是系統日誌,能夠查看一些重要信息及異常等。
2.2 系統
- 系統:主要是設置語言界面、時間同步等
- 管理權:管理員密碼等設置
- 軟件包:各類插件的安裝
- WebShell:瀏覽器段的一個終端,不用每次都跑去操做實機
- 啓動項:啓動進程及腳本設置
- 計劃任務:就是Linux的crontab
- 時間同步:不解釋
- 掛載點:多硬盤掛載
- CPU限制:限制一些進程的CPU佔用,防止一些太吃資源的進程(好比離線下載的)把基礎的路由進程擠得太慘
- 備份/升級:能夠備份&恢復配置,以及上傳.img.gz的新lede包升級
- 進階設置:不要亂改,ui界面不少改的不靠譜,強烈建議用webshell手動改
- 定時重啓:不解釋
- 文件傳輸:把文件上傳到路由器磁盤裏面
- 文件管理:管理路由器磁盤裏面的文件
- 釋放內存:通常不須要,Linux內存管理與win不一樣,路由器上即便佔用很高通常也沒事
- 重啓&關機:不解釋
2.3 服務
只介紹部分,通常有界面的插件(軟件包中luci-app開頭的軟件包)安裝後會在這個菜單裏顯示
- koolproxy:廣告過濾神器,能夠有效過濾各類視頻廣告(優酷、271等等,若是使用Chrome等記得禁用Adblockplus等插件對這些網站的過濾,不然還會有廣告被攔截的提示),可是可能會卡網
若是發現一些網站訪問很不正常能夠嘗試關閉kooproxy後清一下瀏覽器緩存再試試,若是還有問題是網絡的鍋,沒問題的話能夠本身研究下規則部分,再到koolshare論壇反饋。
- 網絡共享:使用samba協議共享掛在路由器上的磁盤分區。
- Transmission&Aria2:離線下載工具,能夠遠程操做讓路由器下載各類文件及bt種子。
其實配合網絡共享、DDNS等能夠作到遠程訪問下載器,上傳下載任務,到實驗室後就能夠經過`\\192.168.1.1`來訪問下載好的文件(好比看電影),豈不美哉~
- KMS服務器:激活windows&office:
管理員權限命令行執行
```
# 激活windows
cd C:\Windows\System32
SLMGR.VBS /SKMS 192.168.1.1
SLMGR.VBS /ATO
SLMGR.VBS /XPR
# 手動激活office2016,其餘相似,通常局域網裝Office會自動激活
cd C:\Program Files\Microsoft Office\Office16
CSCRIPT OSPP.VBS /SETHST:192.168.1.1
CSCRIPT OSPP.VBS /ACT
CSCRIPT OSPP.VBS /DSTATUS
```
- 打印服務器:可讓路由器直接鏈接打印機,平時無需專門用u盤拷文件,只須要再本身電腦上配個網絡打印機就行,感興趣的能夠研究下。
- 動態DDNS:簡單說就是由於通常PPPoE從新撥號後IP地址會發生變更,這東西讓你可以把運營商浮動的外網IP地址映射到一個固定的域名。- 內網穿透:因爲大局域網的環境下,一些地方並無公網IP,或者因爲防火牆等緣由,動態DDNS無能爲力,只能經過ngrok、frp等方式來穿透內網。- 網絡喚醒:讓你可以經過外網喚醒局域網內的一臺電腦。(電腦的網卡&主板必須支持喚醒才行)
- 其餘:不一一介紹,感興趣的能夠自行研究。
2.4 QOS
Quality of Service,就是爲了防止頁面訪問、遊戲等的數據包被下載等給擠得排不上隊。
比較複雜,並且可能跟廣告過濾V-P-N等衝突,除非你知道你在幹嗎,不然通常別動它。
2.5 V-P-N
fqg、$$啥的我徹底不懂的~
2.6 管控
雖然有不少功能,可是基本上都是WIP,還不能用。
2.7 網絡
- 接口:配置網絡接口
- 無線:若是有無線網卡能夠直接配置看成無線路由器
- DHCP/DNS、主機名:不解釋
- ARP綁定:綁定LAN的IP地址分配
- 靜態路由、DMZ、防火牆、診斷、PPPOE穿透:不解釋
- 多線多撥:有些地方的運營商在PPPOE撥號留的有相似後門的東西,能夠利用多條入戶網線多撥疊加網速(其實也有單線多撥,感興趣的能夠自行百度)
- 負載均衡:必定要在`策略路由`裏把它關了,這玩意會不斷ping運營商的dns,可是常常會由於網絡負載等緣由ping不通,這玩意就會讓網卡重啓,致使掉線。。
web