{"componentChunkName":"component---src-templates-blog-post-js","path":"/tech/2018-12-02-AutoUpdate/","result":{"data":{"site":{"siteMetadata":{"title":"Thankwsx's Diary"}},"markdownRemark":{"id":"9fba568c-92bd-5870-861c-c794b7be262c","excerpt":"电信拨号ip一直会变化，怎么自动更新ip呢。下面就是我的步骤。 步骤列表： 获取最新的ip地址 将最新的ip地址保存到线上 更新dns解析的指向 下面详细介绍下每一步的做法： 这一步比较简单，访问http://2018.ip138.com/ic.asp 即可获取到最新的ip…","html":"<p>电信拨号ip一直会变化，怎么自动更新ip呢。下面就是我的步骤。</p>\n<p>步骤列表：</p>\n<ol>\n<li>获取最新的ip地址</li>\n<li>将最新的ip地址保存到线上</li>\n<li>更新dns解析的指向</li>\n</ol>\n<p>下面详细介绍下每一步的做法：</p>\n<ol>\n<li>这一步比较简单，访问<a href=\"http://2018.ip138.com/ic.asp\">http://2018.ip138.com/ic.asp</a> 即可获取到最新的ip地址，当然得用电信拨号内网的机器访问才行。\nwget/curl即可，简单方便。当然如果条件允许，也可以用更复杂的语言和方法等等。系统自带的命令是最方便的。</li>\n<li>第二步稍微复杂一点，得首先有一个地方能保存起来。刚好我有一个腾讯云服务器，之前的文章已经介绍过，安装了adminer和mysql，那么只要有一个web server将api提供出来就可以了，这样我就可以在内网机器上将ip通过api保存进这个服务器的mysql数据库里了。\n一切以简单为主，这个云服务器上已经安装了node，8.11的版本，和一个pm2，装一个koa，开放一个记录ip的接口即可。</li>\n</ol>\n<p>  这也分成好几步：</p>\n<ol>\n<li>新建一个api.xxxx.xxx的子域名，布置好api接口，从内网机器访问该接口以保存ip；</li>\n<li>安装koa，mysql等依赖包，将request.query.ip参数及remote_addr保存起来；</li>\n<li>内网机器配置crontab，每3分钟访问一次该接口，达到定时刷新的目的。</li>\n</ol>\n<p><strong>插曲</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">```\nstream {\n        upstream db {\n                server xxx.xxx.xx:13306;\n        }\n        server {\n                listen 13306;\n                proxy_pass db;\n        }\n}\n```\n\n因为nginx的配置文件里，我这样写，导致nginx重启时失效了，说13306端口被占用，这里需要注意。 upstream里的本地端口需要改成与listen不一样的本地端口。</code></pre></div>\n<ol start=\"3\">\n<li>第三步，通过腾讯云提供的解析API更新域名指向</li>\n</ol>\n<p>这里主要重点是，要引入crypto和request模块，查看云解析API，计算Signature等等，根据云解析API的返回值判断是否操作成功。</p>","frontmatter":{"title":"2018-12-02 自动更新DNS解析","date":"December 02, 2018"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/tech/2018-12-02-AutoUpdate/","previous":{"fields":{"slug":"/201812/2018-12-01-Sync/"},"frontmatter":{"title":"2018-12-01 同步"}},"next":{"fields":{"slug":"/201812/2018-12-02-Tired/"},"frontmatter":{"title":"2018-12-02 疲倦"}}}}}