Browsed by
分类:学习

学海无涯

调整路由器的MTU

调整路由器的MTU

家里的无线路由器是Netgear,检查WAN设置中MTU默认为1496字节。这个数值是常见的无线网络MTU设置,但是实际应用中,发现其实还是能微调一下。

在CMD窗口使用以下命令测试网络MTU包:

ping -f -l 1460 myvoipapp.com

测试结果表明,实际负荷超过1460字节就会要求拆分数据包。加上28字节的包头,因此路由器中MTU应该设置为1488字节才是合理值。

Firefox中的proxy设置

Firefox中的proxy设置

最近重装了一台电脑,在Firefox中设置SocksV5代理上网(道理大家都懂的),发现还是无法上gmail, docs等科学网站。从log看,Firefox似乎一直在等待TLS握手。难道是某墙又升级了吗? 在另一台电脑上使用同样的ssl tunnel测试了一下,没问题,看来是Firefox自身出状况了。

重新检查Firefox中的配置,发现了以下一个小小的配置项:

Firefox的proxy配置项
Firefox的proxy配置项

好吧,看起来似乎理解了。如果不勾选这项,Firefox会用本地的DNS记录,导致无法访问科学网站(道理大家又懂了)。勾选之后,Firefox将通过proxy查询远端DNS记录,问题解决。

科学上网的感觉真好!从未有过的制度自信、文化自信、xx自信油然而生!

清空邮件箱

清空邮件箱

我们在VPS上搭建了一套Email系统,采用postfix+dovecot实现,同时在Gmail账户中设置了pop3代理来收取邮件(成功则删除服务器上的邮件)。这样做的好处是自己只要配置简单的Email系统,充分利用Gmail系统的垃圾邮件过滤、反钓鱼等诸多强大功能。整个系统工作得非常顺利,以至于几乎遗忘了Email系统的各项设置。

Gmail系统在收取邮件时,如果发现是垃圾邮件或者欺诈邮件,会将原邮件标记为“已读”并保留在pop3服务器中(也就是我们的Email系统),同时会给当前Gmail账号发送一封告警邮件。长此以往Email系统中已读邮件就越来越多,文件大小达数百MB甚至数十GB,极大浪费了宝贵的存储空间。

清理起来其实也非常容易,既然有用的邮件都已经收取到Gmail中了,直接清除掉本地所有邮件即可。比如清除用户“abc”的所有邮件:

sudo cat /dev/null /var/mail/abc
character encoding

character encoding

最近学习Vue框架,在Firefox中调试demo时,经常遇到以下告警:

The character encoding of the HTML document was not declared

最直接的后果就是中文信息乱码。由于是直接在vim中编写html文件,检查了vim默认的文件是utf-8编码:

set fileencoding

在网络上搜索了一下,HTML默认采用us-ancii编码格式,如果采用utf-8格式,需在head域明确声明:

<meta charset="UTF-8">
Pi3

Pi3

Pi3已经上市一段时间了,由于以前的Pi1一直工作得很好,所以没什么动力改用Pi3。最近有用户和朋友相继推荐,心动之下就入了。

Pi3桌面截图
Pi3桌面截图

Pi3的桌面比Pi1实在是好太多了,进步非常明显。不是传统的KDE或者Gnome,感觉有点像lxde或者openBox,使用起来也很爽。

CPU强大好多,居然可以使用Chromium浏览器上网,而且还比较流畅。CPU强大带来的好处就是编译版本快了。以往出个版本要数个小时,现在一个小时左右就可以了。Pi1的CPU随时跑到100%,而Pi3仅仅20%即可,我很满意。当然,缺点也很明显,CPU温度明显比一代要高很多!幸亏买了两个散热片贴上,然后直接裸奔,即使这样依然感觉烫手。

与一代一样,存储IO是个瓶颈。虽然采用class10,UHS1的microSD卡,编译时还是能很明显感受到读写速度慢带来的影响。我觉得Pi未来的发展要重视这个问题,也许内置SSD可以解决。

软件方面有点差异。Pi3默认情况下没有打开SSH和VNC,无法远程SSH进入或者远程桌面接入。需要运行下述命令允许SSH接入和VNC接入:

sudo raspi-config

奇怪的是默认没有安装VNC服务器,因此还需要单独安装:

