Easytier異地組網與Nginx反向代理_--relay-network-whitelis easytier-CSDN博客
上一篇文章介紹了Easytier實現異地組網,基于Windows應用,本篇將探討如何將Easytier寫入光貓GS220-s中,實現更方便的家庭組網。
一、Telnet移動光貓GS220-s
1、管理員開啟Telnet
使用超級管理員CMCCAdmin,默認密碼:aDm8H%MdA,登錄光貓Web管理頁面,開啟Telnet。
2、user開啟Telnet
如果管理員密碼已被移動修改,可使用普通用戶user登錄,密碼可在光貓背面找到,然后使用跳轉目錄方式訪問,
http://192.168.1.1/web/cmcc/gch/getpage.gch?pid=1002&nextpage=web/../tele_sec_tserver_t.gch
F12打開瀏覽器開發人員工具,控制臺執行以下腳本:
setValue("TS_Enable", "1");
setValue("IF_ACTION", "apply");
$("#fSubmit").submit();
3、Telnet光貓
用戶名:admin,密碼與Web界面普通用戶user的相同。
二、GS220基本信息
1、CPU架構及內核版本:uname -a
2、硬盤分區:df –h
3、目錄掛載情況:cat /proc/mounts
最后確認GS220使用Linux armv7l架構,根目錄使用rootfs文件系統,為了保證重啟后文件不丟失,選擇容量較大的/dev/mtdblock11分區,即/usr/data目錄,作為下載保存Easytier程序的目錄!
rootfs文件系統是基于內存的文件系統,也是虛擬的文件系統,在系統啟動之后,隱藏在真正的根文件系統后面,不能被卸載。
4、分析光貓配置文件
在/etc目錄中,查詢光貓配置中的CMCCAdmin管理員
命令:find /etc |xargs grep "CMCCAdmin"
找到多個文件,確定配置文件為/etc/eponcfg/db_default_cfg.xml
其中可以獲取更多信息!
查詢/etc目錄中的xml文件:find /etc -name "*.xml"
在/etc目錄中查找包含“db_default_cfg.xml”的文件:find /etc |xargs grep "db_default_cfg.xml"
確定出/etc/init.d/rcS
壓縮/etc目錄到U盤(U盤插入光貓USB接口):tar czvf /mnt/usb1_1/GS220-etc.tar /etc
注:GS220將U盤識別并掛載為usb1_1
分析rcS文件,光貓啟動時,判斷/etc和/userconfig/cfg目錄中的配置文件是否一致,不一致時,cp前者覆蓋后者!
5、其他命令及相關信息
CPU信息:cat /proc/cpuinfo
顯示操作系統內核及編譯環境的版本信息:cat /proc/version
顯示加載的內核模塊:lsmod
顯示USB設備信息:lsusb
壓縮/etc目錄到U盤(U盤插入光貓USB接口):tar czvf /mnt/usb1_1/GS220-etc.tar /etc
注:GS220將U盤識別并掛載為usb1_1
三、下載Easytier
1、Easytier官網下載arm框架的程序
解壓到/usr/data目錄,因為根目錄掛載為rootfs,重啟會丟失自己下載的文件。
2、解壓zip到/usr/data
解壓easytier-linux-armv7-v2.4.3.zip到/usr/data,或者通過U盤將easytier目錄復制到光貓usr/data目錄:cp -a /mnt/usb1_1/easytier /usr/data
3、運行Easytier
./easytier-core –version 命令已經成功運行!然后參考文檔https://easytier.cn/guide/network/quick-networking.html,命令行啟動easytier-core,進行異地組網!
4、將easytier-core設為Linux自啟動服務
可以保證光貓重啟后,自動運行Easytier進行異地組網,略。
四、補遺:Nginx正向代理與反向代理
上篇中提到通過設置Nginx反向代理,可以訪問到59.218.*.*專網Web,其實使用正向代理也可以實現!網絡結構參見上篇。
1、反向代理
必要時,pc1的nginx.conf需要增加以下頭信息:
? ? ? ? ? ? proxy_set_header Origin "http://59.218.*.*:4352";
? ? ? ? ? ? proxy_set_header Referer "http://59.218.*.*:4352/subsidy.html";
2、正向代理
pc1設置nginx.conf,如下:
server {
?? ?resolver 211.11.1.68;? ?#DNS
?? ?listen 80;
?? ?location /
?? ?{
?? ??? ?proxy_pass http://$http_host$request_uri;
?? ?}
}
完成后,還需要設置pc2瀏覽器Internet選項——局域網設置——代理服務器,地址設為pc1的虛擬ip:10.126.126.1,端口設為Nginx監聽端口80.
重新打開pc2瀏覽器,這時,pc2就可以通過pc1的Nginx正向代理訪問,pc1可以訪問的網絡!
3、正向代理與反向代理的區別
環境:pc1使用Nginx設置為代理服務器,pc2通過pc1的Nginx代理進行網絡訪問。
pc2 ------>pc1:Nginx代理 ------>pc1可以的網絡
正向代理:pc2需要設置瀏覽器的代理服務器(pc1)ip地址、端口號,
缺點:Nginx默認不支持https,需要下載第三方插件,每臺終端都需要設置瀏覽器代理。
優點:pc2通過pc1,可以訪問pc1能夠訪問的全部網絡,1對N。
反向代理:pc1設置好后,pc2通過pc1地址,只能訪問到proxy_pass的設定服務器,比如59.218.*.*,N對1。
優點:任何使用Easytier異地組網成功的終端,都可以通過pc1的10.126.126.1,訪問到特定Web服務器。
4、結論
當終端以Nginx代理為跳板,如果訪問某些特定服務器時,即有明確的訪問目標,多對一,建議使用反向代理;
如果訪問代理服務器所在的特定網絡時,即不考慮訪問目錄或目標不明確,建議使用正向代理,涉及https時需要下載第三方插件,終端還需要進行瀏覽器代理設置。