Shell脚本实现动态配置IP与路由:解决嵌入式Android/Linux有线和无线网卡双网共存问题
在项目中遇到需要远程调试和运维,一是为了节约公司成本,二也是为了节省人力。
项目的基本架构是边缘系统自成一局域网:包括linux系统的机器、其他嵌入式设备、路由器,路由器一般是普通的路由非4G路由。linux系统机器配置了多张网卡(有线网卡、无线网卡),我们想利用这个linux机器作为网关,一是做反向代理进行内网穿透,二是进行内、外网打通。
局域网网段为192.168.1.X,路由IP:192.168.1.1,linux机器有线网卡连路由配静态IP:192.168.1.180
linux机器无线网卡连接可以通公网的WIFI(可以连手机热点),配置dhcp模式以适应不同路由器网段,比如连接手机热点获得的IP:172.20.10.2,这个能连接公网的网段最好要和局域网网段分开。此时ping www.baidu.com 应该是不通的,因为一般来说局域网的路由优先级会高于无线网卡的那个路由。
使用ngrok进行反向代理。编辑sudo vim /etc/hosts这个文件,手动添加主机,106.12.90.X tuvwx.com,这一步的目的防止因为dns原因无法得到云端代理服务器地址。
然后增加一条路由表记录
sudo route add -host 106.12.90.X dev wlan0
这一句在sudo route路由表中增加了一条规则,如果是到主机地址106.12.90.X的数据,就通过wlan0这个网卡走
这个时候应该就能ping通tuvwx.com这个地址了
接下来就可以起ngrok进程,远程连接上干活了。