sudo apt-get install vnc4server

另外,Pi3的硬件做工明显比Pi1要好很多,是个很不错的选择,值得玩家入手。

2017-10-11更新:观察了这几个月的运行情况,感觉很不满意。Pi3的稳定性比Pi1差多了。以前Pi1能正常运行数月不等的时间,而Pi3基本上隔一两天就死机或者重启,CPU发热太严重。如果稳定工作,可能需要在旁边装个风扇主动散热(这只是推测,没实验过)。总之,比较失望。

2017-11-19更新: 以前的推测应该是对的。这段时间天气变凉,Pi3就可以持续、稳定地运行数个星期,目前还在观察。随着冬天气温会更低,估计Pi3稳定运行是没有问题的。

奇怪的GTK style

奇怪的GTK style

一直愉快地在Debian 7系统使用KDE桌面,最近在一个旧系统(64bits)发现某些Gtk程序,例如FileZilla等,界面没有转化成KDE的oxygen风格,及其原始的Gtk风格实在太丑了。

这个问题有些奇怪,安装、使用过很多Debian的系统,从来没发生过这种奇怪的事情。简单搜索了一下,发现是需要安装对gtk程序的适配引擎,具体命令如下:

sudo apt-get install gtk2-engines-oxygen gtk3-engines-oxygen kde-config-gtk-style

安装完成后,需要退出当前用户再重新进入,或者干脆重启也可以。然后Gtk程序就适配成了KDE的oxygen风格。

不过在Debian 9中,KDE的默认风格改成了“微风”,不知道是否还要再重新适配一下,留待以后验证吧。

Linux系统ssh代理的问题

Linux系统ssh代理的问题

因为需要访问公司远程网络,而考虑到国内特殊的网络环境,通常在windows系统下都是使用putty创建本地socks5代理,在firefox中设置该代理访问internet。

但是在linux下,默认采用以下命令时,居然只能使用socks4代理:

ssh -D 6666 myname@mycompany.com

如果需要使用socks5代理,则需要明确指定本地的IP地址,命令如下:

ssh -D 127.0.0.1:6666 myname@mycompany.com

其实用netstat检查前一个命令的结果,能看到正确绑定了任意地址的6666端口,而后一个命令只是明确绑定在本地循环地址上。两者应该都能成功进行socks5代理才对。

不知道这是ssh的bug,还是firefox的bug? 简单搜索了一下,似乎也没有人提到这点。

WiFi 5G问题

WiFi 5G问题

自从将T430安装上Ubuntu 16.04版本后,一直有个问题:2.4G WiFi网络连接没有问题,5G WiFi则可以连接,但是分配不到IP地址,也就无法真正访问网络。还以为是Ununtu的驱动有问题,内心里又一次鄙视了Ununtu。

偶然看到一点Linux的网络知识,可以检查当前的频点。随手查了一下,结果如下:

yxh@t430:~$ iwlist chan
 wlp3s0    32 channels in total; available frequencies :
 Channel 01 : 2.412 GHz
 Channel 02 : 2.417 GHz
 Channel 03 : 2.422 GHz
 Channel 04 : 2.427 GHz
 Channel 05 : 2.432 GHz
 Channel 06 : 2.437 GHz
 Channel 07 : 2.442 GHz
 Channel 08 : 2.447 GHz
 Channel 09 : 2.452 GHz
 Channel 10 : 2.457 GHz
 Channel 11 : 2.462 GHz
 Channel 12 : 2.467 GHz
 Channel 13 : 2.472 GHz
 Channel 36 : 5.18 GHz
 Channel 40 : 5.2 GHz
 Channel 44 : 5.22 GHz
 Channel 48 : 5.24 GHz
 Channel 52 : 5.26 GHz
 Channel 56 : 5.28 GHz
 Channel 60 : 5.3 GHz
 Channel 64 : 5.32 GHz
 Channel 100 : 5.5 GHz
 Channel 104 : 5.52 GHz
 Channel 108 : 5.54 GHz
 Channel 112 : 5.56 GHz
 Channel 116 : 5.58 GHz
 Channel 120 : 5.6 GHz
 Channel 124 : 5.62 GHz
 Channel 128 : 5.64 GHz
 Channel 132 : 5.66 GHz
 Channel 136 : 5.68 GHz
 Channel 140 : 5.7 GHz
 Current Frequency:2.422 GHz (Channel 3)

