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时需要下载第三方插件,终端还需要进行浏览器代理设置。