内容大纲
1 需求及现有条件
① 想将自己电脑(windows默认3389) 映射到公网去, 便于回老家时远程访问.
② 但是自己又没有公网ip, 所以不能搭FRP内网穿透.
此外即便有稳定的云服务器,使用frp内网穿透时,也受制于云服务器的带宽 ( 国内普遍1M吧, 土豪请忽略.. ), 影响操作流畅性, 比第三方的teamview好不了多少
③ 家里的光猫拨号获取的ip地址是动态的公网IP ( 每隔一段时间会自己变化 )
2 解决过程
① 首先光猫改成2层桥接模式 , 将拨号下放至自己买的路由器上
电信,联通,移动送的光猫有超级管理员账号和密码, 可以登陆进去自己更改,此处略繁琐, 但百度有很多教程
② 路由器成功获取了公网IP, 便可以映射端口出去.
在拨号的路由器上配置端口映射,将某个公网端口映射到对应电脑上
③
此时路由器虽然获取了公网IP,但该IP是动态的, 我们无法知道其何时改变,变成什么.
此时需要借助ddns动态映射, 只需要在机器上写个定时任务,每2分钟自动更新DDNS,将最新的公网ip与免费的域名绑定即可
此后只需记住免费的域名,不需再去了解公网ip变成了多少
具体操作; 写个脚本在内网机器上运行, 令其每2分钟自动访问ddns厂家的接口,更新公网ip即可
④ 最终mstsc 连接测试
3 常用的免费ddns厂家介绍
3.1 f332.net (公云)
国内的一家公司,提供免费的主机名供动态解析,但是只能解析ipv4,暂时不支持ipv6
免费的域名后缀只有一个 .f3322.net
使用方法:
更新接口在官网上都可以找到对应的详细文档,
例如:
# 使用 用户root 密码123456 来更新域名 aaaaa.f3322.net ,将其解析ip地址设置为 8.8.8.8, 并开启泛域名解析
curl -u "root:123456" "http://www.3322.org/dyndns/update?system=dyndns&hostname=aaaaa.f3322.net&myip=8.8.8.8&wildcard=ON"
用户密码验证时有2种选择 , 二选其一即可:
① www.3322.org的登陆用户名和登录密码
② www.3322.org登陆之后,个人页面设置可以专门设置 "更新密码" ,
当使用此密码更新ip时, 与之对应的用户名必须是root ,不能是登录用户
wildcard=ON 开启泛域名解析
3.2 dynv6.com
国外的免费ddns,支持ipv4和ipv6两种动态解析, 也支持接口刷新IP地址
具体的接口描述在官网都可以找到,