月度归档:2017年02月

RouterOS上的pxe服务器

因为骨干路由从OpenWRT换到了RouterOS,所以pxe服务器也得从新搭建。

过程不是很麻烦,但是RouterOS并没有nfs服务器,所以有些linux发行版的netboot需要nfs的,就需要什么额外的机器来当这个nfs服务器了,当然,kvm是个好东西。

可以参考之前的老文https://ferrets.space/2014/04/07/在家里做了个pxe服务器/,有些东西还是自己动手丰衣足食。

目前拿了个debian来做实验:

首先,去下载必要的文件,然后,找到

pxelinux.0
ldlinux.c32
vesamenu.c32
libcom32.c32
libutil.c32
pxelinux.cfg/default
linux
initrd.gz

接下来首先就是要编辑pxelinux的配置文件pxelinux.cfg/default,内容可以参考之前的文章,大概像这样子:

DEFAULT vesamenu.c32
PROMPT 0
MENU TITLE RouterOS PXE-Boot Server

label Ubuntu
        MENU LABEL Debian
        KERNEL debian/linux
        APPEND initrd=debian/initrd.gz
        TEXT HELP
                Starts the Debian Net installer
        ENDTEXT

至于各字段怎么自定义那就自行Google了,保存好配置文件之后呢,就将这么几个文件,丢到RouterOS的文件系统(真他么的不好用)里,比如说这样:

好了之后,就在ip/tftp菜单下面增加tftp文件的配置,比如说像这样:

请求文件名可以和实际文件名不一样,实际文件名是给RouterOS看的,请求文件名是给客户端看的,所以实际文件名可以自行决定。这里要主意的是ip地址填的是客户端的ip地址,而pxe服务器嘛,基本上并没有固定ip,所以ip地址最好还是填ip段。

配置就这么多,接下来只要在客户端执行pxe启动就行了。

obfs通道的部署

参考:

https://plus.google.com/+GhostAssassin/posts/bMBbFYD6JZ3
https://www.liquidweb.com/kb/how-to-install-pip-on-centos-7/

 

最近听闻了一个模糊协议,叫做obfs,是开发Tor那群人搞出来的东西,用来模糊流量避免GFW的深度包检测,我尝试了一下可以做port forward,于是顺手再搭个梯子,感觉效果似乎比shadow socks好一点(心理作用?)。

搭建过程不算太麻烦,只需要一个叫做obfsproxy的软件就可以了,在ubuntu和debian似乎可以直接安装,不过pip安装的方法更加通用。

debian系的需求包

apt-get install gcc python-pip python-dev

redhat系的需求包

yum install python-pip python-devel gcc pycrypto

其中出现了我的CentOS软件源里并没有pip这种情况,可以实用python脚本来安装,方法如下:

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py

搞定之后可以用pip来安装obfsproxy

pip install obfsproxy

安装完毕后用法如下:

服务器端:

obfsproxy --data-dir ~/.obfs/ scramblesuit --dest 127.0.0.1:1194 --password ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 server 0.0.0.0:1234 &

客户端:

obfsproxy scramblesuit –dest serveraddress:1234 –password ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 client 127.0.0.1:56789 &

至此通道就搭起来了,例子中,客户端访问127.0.0.1:56789就相当于在服务器端访问127.0.0.1:1194。另外要注意的就是,obfsproxy似乎并不能保证数据加密的效果,最好搭配一个更加好的加密通道来使用。