网络基础之域名解析

Next

注册zhangqihui.cc,用于手机建站

2017年12月13日:注册hidc.cc

前言

拥有自己的顶级域名!本文主要是关于域名解析以及域名的一些知识点记录。主要解决DNS污染问题以及个人DNS访问的便利性。

零、DNS基础知识

在Android Termux中:

pkg install dnsutils

dig www.greydesign.tk
DNS原理入门
自建DNS缓存服务器加快上网速度
找出最快的 Facebook 主機

一、拥有自己的顶级域名

注册过qdmcad.com,注册了qdmcad.cn(以后不注册cn域名了,据说有很多限制,具体是啥我也不清楚),还注册了免费的顶级域名greydesign.tk、hisense.tk。可惜zhangqihui.com被注册了,等明年抢回来。是时候长期注册自己的com域名了!

费用问题:域名注册商的收费策略一般是首年优惠,首次多注册几年或者续费都会贵一些,很让人纠结啊。看网上的一般应对方法是找优惠码。其实固定使用自己的顶级域名,10年也就是800元以内,和付出相比,带来的幸福感是长久的,值得的。

先在万网注册 zhangqihui.me 吧,首年13,GoDaddy首年3个多美金,贵一些。

域名注册商选择问题:

cn域名限制问题:
域名抢注问题:

假设自己的顶级域名过期了,有优先续费的权利吗?是在域名注册的时候设置吗?
域名解析
我目前使用了两种,一种是A,就是直接用ip地址,比如我的vultr服务器,另一种是CNAME,用ALIAS的方法,比如我的github博客。

问题,A解析,有www和@两种选项,需要分别填入ip地址,一般需要填写一样的,那填写不一样的会有什么好处呢?

二、同一个服务器,多个域名,多个网站,兼谈nginx配置

一、VirtualHost
只有一个Apache服务器,可以建立多个网站吗?换一种说法,只有一个公网IP,可以用多个域名指向多个主页吗?当然,可以通过apache的VirtualHost实现:

$ apache2 -v
$ sudo vi /etc/apache2/sites-enabled/000-default.conf
加入如下内容:
<VirtualHost *:80>
ServerName www.greydesign.tk
DocumentRoot /var/html/greydesign
</VirtualHost>
二、nginx对域名的设置 比如我申请了免费的`www.greydesign.tk`域名,同时`greydesign.tk`域名也就是我的了,有如下四种方式可以访问我的网站:
http://greydesign.tk
https://greydesign.tk
http://greydesign.tk
https://www.greydesing.tk
由于我在nginx中设置了`ssl on`,使用`http`访问会返回如下错误
400 Bad Request
The plain HTTP request was sent to HTTPS port
这就需要修改`/etc/nginx/sites-enabled/default`配置文件 三、在家登录公司邮箱,返回错误信息,原来公司用的服务器也是nginx啊,502错误是啥意思?
502 Bad Gateway
nginx

三、关于DNS的事情

1、问题提出

在树莓派上建起一个web服务器,用的Wordpress,写了几篇文章,结果存在很多问题:

1)外网无法访问web服务器:

在内网可以通过本地ip地址、公网ip地址以及域名正常访问,可真到了外网,只有树莓派的ssh可以正常访问,web服务器却访问不了。

我是在路由器中,用DMZ将web服务器发布出去的。参考了网上的文章发现,其实可以用端口映射的方法发布。在梅林固件中,分别在菜单“外部网络(WAN)->DMZ以及端口转发”设置。

梅林固件有自己的ssh以及web管理用相关接口,ssh管理在菜单“系统管理->系统设置->SSH Daemon”中,缺省只能用于LAN,所以我在外网ssh树莓派没有任何问题。web管理在菜单“系统管理->系统设置->从互联网管理R7000”中,用的是8080端口。我关闭了DMZ设置,改为用端口映射的方法发布树莓派的web服务器。

但无论是端口转发,还是DMZ,外网始终看不到个人主页,看网上文章,似乎是宽带服务商禁止了个人的80端口!如何查询端口,等有时间再学习吧。家里右qnap的NAS,通过qnap的动态域名是可以顺利访问的,估计用的是NAS的专用端口,问题是用的哪个端口,为啥在路由器中不需要设置?还有,家里的360摄像头、小米智能设备,都是如何通过路由器与外网顺利连接的呢?

2)多个域名解析问题:

