my blog my blog

Monthly 11月 2017
关于iptables过滤关键词网站的原理和方法解读

服务器上有时候难免做些限制,比如说一个游戏加速器可能会禁止用来网站访问,但是问题来了,我们并不能简单的禁止一个80或者443来达到目的,因为有些游戏会从网站上去获取一些信息,比如现在最火的绝地求生大逃杀,吃个鸡却要先从一个网页进行登录,所以禁止80/443端口的方案我们可以直接否掉,奶牛的方法是用iptables进行关键词和网站过滤。

iptables过滤关键词网站的原理解读

INPUT,OUTPUT,FORWARD选哪个?

使用iptables过滤关键词和网站,我们需要对进出服务器的流量都进行过滤,当然也有人建议在传输层过滤,那奶牛就来谈谈自己的理解。首先INPUT,OUTPUT,FORWARD三个分别对应进、出、传输。如果我们在FORWARD过滤,应该可以达到预期效果,但是如果我们的服务器是用作转发的呢?比如一个请求发送过来,我们允许INPUT进入,然后我们的转发服务器会先将请求转发出去,再接收转发内容,最后在转发回程的过程中过滤拦截,这样子,服务器的流量带宽资源就会被浪费,也许你会说在接收到请求之后关键词和网站就已经过滤了,其实不然,很多关键词是包含在请求获得的内容中的,所以不可能在转发之前就过滤掉,我们需要的结果是在转发之前过滤掉。那么我们就用INPUT进行限制?通过实测,发现单单用INPUT也不能过滤干净,奶牛的理解是INPUT不会拒绝请求的结果,所以我们还需要和OUTPUT配合使用。

DROP,REJECT选哪个?

奶牛选择的是DROP。我们说说DROP和REJECT的区别,当我们使用REJECT的时候,如果拒绝请求,在iptables中输入

iptables -L -nv

可以看到拒绝的请求会reject-withicmp-port-unreachable,也就是会通过一个icmp包来告诉目标请求被拒绝了,这个资源也是属于浪费的,如果我们直接用DROP丢弃,则不会有这个回包。

iptables过滤关键词网站的方法

首先备份好我们的iptables规则,避免操作失误。备份和还原的命令如下:

iptables-save > iptables_origin_rules
iptables-restore > iptables_origin_rules

然后我们的规则这样写

iptables -A INPUT -m string --string "xxx.com" --algo bm --to 65535 -j DROP
iptables -A OUTPUT -m string --string "xxx.com" --algo bm --to 65535 -j DROP

其中的xxx.com就是关键词,可以写网站域名,也可以写关键词,但是关键词一定要想好,否则可能会导致很多东西都无法访问的。如果规则写错了,可以通过命令删除规则:

iptables -D INPUT -m string --string "xxx.com" --algo bm --to 65535 -j DROP
iptables -D OUTPUT -m string --string "xxx.com" --algo bm --to 65535 -j DROP

过滤需谨慎,特别是一些国cdn、公共库、ssl、dns等一定要谨慎处理,否则可能会导致很多服务无法访问严重后果。

技嘉双BIOS恢复教程

旧电脑的BIOS挂了,主板是技嘉的,这个情况已经不是第一次了,黑屏无限重启而且连BIOS都不出,奶牛还以为是CPU出问题了(一直温度高),后来把CPU拿下来后发现确实也有针脚弯了,但是修正了一下又插回去还是原来的情况,然后从备份BIOS启动后竟然发现可以进入BIOS了(硬件全拆了),然后说说解决方案吧。

测试备份BIOS是否正常,确定问题所在

说明书上有一段说明

BIOS切换器(BIOS_SW)让您可轻易的选择是否由不同的BIOS开机或是针对不同的BIOS超频,如 此可以降低超频时,损毁BIOS的风险。 SB切换器可设定是否关闭Dual BIOS功能。
BIOS指示灯 (MBIOS_LED及BBIOS_LED)可以显示目前正由哪一颗BIOS控制。 
BIOS切换器: MBIOS_LED (目前由主BIOS控制) BBIOS_LED (目前由备份BIOS控制)

默认情况下,主板的BIOS_SW在1的位置,我们将BIOS_SW切换到2上既可以从备份BIOS启动,启动的时候BBIOS_LED灯亮表示已经从备份BIOS启动了。

主BIOS恢复

将主板的BIOS_SW切换到1的位置,设置为由主BIOS启动。在关机状态下长按开机键,机器启动后很快会进入关闭状态,保持长按等待一会儿,机器不再重启即可。再正常按一次开机键,就会自动进入恢复主BIOS的程序然后重写主BIOS。然后剩下的就是正常启动了。下面是网友的一段说明,和我的说明差不多,但是好像实际情况有些偏差。

