考研工具党

俗话说,工欲善其事必先利其器。 我就是爱折腾,考研也一样。

想法

目前手上有的设备是:一台路由、一台占美小主机、一台手机、一台ipad、一台手机。iPad存储只有32G,看视频不方便,要在占美小主机上搭个ftp server 来看视频。同时需要做好上网时间的控制,我这个简直是没有自制力。

路由

原先的newifi无线太差劲了,百兆局域网实际samba的传输速度只有20Mbit,真是看个视频我都不愉快。 于是在转转上收了个斐讯k2p,花了135软民币。厂家濒临倒塌而产品价格飞升的情况我还是第一次见。

到手后先刷官改固件然后刷了OpenWrt Chaos Calmer。实测局域网千兆传输,美滋滋!

archlinux向dhcpd重新获取ip

更换了路由后dhcpd分配的ip改变了,即使在openwrt给MAC指定ip地址,但主机向路由请求的还是上次使用的ip。

解决方案

1
2
[root@myth ~]# pacman -S dhclient
[root@myth ~]# dhclient -r //release ip

静态ip

把ip地址和mac地址绑定,关闭dhcp动态分配ip的功能。作用是等会儿可以用iptables直接对ip进行上网行为的控制。另一个考量是提升路由的安全性,启用mac地址过滤,禁止别人进入我的局域网,算了我发现openwrt内核版本太高了不支持macfliter,就当黑客是弱智吧关了dhcp他们就不懂得获取ip了。

ddns

和移动客服墨迹了一下午拿到了公网ip。因为某些原因openwrt ddns里的服务商国内已经都不能访问了。花生壳虽然活着但是要实名认证,过程繁琐,并且把我的个人信息传给他们我也不放心。耐心寻找后发现Dnspod提供了API。

在账户安全设置里打开api,然后跟着文档找到下面<>里所需的字段。

创建文件/usr/bin/ddns_update.sh

1
curl -s -k -X POST "https://dnsapi.cn/Record.Ddns" -d "login_token=<your_login_token>&format=json&domain_id=<your_domain_id>&record_id=<your_record_id>&record_line=%e9%bb%98%e8%ae%a4&sub_domain=<your_sub_domain>"

chmod +x

最后

1535201848650

dnsmasq屏蔽域名

作为一个没有自制力的人,总是把时间浪费在知乎看别人吹比、微博看世界大事这样没有意义的事情上。为了拦住自己,我选择屏蔽掉某些域名的DNS解析。为什么不用hosts呢?因为有些情况hosts并不好用,比如qq空间的登录界面域名是qzone.qq.com而进入后又变成了user.qzone.qq.com,一个站点有很多子域名,你就得添加很多记录。

2018-9-1 : 发现了一个问题:Android手机的DNS并不按路由分配的设置,所以还是要添加一下hosts。

dnsmasq里使用基数树进行匹配(什么时间了解一下这个数据结构),你输入qq.com,所有子域名都被过滤了。

我列了一些常上的站点,在/etc/dnsmasq.conf 添加

1
2
3
4
5
6
7
8
9
10
11
address=/duowan.com/209.97.160.1
address=/duowan.cn/209.97.160.1
address=/178.com/209.97.160.1
address=/douyu.com/209.97.160.1
address=/longzhu.com/209.97.160.1
address=/sina.com.cn/209.97.160.1
address=/weibo.com/209.97.160.1
address=/qzone.qq.com/209.97.160.1
address=/youku.com/209.97.160.1
address=/v2ex.com/209.97.160.1
address=/zhihu.com/209.97.160.1

可以将域名解析到指定ip。顺便,我指定的是自己VPS的IP,我设置了301跳转,把所有解析过来的域名全部跳转到扇贝了,自制力+10。

端口转发

把wan某端口映射到占美小主机的FTP服务上,因为某些原因在外网直接开放21端口是会被封的,另外被人暴力扫描也很不安全。

断网

iptables的规则可以设置定时,利用此可以管控一下自己的上网行为。顺便监督自己早睡。

举个栗子,禁止某ip 0:00-6:30访问网络

1
iptables -I FORWARD -d 192.168.1.249  -m time --timestart 0:00 --timestop 6:30 --kerneltz -j DROP

当然,我也考虑过开放一些PAT、hihocoder等刷题的站点,但是由于一个网页里引用的内容可能来自多个服务器,SSL证书获取、CDN不断变化等等原因,开放一个站点要加太多繁琐的规则了,于是放弃,早睡早起多好!

最后给自己设置一个很励志的SSID。

1535203538241

Copyright © 2011 - 2018 活在梦里 All Rights Reserved.

myth 保留所有权利