我申请了三个域名,两个tk免费域名,一个cn付费域名,都指向本站。可是Wordpress建站只支持绝对路径访问,也就是站内链接只能使用一个域名,其他两个用不了。网上有将Wordpress绝对地址改为相对地址的方法,比如:让wordpress按“相对路径”访问的方法。我试用了一下,主页就打不开了!配置文件所在的目录是“/var/www/,修改后即时生效,不需要重启wordpress服务”。还有改源代码的方法,比如:WordPress简单实现站内相对链接路径

以下是舍不得删除的乱七八糟的草稿:

DNS解析:在路由器中“DMZ”中将树莓派的内网地址对WAN公开。申请tk免费域名,或花钱申请顶级域名,绑定路由器的公网IP,当然也可以用花生壳发布公网IP。在当前的恶劣网络环境下,能不用大陆的网络服务就不要用,我在万网购买的”www.qdmcad.cn",目前的解析还不如免费的“www.zhangqihui.tk”呢。

2、搭建DNS服务器,参考:

RaspberryPi 利用 Unbound 搭建 DNS 服务器
以下安装配置dnscrypt-proxy和dnsmasq的步骤,需要补充官方手册!暂时按照上文尝试:
(1)编译安装libsodium(树莓派那可怜的编译速度啊,该买树莓派3了!)

sudo apt-get install build-essential
wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar zxf LATEST.tar.gz && cd libsodium-*
./configure && make && sudo make install
sudo ldconfig #必须用sudo,否则会有权限错误提示

(2)编译安装dnscrypt-proxy

cd #回到home目录
wget https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.7.0.tar.gz
tar zxf dnscrypt-proxy-1.7.0.tar.gz
cd dnscrypt-proxy-1.7.0
./configure
make && sudo make install

(3)启动dnscrypt-proxy,似乎出错了!

pi@raspberrypi:~/dnscrypt-proxy-1.7.0 $ cd
pi@raspberrypi:~ $ sudo dnscrypt-proxy –resolver-name=cisco –local-address=127.0.0.1:5678 –daemonize
[INFO] - [cisco] does not support DNS Security Extensions
[WARNING] - [cisco] logs your activity - a different provider might be better a choice if privacy is a concern

DNS,是个一言难尽的事情。有两个相关的事情,一是避免DNS污染,二是正确解析家里的公网IP。
怎样应对 DNS 污染?
dnscrypt-proxy+dnsmasq搭建无污染DNS服务器
openwrt 上通过 pdnsd 和 dnsmasq 解决 dns 污染

关于一级域名,目前我申请了几个免费的tk域名,一个付费的cn域名。免费域名有hisense、zhangqihui、greydesign,付费域名有qdmcad。免费域名解析问题不大,付费的那个是在万网申请的,问题很多!

四、How to : wordpress更改域名之后无法访问的完美解决办法

免费的二级域名,可以使用著名的花生壳。
科学上网——搭建自己的DNS服务器
请教如何能自己建立一个私有的 DNS 服务器呢?

这几天www.freenom.com网站突然抽风了(也可能是我的网络出了问题),无法更新域名www.greydesign.tk到我的新外网ip,导致我的网站无法打开。
其实有一个一直困扰我的问题:明明树莓派服务器就在我的身边,我还要通过自己的域名www.greydesign.tk访问,无法通过本地ip地址来直接访问!现在好了,域名失效了,逼我通过ip地址访问。
找到了一篇好文章:
wordpress更改域名之后无法访问的完美解决办法
以下是解决步骤:

1、通过putty访问我的树莓派,注意用户名是‘pi’;
2、cd /var/www/html/wp-content/themes/primer #我使用的theme是primer
3、sudo vi functions.php #增加两行内容,注意,我设置了https访问
update_option(‘siteurl’,’https://192.168.1.232’);
update_option(‘home’,’http://https://192.168.1.232’);

好了,通过ip地址访问成功:https://192.168.1.232

后记:等freenom网站恢复了以后,我把设置文件中的两行ip地址解析删除了,但站内的链接还是通过ip地址,不能马上生效。wordpress能不能既支持ip地址,又支持域名解析呢?

五、IBM DNS 9.9.9.9

在公司ping 8.8.8.8 (Google的DNS),延时只有20多毫秒,但很快就请求超时。在家里,直接就超时了

IBM 新提供了 9.9.9.9 DNS服务,在WiFi下,设置手机的DNS,并没有实现翻墙,FGW如何阻隔的?