前言
为了实现让外网连接到内网的开发环境,有下面几种办法可以实现。
- VPN
- 内网穿透
- 端口映射
根据需求,VPN不符合我们的需要,内网穿透可以实现,但是经常尝试不太稳定,我们通过端口映射。
分析
我们通过内网端口映射到指定服务,这样我们就是根据IP以及端口来实现在外网的情况下也可以实现对内网的指定服务的访问。但是公司的网线并不是专线,IP地址会随时发生改变,如何让外面的人稳定的连接到开发环境呢。
- 如何解决IP动态变动问题 -- > 通过域名
- 如何解决动态域名解析 --> DDNS
如何实现DDNS
- 判断该域名是否处于联通状态
- 动态获取公司现在的外网IP
- 通过阿里云的接口实现更改域名解析地址
安装
pip3 install aliyunsdkcore
pip3 install aliyunsdkalidns
代码实现
#!/usr/bin/env python
#coding=utf-8
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest
client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-shenzhen')
request = UpdateDomainRecordRequest()
request.set_accept_format('json')
request.set_RecordId("XXXXX")
request.set_RR("test")
request.set_Type("A")
request.set_Value("192.168.0.199")
request.set_TTL(600)
response = client.do_action_with_exception(request)
# python2: print(response)
print(str(response, encoding='utf-8'))
网友评论