端口映射+DDNS

端口映射+DDNS应该是目前最理想的内网穿透方式了,在拿到公网IP后我也准备尝试下此方案

端口映射

通过设置端口映射定义广域网服务端口范围的访问和局域网网络服务器之间的映射关系。

这部分的设置就比较简单了,基本现在所有的路由都有此功能

端口映射

添加后我们就可以通过公网IP+映射的端口访问我们的内网服务了,但由于公网Ip是动态变化的,因此我们还需要一个域名来配合

注册一个免费域名

免费的不要白不要,前往 http://freenom.com 注册一年的免费域名,好像到期前可以继续免费续费,具体的一年后再说吧。。啊哈哈。我这里注册了一个 onas.tk 貌似还行,不过他家的解析不太行,我们将DNS服务器指向其他解析商,这里选择了DNSPod来作为域名解析。

DNS

我们直接使用DNSPod的DNS服务器

DDNS

大概在github逛了下,最后选择了 https://github.com/TimothyYe/godns 这个作为DDNS解析,选择它因为有三点:

1.支持的服务商(AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS)较多,日后更换较为方便

2.自动的定时任务,不用自己添加

3.支持邮件提醒

配置也是比较简单,直接下载release版本解析。

创建配置文件

{
  "provider": "DNSPod",
  "login_token": "xxxx,xxxxxxxxxx",
  "domains": [{
      "domain_name": "xxxx.cn",
      "sub_domains": ["@"]
    }
  ],
  "ip_url": "https://myip.biturl.top",
  "interval": 300,
  "socks5_proxy": "",
  "notify": {
    "enabled": true,
    "smtp_server": "smtp.qq.com",
    "smtp_username": "xxxxx@qq.com",
    "smtp_password": "xxxxxxx",
    "smtp_port": 465,
    "send_to": "xxxxx@qq.com"
  }
}

login_token 自行到DNSPod获取,interval更新间隔,SMTP邮件配置等

运行

./godns -c ./config.json

最后加入到自启动