好吧,很显然Ubuntu这次背锅了。在5G的频点中,不包含中国区的频点(通常在148以后)。修改路由器的配置,将区域设置为“United state”并设置相应的频点,重启路由器,Ubuntu就可以连接5G WiFi并正常访问网络了。

这台T430是老婆公司退下来的,可以确认肯定是面向大陆地区销售的产品。内置的5G WiFi居然不支持中国的频点,Lenovo果然是美帝良心企业。

更新主题

更新主题

现在等着过春节,心里有些懈怠,没太大意愿干活,于是在网上闲逛。看到了酷壳的网站,感觉非常适合中文博客网站,而且酷壳很贴心地推荐了他自己使用的各种插件,真不错。

通常我都是直接使用wordpress默认的主题,例如最新的是2017主题。wordpress官方主题一直有个让人很不满意的地方,就是正文实在太窄了,尤其是在宽屏的情况下。因此这次切换到『Nisarg』主题,感觉好多了。

在酷壳推荐的各类插件中,我采用了『WordPress Related Posts』。由于天朝网络的原因,我另外采用了『Disable Google Fonts』插件。

最后说一句:我很喜欢Nisarg主题的顶部图案,太漂亮了!

3cx收购了elastix

3cx收购了elastix

原始新闻链接请点击此处。从新闻内容大致可以得出以下结论:

(1)Elastix V5的内核从Asterisk迁移到3CX。考虑到3cx是商业、不开源的版本,因此elastix从V5版本开始应该就会转向闭源。

(2)以前的Elastix版本,例如使用比较广泛的V2版本,以及充满了bug的V3和V4版本,依然遵循开源协议。相信这些旧版本的用户无法免费升级到V5版本,需要付费购买产品或者购买技术支持才有可能。

(3)3CX可能看重的就是elastix目前已有的大量用户,希望能从产品技术支持、付费购买等途径获得利益。

国内一些专业QQ群里有部分用户表达了对这件事的愤怒情绪,感觉自己被Elastix背叛了。仔细搜索了相关报道和各类消息后,我有些不同的看法。对Elastix项目而言,『被收购』是个不错的商业选项,项目人员获得合理的报酬完全是可以理解的,毕竟这是个商业社会,人不能光靠理想一穷二白地活着。

相反,我对3cx的收购决定感到困惑。Elastix是个不错的项目,也有很多拥趸,但究其根本,依然只是依附在Asterisk上做了个壳而已,这也就意味着客户的迁移成本实际上并不高,客户完全可以从一个壳转另一个壳,比如FreePBX。实际上很快就发现FreePBX在twitter等社交媒体上发帖欢迎Elastix用户进行迁移。

由于这些壳都是使用Asterisk作为核心,因此配置规范(接口)、管理接口实际都遵循Asterisk定义。从Elastix转换到FreePBX,相信比转换到3cx要简单、容易得多。从这点看,我很怀疑Elastix用户会如3cx所愿地迁移到3cx的平台。如果不能顺利完成这种转换,这次收购的价值就会大打折扣。

目前市面上有各种各样的软、硬件PBX,绝大部分其实都是基于两个开源项目:Asterisk和FreeSwitch,差异化无非体现在各种定制化的包装。如果想获取最大利益,应该是直接收购或者控制这两大项目。如果说“条条大路通罗马”,那Elastix、FreePBX不过是其中两条路而已,Asterisk/FreeSwitch才是目的地罗马。与其在道路上设卡收费,不如直接控制罗马。

从这个角度考虑,所有基于这些开源项目的软、硬件产品实际上都有风险。一旦项目被收购,产品就有被扼杀的危险。避免此类危险的唯一路径,大概就是控制住这些项目,或者另起炉灶。

幸运的是我们的产品(miniSIPServer)是完全自主开发,与这些项目毫无关系,因此不存在任何法律和潜在的风险,这也使得我们能够完全掌握自己产品的发展,从而为客户提供安全、可靠、一致、长久的体验。

希望这些开源项目能长久繁荣下去,毕竟一起做大蛋糕、做大市场对大家都有利。