Winse Blog

走走停停, 熙熙攘攘, 忙忙碌碌, 不知何畏.

科学上网(续)

到新的环境就会遇到新的问题,需要不断的学习更新来适应新的环境。上网也是一样,工作地点和家里存在了一道鸿沟。过去断断续续的有一些解决的方式,但是总是有点间接。

上周和同事讨论到在家访问公司服务器的方式时,可以通过花生壳的DDNS来实现域名动态绑定,相当于了把家里的宽带看做一个公网IP,花生壳实时的把域名解析更新为最新的IP。

有了公网IP后,就可以在公司访问自己的域名(绑定到了家里的IP),然后 反向代理 就可以在家访问公司环境了。

但是查了下对于花生壳的口碑都不咋的,其实只要能自动的更新绑定域名和宽带的IP,和花生壳的效果是一样。然后在 github 查到了 aliyun-ddns 定时检测和更新阿里云上的域名解析。

配置公网域名

我在此基础上调整了一个本地命令行版本 ,直接运行一个脚本就可以更新域名解析了:

1
./client.sh myhome.winseliu.com

注:默认电信宽带给你分配的内网IP的,你可以打10000号要他们给你分配改成外网IP。

本地环境配置

  • 本机SSHD配置
1
2
winse@DESKTOP-ADH7K1Q:~$ sudo dpkg-reconfigure openssh-server
winse@DESKTOP-ADH7K1Q:~$ sudo service ssh start

注:启动后,wsl shell窗口不能关!!窗口关闭后,wsl的所有服务都会停掉!

  • 无秘钥登录

为了安全,最好通过秘钥登录,把使用SSH的密码登录关掉。

1
winse@DESKTOP-ADH7K1Q:~/.ssh$ cat /business/server/id_rsa.pub >>authorized_keys
  • 路由器配置

  • 本机防火墙

参考 开放windows服务器端口—–以打开端口8080为例

配置反向代理

服务端访问自己域名,使用 -R 参数在本地创建一个10022的端口,数据转发到服务器的22端口。当你连本地的 127.0.0.1:10022 就相当于连接服务器的 22 端口。

1
/usr/bin/autossh -M 0 -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o StrictHostKeyChecking=no -NR 10022:localhost:22 autossh@myhome.winseliu.com -i ~/.ssh/id_rsa

当连接太慢、SSH提示信息一直不出来,你完全有理由怀疑本地端口被占用了!!查看本地端口状态:

1
2
3
C:\Users\winse>netstat /?

C:\Users\winse>netstat -ano |findstr 10022

如果端口被占用了,需要去任务管理器中关掉对应的PID的程序。

小结

速度比 teamviewer vpn 的方式快狠多狠多!!这个10000号值得打,这个ddns值得一试。

后记

说说 VS Code调试

使用Ubuntu中安装的Node:

1
"useWSL": true

https://code.visualstudio.com/docs/nodejs/nodejs-debugging

注意:这种外部启动的方式,会通过bash.sh运行node,所以就算停止调试后,Node进程还是一直存在的!!!需要通过任务管理器关闭。

–END

Comments