Gentoo编译安装Ocserv上Cisco AnyConnect VPN

某人一直叫嚣IOS没法很好的使用影梭,于是准备替其上Ocserv,尽量简化设置 使用plain认证

手里可用的一个系统用的Gentoo Base System release 2.2,ocserv比较新,所以源里都没有,只能自己编译安装,这货同时依赖最新版本的gnutls,截止到今天,里面的gnutls版本才2.12.23-r6 太老了,而最新的OCS 0.81需要gnutls >= 3.1.10,咱们需要进行手动编译。如果升级到unstable的gnutls,会替换一大堆系统组件到unstable版本(包括glibc,我可不敢承受这个代价)。后续源里面对东西升级以后都跟上的话 问[......]

继续阅读

Linux的Shell里面生成随机数的一些思路

1.使用时间相关的随机数

利用data命令生成输出unixtimestamp(%s)和当前时间的纳秒数据(%N,精确到亿分之一秒。)

前者保证在不同秒数之内输出不重复 后者保证在同一秒内数字不重复 两者组合就可以了

这个方法不依赖系统 只要时间不停止,就一直可以得到不重复的为随机数

2.系统shell内部变量 $RANDOM

这么没啥好说的  依赖shell

3.通过Linux的随机设备获取 然后算校验和

注意这里千万不要使用[......]

继续阅读

The frameKiller that I’m using.

top.location.hostname表示上层的域名,正常情况下和self应该是一样的。但是这个属性如果跨域是不能直接存取的,所以只要捕获到访问top.location.hostname出现错误,说明就在frame里面了。
弄那个throw 1 是为了兼容Chrome。Chrome和有些浏览器不能跨域存取的错误catch不到的。[......]

继续阅读

FreeNAS 8.3 的Jail环境安装aria2开迅雷离线遇到的一些问题

公司BOSS装了了FreeNAS 8.3跑NAS 但是freeNAS现在主流分支是9了 8.3有一些与时俱进的问题

首先 Jail 环境太老了 里面的aria2还是1.14.1 bug重重。强制使用pkg_add来添加了freebsd的8.4里面的1.16.5的aria2

首先在插件里面启动jail。然后使用jls命令看看监狱子系统的编号 比如1,或者2或者3

假设这里是2

可以这样进入监狱子系统

jexec 2 csh

默认监狱子系统只有csh 进去以后 自己使用pkg_add命令添加bash什么的

强制安装freebsd 8.4里面的aria2

pkg_[......]

继续阅读

Buffalo的LS-WXL/E NAS改机小记(II)

老文章回顾 Buffalo的LS-WXL/E NAS改机小记(I)

最近帮公司重建NAS 遇到一些新问题,再次记录一下

  1. 固件直接刷的这个帖子里面的mod 我刷的是1.64 mod 1a 按照Buffalo的wiki看太麻烦了,又要解压又要怎么地。
  2. 新空白硬盘装上去以后,Function灯会常量,这时候按下Function按键,系统会把板子上Flash内地操作系统刷写到硬盘上,整个过程还是比较快的,大概十几分钟,而升级固件的时候,固件是先写到硬盘上,再回写到Flash内,这个过程比较慢,需要耐心,期间info灯会2长5短的闪烁。
  3. 开启Raid后改机需要的是teraprov2[......]

    继续阅读

PHP中的二进制位运算和权限存储

在很多系统的权限/选项设置中 很多都用到了位运算的方法来存储多种标志位。这样可以节省字段。一个字段只需要一个数字 就可以标识很多种设置和信息。

举例 dicuz的帖子表的status字段,官方预留了16个标志位(0x0000 - 0xFFFF) 即216

目前规划使用了只有8个标志位,如下

 0000 0000 0000 0001 是否缓存帖子位置信息
0000 0000 0000 0010 是否回帖只对管理人员和发帖者可见
0000 0000 0000 0100 是否抢楼贴
0000 0000 0000 1000 是否倒序查看回帖
0000 0000 0001 0000[......]

继续阅读

使用6to4 Relay为家庭部署IPv6网络

很久不用电信的PPPOE拨号,最近拨号后发现能顺利的进行6to4接入。

于是在路由器上尝试看看能否也能开启6to4 Relay。

经过尝试,发现可行。

Windows用户 如果遇到链接问题,需要先把本机的6to4服务或者其他隧道全部关闭

win7用户操作方式如下

设置Tomato的6to4 relay

ping国外的服务器还是很好的,可惜国内的丢包,这是因为6to4实际上也是从外面转了一圈回来的,所以速度不是很理想
[cr[......]

继续阅读

Nginx的Proxy前端对后端upstream启用keepalive后的显著效果

从nginx 1.1.4 开始有了原生的ngx_http_upstream_keepalive 模块 和"proxy_http_version" fastcgi_keep_conn" 等指令
,所以后端的keepalive也在nginx 1.2.0成为现实

按照wiki的指示 http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive 在某节点试验性质的启用后 发现效果好的不得了啊 原来出入流量几乎相差一倍,7/23号启用后,出入流量趋于平衡[......]

继续阅读

IPv6的RA报文中各个flag的含义及其与DHCPv6协同工作要点

由于IPv6的 Router Advertisement 无状态自动配置 stateless在目前的标准下[1]只能告知客户端此网段的ipv6 prefix和default gateway(网关的linklocal地址),因此,如果要实现更加详细的资讯配置,只能使用RADVD+DHCPv6进行协同工作,即进行DHCPv6的stateful配置。

但是,由于DHCPv6不能告知客户端默认路由,默认路由的广播只能靠RA,这样就必须在RA报文里面,不报告“A”(自动配置),只报告“R”(路由前缀),让客户端通过DHCPv6去获取默认路由。

如下是台湾同胞博客上找到的一张RA报文( Rou[......]

继续阅读

IPv6地址自动配置中的有状态(stateful)和无状态(stateless)的区别

一个典型的IPv6主机单播地址由3部分组成:全局路由前缀、子网ID和接口ID(64位)。全局 路由前缀用来识别分配给一个站点的一个地址范围。子网ID也称为子网前缀,一个子网ID与 一个链接相关联,以识别站点中某个链接。接口ID用来识别链接上的某个接口,在该链接上是惟一的。

在无状态地址自动配置方式下,接口ID通常可以通过EUI64转换算法得到。接口ID由48位MAC地址转换得到。EUI64是IEEE定义的一种基于64位的扩展惟一标示符。他是IEEE指定的公共24位制造商标示和制造商为产品指定的40位值的组合。在IPv6地址中,接口ID的长度为64位,他由48位的以太网MAC地址转换得到。[......]

继续阅读