每天进步一点点:DNS & 清除DNS缓存

DNS(Domain Name System)是互联网上将域名解析成IP的一整套系统/机制,这样大家就可以通过有意义的域名(比如hive.blog这样的形式)来访问网站了,如果没有DNS,我们只能记录看起来没有一丁点意义的IP了。

image.png
(图源 :https://cn.bing.com/images/)

DNS

DNS是一个层次化的系统,比如我们想查询hive.blog,这个域名,那么先需要向根服务器发起请求,比如我们向根服务器之一的a.root-servers.net来查询的话,a.root-servers.net会给我们如下应答:

image.png

也就是说.blog后缀的域名是由a.nic.blog等四台服务器负责解析的,再依次查下去,最终会找到hive.blog的IP:

image.png

缓存

从上述内容不难看出来,DNS查询的过程还是很麻烦的。如果我们每次访问某个域名,都要经过这么多次查询,那么效率会很低,对资源也是极大的浪费。

所以就有了缓存系统,比如上边的A记录之一:

hive.blog 300 IN A 172.67.181.43

其中的300,有个专门的名称,叫TTL(time to live),翻译过来叫做存活时间,就是指这个记录在DNS缓存中存在多久后会失效。

本地DNS解析器会根据这个时间来缓存这个A记录,直到TTL归零(再次重新请求)。

缓存极大地提升了DNS解析的效率,也大幅降低各级DNS系统的负载,设想一下如果每次域名解析都要访问一遍根服务器,那么根服务器铁定就会累瘫痪的。

Windows下清理缓存

缓存虽然很有用,但是有一种情况还是会很恼人的,那就是DNS那边修改了记录,而由于缓存生命期还没完结, 那么本地的DNS解析器中可能保留的就是错误的记录。

上边这种300秒的TTL设置还好,如果设置成24小时或者更高,那就会很恼人了,所以有时候需要清理缓存。

Windows下清理缓存很方便,执行如下命令即可:

ipconfig /flushdns

我做的一个小工具也提供了相应的功能:

image.png

我程序中使用类似如下代码:

bool (WINAPI *DoDnsFlushResolverCache) ();
*(FARPROC *)&DoDnsFlushResolverCache = GetProcAddress(LoadLibrary(_T("dnsapi.dll")), "DnsFlushResolverCache");

如果失败了,则去调用ipconfig执行:

system("ipconfig /flushdns");
system("ipconfig /release");
system("ipconfig /renew");

Ubuntu (18.04)下清理DNS缓存

相比于Windows的命令行操作或者我的小工具,Linux下如何操作我还真不熟悉,原本以为ifconfig会有类似的选项,后来发现我多想了。

网上各种教程,但是可能是不同发行版和不同版本号的问题,很多都并不适用。最终我发现我的Ubuntu 18.04下有这两条相关命令:

查看状态:

sudo systemd-resolve --statistics

来执行下试试看:

image.png

清空缓存:

sudo systemd-resolve --flush-caches

我们可以再清空缓存后再调用查看状态命令来看一下:

image.png

可见原本存在的四条缓存内容已被清空。

补充说明

可能有朋友会问缓存清空后,记录就一定更新到最新吗?这个主要取决于DNS解析器所依赖的DNS服务。

怎么说呢?之前说个DNS解析是层次化的结构,简单点形容,就是一层层向上问,如果上层有缓存且还没过生存期,就会直接答复回来,否则就继续向上问。

所以我们清空了本地缓存,但是如果上层DNS/ISP DNS等缓存还没过期,那么有可能拿到的还是旧的信息。

所以上述方法只能解决本地解析器的缓存问题,大部分情况就够用了,如果遇到复杂情况,还是具体处理。

image.png
(图源 :pixabay)

当然了,最简洁的方法就是等缓存失效了,这样什么都不用做,静静地等待就好了。😀


This page is synchronized from the post: ‘每天进步一点点:DNS & 清除DNS缓存’

蚊子 & 蚊帐

昨晚睡得比较晚,忙啊忙啊,大概忙到3点多才休息,刚刚要进入梦乡的时候,耳边想起了嗡嗡声,尽管声音其实不大,但是对我而言,无异于轰炸机一般,因为睡觉时听到蚊子叫是最恐怖的事情了。

image.png
(图源 :pixabay)

经常发生睡觉时被蚊子惊扰,然后开始打蚊子,找半宿没有找到蚊子最后只好蒙头大睡然后第二天身上好几处大包的情况。前段事件物业进行了一次全面消杀,蚊子少了一些,不过几场雨水下来,终于又出现了。

于是只好又起床开灯,抄起电蚊拍找蚊子。如果能找到蚊子的话,电蚊拍还是相当给力的,无论它是飞在空中还是停在墙上,我都会把它用电蚊拍电的滋滋响,并电出燃烧蛋白质特有的焦糊味。

然而如果蚊子藏在床底下或者角落里我找不到的地方,电蚊拍就无法立功了,这次也是一样,我找了好久没找到,熄灯躺下后,蚊子又出来嗡嗡,如此几次,不胜其扰。

媳妇在另外的房间被我开灯关灯来回折腾折腾醒,知道我在和蚊子斗争后,对我说:“给你买的蚊帐你不弄上,弄上不就不怕了。”我才想起来来,新到的蚊帐就在门厅那里丢着呢。

于是赶紧把新蚊帐拆包,是那种速开的蚊帐,不用来回串杆,打开包装,往床上一丢,蚊帐就会自动弹开,然后稍微弄弄,调整一下方向,就OK了。

支好蚊帐后,躲在蚊帐里,一下子安心了不少,熄灯后,尽管依然还能听到蚊子的,却好似听到催眠曲一般,睡得更加香甜了,有蚊帐真好。

想起小时侯家里都是用那种方方正正的棉线的蚊帐,需要在墙壁等地方弄四个栓绳子的地方,然后把蚊帐的四角栓起来,这样就算弄好了,就可以在里边愉快地玩耍了,没错,防蚊子什么的是第二项任务,最重要的可以在里边玩耍。

因为棉线的蚊帐很脆弱,加上玩耍的折磨,所以往往一顶新蚊帐没多久就会出现很多可以容蚊子通过的大洞,然后早晨起来就会看到蚊帐里有几只吃得圆滚滚的蚊子。

后来换成圆顶的,只需在棚顶上弄一个固定点(膨胀螺丝等)就可以了,这样是方便了不少,但是不如原来四方蚊子敞亮,用过一段时间后,再不选择这样的蚊帐了。

而最近一些年,都是用那种支帐篷一样的支杆支的那种蚊帐,相对而言敞亮舒适,唯一麻烦的地方就是支蚊帐的时候还是很费劲的,平时不能反复地支和收,那样就太累了。

所以最近两年我都是用电蚊香片,不但蚊子都熏死,我也被熏得迷迷糊糊,倒是点起电蚊香,睡得也特别香,至于有没有后遗症,就可想而知了。

没想到现在的蚊帐也弄得这么先进,速开速支,省了了我好多麻烦,并且也不需要固定,还非常敞亮,看来什么都是在进步的呢。

image.png
(图源 :pixabay)

不过这么进步,为啥就没有什么先进的灭蚊设备呢?买过几款灭蚊灯,感觉都是没有一丁点效果。还有,为什么科技这么发达,还消灭不了蚊子呢?我不禁陷入了深深地思索当中。


This page is synchronized from the post: ‘蚊子 & 蚊帐’

关注一下隔壁链(EOS)的大事件:B1给BP投票啦

好久没有关注隔壁链EOS上的大事件了,昨天惊闻B1终于出手给BP投票了,这个沸沸扬扬吵了很久的事件终于有了里程碑式的进展了,让我等吃瓜群众总算吃到一口瓜。

image.png
(图源 :pixabay)

为啥说是大事件呢?主要是因为B1持有EOS的比例太大了,EOS币发行总量10个亿,开发团队(B1)分1个亿,加上这两年通胀啥的,可能不止一个亿了,不管咋说,这个比例还是相当可观的。

TOP21 BP 现在普遍票数为3亿左右,所以说B1参与投票,暂时还达不到钦点BP的效果,但是无疑会对当前节点的分布产生很大的影响。

好在这次B1没有拿出来一亿的票权投票,而是先拿出1000万试水,估计也是想试试社区的反应吧。

B1投票使用了sub1.b1,这个账户,估计为了把票权分开,以后肯定会有sub2.b1、sub3.b1等等的账户。

这个账户是B1 5月15日创建的,详情可以参考这里

image.png

里边锁仓了1000W枚EOS:

image.png

而在昨天,这个账户投了十个节点

image.png

其中6个为超级节点,火币矿池依然高居榜首没有动,而后边几个被投票的节点上进入了前6名:

image.png

另外四个备份节点分别为:eosriobrazil、eosswedenorg、teamgreymass、 eoscafeblock,其中eoscafeblock是block.io的服务提供者,单凭这点eoscafeblock拿到票倒是不出意料之外。

其它的不甚了解,就不做过多点评,想必都有突出的贡献。

总之,B1给BP投票这事,社区的反响应该很大,不过反响大不大的也没啥关系,毕竟B1的地位几乎撼动不了的。

看了一下非小号上的行情,EOS的走势依旧是波澜不惊,昨天小跌一点点,会是B1投票的缘故嘛?

image.png

要我评价的话,B1与其参与社区政治,到不如好好去完善一下EOS代码,毕竟照比当初宣传出去的百万TPS还有不少差距呢。如果实在无心研究代码,拉拉盘也行啊,毕竟当初筹到那么多钱呢。

当然了,我说的都不算,还是继续当吃瓜群众的好。

相关链接


This page is synchronized from the post: ‘关注一下隔壁链(EOS)的大事件:B1给BP投票啦’

再聊借钱

最近发生了几起和借钱有关的事情,并且几件八杆子打不着的事情之前竟然有一些神奇的关联,我给列位看官分享一下。

image.png
(图源 :pixabay)

事情一

第一件事情,是我大学寝室好友的爱人在朋友圈转发了一篇文章,大意是一个女人借给了闺蜜60W,然后一直要不回来,甚至下跪恳求只还50W都不可以。然后我看我的好友在下边回复了一句:“都怪我😭”。

这就引发了我的好奇心,难道这篇文章中借钱出去的女人是我好友的爱人?于是和朋友聊了几句,所幸的是朋友爱人不是文章中的主人公,不幸的是朋友爱人也借出去几十万,现在死活要不回来。

我给好友出主意,实在要不回来可以去起诉啊,毕竟现在法制社会,还怕不还钱吗?朋友回答:“可不是去起诉了嘛,然而对方死了心的不还钱,也没有资产可以执行,没办法了”。我除了安慰朋友几句外,也没法多说啥了。

这事让我不由地思索,能借出去几十万,大概也是非常铁的朋友或者闺蜜了,然而一旦出现这样的情况不但朋友/闺蜜做不成,钱也打了水漂。所以借钱出去一定要谨慎小心啊。

事情二

然而第二天,我就接到我另外一个朋友的电话,开口要借10多万,说是要买房,可能是因为征信什么的他不能有欠款啥的,要先用一些钱过一下流程,然后不到1个月就能还我。

这可难住了我,其实要说和这个朋友的交情,借十多万过去也没啥大了不得的,以前有次他公司周转有问题,我也曾借给过他十多万块钱,大概一个月后也愉快地还钱了。

况且这个朋友有好几个公司,名下至少已经有8-10套房产,所以借钱跑路的概率还真就不大,毕竟公司就不说了,那么多房产一时半会也跑不了啊。😀

可是最近这个一两个月内,我也有一项计划的开销,大概要几十万的样子,如果借他十多万,到时候我可能就有十多万的豁口,会是个麻烦事,虽然朋友保证一个月内肯定归还,我还是有点担心,于是就和他说了我的情况,婉言拒绝了。

拒绝了朋友,感觉万分愧对他,于是向他表示歉意不说,还承诺等疫情过去,安全的时候请他吃大餐,这样总算觉得不那么尴尬了。

不过尴尬的是,时隔两三天,朋友又打过来两次电话,大意是能借到的都借了,还差这么十多万的缺口,要我帮他补上。我这才知道,原来他差的不止是十多万啊。

可是我这边真的不方便啊,朋友又建议我给他刷信用卡,可是刷信用卡是要还的啊,并且最近招行去掉了信用卡的临时额度,现在的额度我将将够用而已。

朋友又建议我把要用的钱先借给他,他用后马上还我,并且信誓旦旦保证用几天就还。可是还有个问题,我的钱基本上都在股票、基金、黄金、币市中存着呢,如果自己用,割肉也就罢了,给别人用割自己的肉,总觉得怪怪的。

我把的两股票账户发给我朋友看,他看了我两个股票账户一个盈利负20多万,另一个盈利负7万多,他表示不敢找我借钱了,赔偿不起我的损失。

事情三

这事就算过去了,不过当天晚上我刷朋友圈的时候看到另外一个和这个朋友没交集的朋友发了一条圈:

张嘴借钱的人都咋想的啊,一个个的资产都过千万的人也和我借钱,都怎么想的啊,我就是个卖车的,知道刮着一天的柳絮毛毛,我在外面站一天眯了多少次眼睛吗,老板看我顺眼还行,有时看我不顺眼就和你拉拉脸知道啥滋味吗?还有我过生日是你们给我买蛋糕,买榴莲,发红包送祝福了吗,如果没有,为啥和我借钱啊,不借就像对不起你们是的。你们知道买房子在那增值,别人就不知道吗?

哈哈哈,如果不是确定这两个朋友不认识,我都觉得我那个朋友管她借钱了呢。

image.png
(图源 :pixabay)

原本互不相干的三件事,但是因为都和借钱有关,竟然奇妙的关联到了一起,回想起来好像这三件事情组团发生的一样。第一件事先打个预防针,再发生第二件事,第三件事再做一个结论。

那么,如果朋友借钱,你会怎么办呢?如果自己也要用到钱而没法借出,怎样拒绝才能避免尴尬呢?😅 还有你遇到过借钱出去要不回来的情况嘛?


This page is synchronized from the post: ‘再聊借钱’

我的信用卡额度呢?

用招行的信用卡已经有16年以上的历史了,而且我清楚的记得第一次用信用卡是向公司的一个漂亮姐姐借的,当时急着向海外一家服务商支付美元,而自己又没有可用的手段,只好求助这个姐姐喽。

image.png
(图源 :pixabay)

现在回想起来,这个姐姐肯把信用卡直接借我,也是胆子够大。随着对信用卡越来越了解,我发觉这东西坚决不能借给别人啊。

自从用小姐姐的信用卡顺利完成支付之后,我就去招行办了一张信用卡,最初的额度好像只有5000人民币,但是当时花销小而且主要是作为美元支付手段存在的,倒是也够用。

后来随着刷的越来越多,招行开始不断给我提额,1W、2W、3W、5W,原本已经对于金卡而言,提升到5W已经是上限了,后来发现手机银行里有提升固定额度的按钮,按进去竟然给我提升到了6W。

这不但满足了我美元支付的需求,甚至日常消费都可用覆盖掉大部分了,于是什么京东购物啊、微信支付啊,各种操作不管是人民币还是美元,只要是能用信用卡的地方,我就用信用卡支付。

你可能会问,用信用卡和银行卡有啥区别啊?区别吗,一个是信用卡毕竟有最长50多天的账期呢,银行卡里的钱就可以在理财账户上都躺一会,一年下来,节省的利息也有2000块钱左右呢。

另外一点就是信用卡有积分,有时候还有各种活动,不嫌麻烦的话,还是可以撸一下小羊毛的,比如我已经从招行换了好几套罗莱的床品四件套,就是掉色,把我都染成阿凡达了。

尽管固定额度基本够用,但是偶尔还会遇到捉襟见肘的时候,后来发现手机APP上可以申请临时额度,最多的时候临时额度竟然可以调整到15W。

有一次我支付一项费用,12W+,原本以为政府单位,肯定只能用银行卡里的现金支付,没想到到财务窗口发现竟然可以用信用卡,于是我收起银行卡,用APP调整了临时额度,刷信用卡完成了支付,省下了卡里的现金,美滋滋。

我以为会一直这么美滋滋下去,前些天急用信用卡又发现固定额度不够,于是就想到调整一下临时额度,可惜进去后,竟然看到这样的提示:

抱歉,您暂时无法调整临额

擦,我可是一直按时还款,毕竟钱也几乎都放在招行,咋就不给我临时额度了呢?不过纠结也没用,只好先转一些现金到信用卡,先完成支付再说。

完成支付后,我和朋友们聊一下临时额度不让申请了的事情,他们看了一下他们的卡片,大多也不让申请临时额度了。

这样一来,我就知道不是针对我自己的啦,再一想也就明白了,疫情期间,很多用信用卡的用户都没去上班,没有收入,又要刷卡消费,这样一来信用卡还款逾期的风险会加大很多。

而银行为了避免或者说控制这类逾期事件的发生,最简单的方法莫过于限制临时额度以及降低固定额度了,网上看到不少人被降额,大概也是因为这个原因吧。

image.png
(图源 :pixabay)

还好自己的卡暂时没被降额,没有临时额度就没有吧,偶尔应急的时候拿现金凑喽。

招行信用卡,这些年给我带来无数的便利和小好处,我不能因为没有了临额就否定它,我依然觉得它是最好用的信用卡呢。


This page is synchronized from the post: ‘我的信用卡额度呢?’

日记:手工迁移站点到VPS

相比于迁移站点数据到虚拟主机,迁移站点到VPS要麻烦许多许多,之前PHP的一个short_open_tag,就卡了我大半天,不过最终总算帮用户迁移成功了,尽管还有一些细枝末节问题,暂时就不管了。

image.png
(图源 :pixabay)

这几简单记录一下迁移到VPS所作的工作,因为我自己还有大把的站点要迁移,难免之后用到。

安装Apache、PHP、MYSQL

Apache

虽然都说nginx更好用一些,但是我没怎么用过,还是还是用Apache吧,以后有时间慢慢研究。

安装Apache很简单:

sudo apt install apache2

安装完,访问IP,效果如下(允许入站规则后,详见后文):

image.png

PHP

接下来是安装PHP,我看godaddy装的是PHP 7.2,我也装7.2好了

sudo apt install php7.2

MySQL

使用如下指令安装MySQL以及相应的PHP支持

sudo apt install mysql-server php7.2-mysql mysql-client

简单加固

安装完三大件后,要对其进行一些简单的加固,让其更加安全。

Apache出了对配置文件进行优化外,还启用了mpm-itk 模块:

sudo apt-get install libapache2-mpm-itk
sudo a2enmod mpm_itk

MySQL则使用下列命令进行一些安全设置:

sudo mysql_secure_installation

创建站点

在进行完上述步骤后,就可以创建站点了。

我们首先创建一个用户:

sudo adduser mysite

然后登录这个用户,在目录下创建www文件夹以及logs文件夹。

然后进入/etc/apache2/sites-available使用默认站点模板略作修改后创建新站,对应目录指向上述目录即可。

1
2
3
4
5
<Directory /home/mysite/www>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

加上如上内容,否则会出现禁止访问错误:

image.png

使用如下命令使能站点:

sudo a2ensite mysite.conf
sudo systemctl reload apache2

开启两端的防火墙

因为要在服务器之间传输数据,所以要允许原服务器端的出站设置以及VPS(新站)这边的入站设置。

否则就会出类似如下错误:

image.png

老站在ConfigServer Security & Firewall中做如下设置,并重启csf。

tcp|out|d=22|d=x.x.x.x

新站在AWS,默认已经允许了SSH链接。

但是要想访问的话,所以要编辑安全组中的入站(80)规则(Edit inbound rules->Add rule):

image.png

一个很奇异的地方是,如果我禁用了IPv6的入站,我自己就无法访问网页了,不细研究了,先允许吧。

传输数据

传输数据没啥说的了,我用的scp。

测试站点

为了测试站点访问,我使用了hosts文件启用本地解析功能。

使用记事本用管理员权限打开以下文件:

C:\Windows\System32\drivers\etc\hosts

添加如下内容:

x.x.x.x example.com

前边是IP,后边是域名,这样相当于不用修改DNS就可以本地访问啦。

修改DNS

测试没问题后,修改DNS就可以了,这样迁移就完成啦。当然了,后边可能还有一些工作要做,就交给客户自己去弄好了。

其它

除了文中涉及到的内容,cURL、 zlib、https等都是需要处理和解决的问题,每一样都耗费我诸多时间,这里就不过多描述啦。

相关链接


This page is synchronized from the post: ‘日记:手工迁移站点到VPS’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×