在关机的情况下按住开机键十秒,然后放开按键。
按一下开机键开机,会经历两次短时间(大约5秒)的重启。
第三次时,会显示画面并开始恢复!

网上还有一种说法是短接主BIOS的1和8号管脚,1为CS# Chip Select ,8为VCC +3.3V Power Supply,也就是给片选一个高电压然后系统会自动识别然后让BIOS进入恢复状态。此方法奶牛没有测试,不过1、8管脚短接应该也很容易,1、8管脚是对着的,直接横着连起来就可以了。

学一门语言真难

打算学习Go语音,可是发现,自己真的好难静下心来一点儿点儿地读。是不是再也找不回从前学习的状态了,感觉现在写什么东西配置什么程序都那么吃力,sad。当初想学C学C++学C#学Python学Node.js学PHP,结果都是半途而废,不知道这次结果又会如何,可能学一点儿记录一点儿会比较好吧。不过看着Go的东西自己还是挺有兴趣的,但是不知道兴趣能持续多久。好吧,就废话这么多吧,该静下心来吃一门语音了。

WordPress使用SSL后需要注意的一些问题

奶牛的博客也进入了HTTPS的时代了,升级后原来的主题就直接删了,虽然很怀念,但是也无能为力,特别是启用了SSL后,页面的站长统计什么的都要统统改成https链接引入,否则直接就不加载了,后台的设置博客地址也要改成https类型的,奶牛并没有使用HSTS,怎么说呢,强扭的瓜还是不甜,特别是当SSL证书失效后便无法访问会造成很多不安因素,特别是我就一个博客,也不会有太多不安全因素。但是,HSTS还是趋势,建站的成本也在不断提升。最后记录下HSTS的申请网站吧。https://hstspreload.org/

迁移博客到了新主机

回想当初,自己初建博客,那时候国内的vps并没有现在那么多,也没有那么流行,流行的多数还停留在虚拟主机上,就是给你个帐号,你可以用ftp和phpmysql来管理自己的web文件,那时候虚拟主机商经常有各种问题,比如说各种宕机却没有赔偿,也没有99.9%这样的在线率,所以有时候自己都连不上自己的主机。到后来,自己也开始折腾vps,但是,怎么说呢,选网络又成了一个大问题,对于国内而言,国外的主机对联通电信以及移动并不一定都那么友好,当然,现在也还是这种情况,所以,有时候自己访问速度也就几十K的样子,也很难受。

前段时间,自己的博客就是挂着,也不怎么更新,因为自己发个文章进入编辑页面都感觉好困难,可能是版本比较老吧,有些插件连浏览器都不怎么支持了,最近我把博客更新到了最新的版本,也迁移了新的主机,我定义这是自己的一个回归吧。当然,其实迁移也好,升级也罢,终归遇到很多bug要去处理,就比如这次,奶牛的升级还是比较彻底的,也用了野卡的SSL,可能那个绿色的锁头标志比较好看吧,给人以安全感,但是也有问题没有解决,比如首页的微博挂件,估计也就只能做反代或者去掉了,其实还是习惯有那么个东西挂在上面的,至少你们可以找到最直接的联系我的方式。Anyway,升级就算这样简单的度过了。希望新主机可以稳定运行吧。

域名再不囤就没机会了

好像是黑五了,然后就去扫扫域名,发现三位四位的com都绝迹了,net也所剩无几,于是还是下手买了个不错的三位org域名,现在这趋势看,囤点儿域名过年也是不错的选择,互联网的网越铺越大,没个好域名都拿不出手,com现在就和金子似的,weibo.com就是个很好的例子,已经沿用多年了,早几年的时候囤还是有机会的,可惜没资本,现在可以囤了,却发现就剩下渣渣了,所以,趁早选些好域名囤起来吧,也许有一天就会成为意外的惊喜。

还是升级了wordpress

还是升级了wordpress,博客开到现在也有七个年头了,以前一个是懒,一个是不忍心,但是,时代在进步,很多老旧的东西都会被淘汰,最后还是把博客升级了。暂时就是保证能看吧,优化什么的以后再说,现在也不做seo了,就这样吧。博客这东西,建一个不难,折腾一时半会儿也不难,难得是坚持写下去,我呢,现在就在挣扎,很多时候还是想记录些东西的,毕竟自己还是喜欢折腾,可是又有更多时候因为一个懒字,就把可能需要分享的给耽误了,不过以后还是会尽量来更新的,最近在折腾云,确实很多新功能值得去学习和了解,不再是那个用共享主机和vps的时代了,云才是主流。