I needed to run LSI MegaRaid Storage Manager (vivaldiframework) for my LSI 9260-8i SAS card in my Ubuntu Desktop. Ubuntu is based on Debian so this may also work to get LSI MegaRaid Storage Manager on Debian as well, but I have not yet tried it yet. It took some work but I go it to install so I thought I would tell you how I did it. It is assumed that in the following, when editing a file you are doing it with superuser rights such as opening the files from the comand prompt with "sudo nano /path/to/file/file" or "sudo vi /path/to/file/file"

I found that you need to have a GUI installed (though the install can be done completely by ssh.

root account:

If the root account has not been enabled, it will need to be enabled and have a pasword set

sudo passwd root

sudo passwd -u root

Install prerequisites:

sudo apt-get install alien libstdc++5  rcconf

You also need to install at least Java 7, I am using Java8. I followed the procedure found at: http://www.ubuntugeek.com/how-to-install-oracle-java-7-in-ubuntu-12-04.html and just changed java7 in the command line to java8

 

You need to download the Linux  build from LSI (http://www.lsi.com/support/pages/download-results.aspx?component=Storage+Component&productfamily=RAID+Controllers&productcode=P00066&assettype=Management+Software+and+Tools&productname=MegaRAID+SAS+9260-8i). I initially tried the latest but had some problems with it. It could very well have been a fluk but I just went back to the 13.11.01.00 version that worked just fine.

mkdir ~/LSI

cp 13.11.01.00_Linux_x64_MSM.gz ~/LSI/

cd ~/LSI/

tar xzvf 13.11.01.00_Linux_x64_MSM.gz

cd disk

sudo alien --scripts *.rpm

install deb packages

sudo dpkg --install lib-utils2_1.00-6_all.deb

sudo dpkg --install megaraid-storage-manager_13.11.01-1_all.deb

edit /etc/init.d/vivaldiframeworkd and replace the line

for ((i=0, i < 20, i++))

with

for i in `seq 0 19`

edit "/usr/local/MegaRAID Storage Manager/Framework/startupui.sh" and replace

LD_LIBRARY_PATH=`pwd`:/opt/lsi/Apache:/opt/lsi/Pegasus:/opt/lsi/openssl;export LD_LIBRARY_PATH

with

LD_LIBRARY_PATH=`pwd`:/opt/lsi/Pegasus:/usr/sbin/openssl;export LD_LIBRARY_PATH

configure the service to start automatically:

sudo rcconf

arrow down to the vivaldiframeworkd, if it does not have an "*" in it , hit the space bar to select it, then hit enter or tab to OK

 

Restart the vivaldiframeworkd service:

sudo /etc/init.d/vivaldiframeworkd restart

if you want to use the Graphical desktop installed on you box you can access the GUI with

cd "/usr/local/MegaRAID Storage Manager"

./startupui.sh

 

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53638227
博主地址是:http://blog.csdn.net/freewebsys

1,golang非常适合云计算
docker 非常的好,golang 也可以直接跑在 alpine系统上面
但是,golang是个编译语言,不像java一样。可以把jar拷贝到其他系统上,golang依赖编译环境。
之前犯的一个错误就是,把centos系统上编译的二进制文件。
拷贝到了 alpine系统上,结果执行报错。
golang的编译还是依赖不同操作系统的。
所以干脆使用virtualbox 创建一个alpine的虚拟机得了。
在alpine上面做的操作就方便多了。

2,安装alpine
下载iso文件。
http://alpinelinux.org/downloads
安装:
https://wiki.alpinelinux.org/wiki/Installation
创建虚拟机就不说了。
alpine 挂载上了 ios镜像文件之后。
启动就进入登录界面了。用户名root,密码是空。(默认的)
执行安装语句

setup-alpine
1
这个没有centos的安装界面,就是个shell脚本。一步一步执行就行了。
https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts

首先是需要输入键盘格式。
然后自动获得ip。
设置管理员密码
输入时区 Asia/Shanghai 直接输入就行了。
下一步进行格式化硬盘

先选择了个 lvm ,然后又选择了个sys。
只有sys 才是把文件写入硬盘。
最后擦写硬盘。使用虚拟机问题不大,实机的时候注意数据备份。

一般来说安装脚本的执行问题不大。
有的时候可能访问不了网络了。这个时候重启下虚拟机,重新来。
https://wiki.alpinelinux.org/wiki/Configure_Networking
或者自己配置下网络。

vi /etc/resolv.conf
nameserver 114.114.114.114
重启网络
/etc/init.d/networking restart
ifconfig 看看ip
最好把镜像的地址修改成清华的。

echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main" > /etc/apk/repositories
apk update
1
2
也可以直接编辑 /etc/apk/repositories
安装完成,提示重启。

3,进入系统
进入系统之后

磁盘空间占用的挺少的。
这样一个 alpine linux 系统就安装好了。

4,开启ssh远程登录
默认 alpine 没有开启远程登录权限。
ssh远程登录不了。
vi /etc/ssh/sshd_config
增加:
PermitRootLogin yes
允许root登录,当然这个是测试环境,未来方便的。

5,总结
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53638227 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

alpine linux 系统很小。以后模拟测试啥的都可以在这个上面进行了。
以后再这个环境编译好的golang 二进制文件。就可以拷贝到 docker的 alpine 上面了。
一些特性也可以在 这个环境上面测试了。
————————————————
版权声明:本文为CSDN博主「freewebsys」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/freewebsys/java/article/details/53638227

转:http://www.senra.me/add-tun-tap-support-for-proxmox-ve-4-lxc-containers/

一.为什么

Proxmox VE 4将3代的OpenVZ支持去除换成了LXC,算是跟随趋势吧,但是LXC和OpenVZ还是有挺多不同的,在权限上更是如此,而网上最多的还是OVZ相关的教程,LXC的是真的少,不过一直以来没需求,所以没怎么折腾,最近在搞内网,所以为了用Tunnel还是得把TUN/TAP支持打开。

二.怎么办

首先当然是谷歌咯,关键词选得好马上出结果,proxmox官方论坛讨论贴 https://forum.proxmox.com/threads/tun-devices-in-ve-4-lxc.23473

总结一下

①.如果需要对所有(之后创建的)LXC容器全部开启tun/tap

那么需要修改/etc/lxc/default.conf,添加lxc.cgroup.devices.allow = c 10:200 rwm

当然,也可以创建/usr/share/lxc/config/common.conf.d/02-tuntap.conf 这样的配置文件来取得同样的效果

②.而如果只要对指定容器有效,则需要修改/etc/pve/lxc/[ID].conf , [ID]为你的容器编号

还没完,这样只是给了权限,实际上还没好,需要在容器的/etc/rc.local 自启动文件中添加如下

这样你执行需要tun/tap的程序时就不会出问题了

三.附录(记如何在v3版本的ovz下开启tun/tap)

a. 编辑vz.conf文件,添加iptable_nat ipt_state这2个东西

b. 手动关闭所有小鸡,重启openvz模块
/etc/init.d/vz restart

c. 对小鸡进行必要的设置(这里以小鸡100为例,100是指PID,WEB控制面板里可以看到)

d. 母鸡加载一次这些

e. 启动小鸡输入以下命令

Vultr是一家提供日本、美国、欧洲等多个国家和地区机房的VPS主机商,硬盘都是采用SSD,VPS主机都是KVM架构,VPS配置最少的内存768MB、硬盘为15GB的VPS只要5美元/月,vultr是根据时长来扣费的,使用多长时间就算多长时间,扣对应的款。

Vultr VPS新注册用户赠送50美元优惠活动(可免费使用VPS时间为2个月)

Vultr针对新用户的优惠又来了!! 这次直接注册即送50美金使用60天。60天后50美金自动失效! 本次活动需要信用卡或者或者paypal付款!paypal付款需要充值五美元,信用卡付款则会扣除2.5美元预授权费用(只是预授权,之后钱会回到你的信用卡的)。 2016年1月开始,vultr再次升级月流量,最低配置从原先的400GB增加到目前的1000GB,可以说非常超值,另外vultr 打算2016年一季度在亚洲扩充一个机房数据中心,目前选择是中国香港,韩国首尔,新加坡中的一个,所以,为了避免linode机房那种新用户限制选择东京机房的政策,如果未来有打算使用vultr上面机房数据中心的,建议现在就先注册好账号。

2016.4.7更新 vultr优惠码:NGINX20    新注册用户免费赠送20刀,有效期1年时间!

此外,Vultr VPS除了赠送50美元两个月的计划外,其他的计划都在打8折!无需输入优惠码! (vultr 是禁止用户重复注册账号的,即如果你的支付信息有2个账号在使用,那么你的账户会被关闭)

下面给出具体教程(2016.3.2vultr官网更新,本教程也相应更新):

点击这里查看官网:地址直达

3201

活动地址:http://www.vultr.com/freetrial/

注意:这个是一个新注册用户的优惠活动,所以需要新的账户。点击Sign Up and get $50 for free

3202

vultr 是禁止用户重复注册账号的,即如果你的支付信息有2个账号在使用,那么你的账户会被后台关闭的。简单的说就是一个账户的支付信息比如paypal 账号是对应唯一的一个的,如果你再次使用这个paypal支付另外一个新注册的账号的话,那么账户就会被关闭。所以,重复的注册账号是不可取的。

特别提醒

有部分朋友出现购买vultr的VPS在使用几天甚至付款验证后账户就被关闭,主要原因vultr 是禁止用户重复注册账号的,即如果你使用的paypal或者信用卡已经绑定了Vultr其他账号,那么你新注册的账户会被后台关闭的。简单的说就是一个账户的支付信息比如paypal 账号是对应唯一的一个的,如果你再次使用这个paypal支付另外一个新注册的账号的话,那么账户就会被关闭。所以,重复的注册账号是不可取的。

一 选择信用卡支付

填写信用卡信息,这个预扣款$2.5美元,后面会返还。另外使用优惠码 :NGINX20 可以获得vultr赠送的20美元一年使用权。

3203

这里一个很好的建议是你充值$10美元,防止你被误判恶意使用,如果你使用优惠码NGINX20 ,会被人工审核。这样你就可以免费使用VPS期限7个月了。

二 Paypal支付Vultr (仅限paypal 支付查看,信用卡支付的请忽略)

如果说你没有信用卡,但是你有Paypal 账号,那么你需要先点击上面的Expires 60Days From Today 后面的Remove按钮(谨慎操作,Vultr只给一次机会,选择信用卡的同学切勿选择,本操作仅限paypal支付同学使用 ),输入优惠码 NGINX20 获得20美元一年的使用权。

4701

三 服务器创建

账单信息确认完成,我们就可以点击右侧的3206 Deploy New Server  建立VPS了。

硬盘默认

服务器选择日本 东京(目前日本线路比较绕,选择洛杉矶比较好)

操作系统默认

服务器配置:默认即可。

其他信息默认即可。

点击 place order ,生成一个新VPS。

3207 3208 3209

进入 Servers ,稍等片刻服务器信息就生成了。

3212

点击 Cloud Instance 进行管理。

3211

Vultr 的这个控制面板还是比较清新的,VPS的所有功能都在一个页面集中,服务器停止,重新启动,重装系统,删除服务器等指示清晰,非常容易管理。

3210

按照上面的配置信息我们登录putty,注意vultr 端口号是22. 初次登录密码就是Initial Password 里面的信息,登录后就是我们常规的操作了。

简单简介下putty的使用

首先按照vultr 给我们的信息填写,IP选择控制面板的IP,端口22,选择SSH模式

461

点击open,会有一个窗口,选择是。

462

login as填写 root.密码填写vultr提供的密码。

putty的密码输入进去是不显示的,所以这里的正确操作步骤是:先复制vultr给的密码,注意复制的密码前后不能有空格(如上图正确密码cteyjukrieh!5),然后先鼠标左键点击下putty软件,再在绿色光标那里鼠标右键一下,然后回车键(Enter建)。这里最关键,好多朋友密码总是输入不对,要么是密码复制错误多了空格,要么就是因为没有看到密码显示就多鼠标右键,多复制了几次密码。正确复制密码回车后的界面是这个样子。

464

 vultr相关性能测试

如果你对速度还不爽,还可以做下优化,比如改进下TCP算法:hybla。 或者安装锐速.

TCP算法代码:

加载tcp_hybla模块(OpenVZ在这一步就会报错):

/sbin/modprobe tcp_hybla

然后查看是否已经正常加载:

lsmod |grep hybla

如果你的内核版本较新,比如CentOS 6.x的2.6.32,则可以用下列命令查看当前可用的拥堵算法,里面应该有hybla了:

sysctl net.ipv4.tcp_available_congestion_control

sysctl net.ipv4.tcp_congestion_control=hybla

编辑

vi /etc/sysctl.conf

在文档末行增加

net.ipv4.tcp_congestion_control= hybla

保存加载:

sysctl -p

然后重启即可。

其他可以参考:

我们用这个日本东京VPS来看视频,浏览网页的话是非常给力的。

在本站内购买vultr,加QQ:2102629796,获得免费搭建ss。

锐速给我们tcp连接加速

安装锐速

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

卸载锐速

chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f

根据屏幕提示输入 serverSpeederInstaller 其他信息默认,遇到Y或者N的地方,全部选Y.

然后我们按照图片的数据指示,一路回车就可以了。

11707

现在打开你的浏览器试试速度吧,有图为证

vultr

如果你安装没有效果,编辑一下命令

vi /serverspeeder/etc/config

然后rsc和maxmode设置参数修改为1.然后在进行重启

/serverspeeder/bin/serverSpeeder.sh restart

常用命令

启动锐速:

/serverspeeder/bin/serverSpeeder.sh start

停止锐速:

/serverspeeder/bin/serverSpeeder.sh stop

查看锐速是否正常运行

service serverSpeeder status

检查是否有appex0模块:lsmod

lsmod

32

转:http://toutiao.com/a6256358990286373121/

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。

原型的目的在于清楚的表达产品的设计理念和功能的执行逻辑,所以我认为能够达到这个目的的原型都是合格的。但如果可以把原型做的更加精致美观些,又何乐而不为呢。然而需要注意的是,我们毕竟是负责产品的,不是负责界面设计的,所以哪怕是制作高保真原型,也要快。

快速制作高保真原型不得不知的小技巧

在需求讨论,功能确定阶段,我们会画线框图,也就是低保真原型。待需求功能流程基本理清后,为保证时间效率,通常会出中保真原型图给设计,毕竟出高保真要占用更多的时间。不过,在有些时候我们是有必要甚至必须出高保真原型,比如进行原型测试。

这是我按照简书IOS端APP做的原型界面,两个界面没超过15分钟。

快速制作高保真原型不得不知的小技巧

原型示例

我不会告诉你我是这样做的

准备篇

素材积累

工作的时候每隔一段时间我会停下手头的活,休息几分钟(番茄工作法)。一般在这几分钟我会站起来走两步,然后就是看看素材类,图片类网站。因为逛这类网站不用动脑,所以放松挺不错。顺便看到不错的图片就保存下来当素材。

列一些我常去的网站:

花瓣网 http://huaban.com/

国内知名图片分享网站UI社 http://www.uishe.cn/

素材类网站,免费下载psd文件easyicon http://www.easyicon.net

可以搜索你想要的各种icondribbble https://dribbble.com/

交互类作品分享平台,国外大神常出没于此reeoo http://reeoo.com 国外素材类网站,支持免费下载

修图小技巧

积累的图片素材有时候不能直接用,可能背景不透明,可能填充色不对等等。所以掌握简单的修图技巧还是需要的。通常用的比较多的就是切图(psd文件切图标用),剪切,调整图片大小,抠图,修改填充色。

由于MAC下PS比较卡,所以我用的修图软件是Affinity Photo(下简称AP)。网上不太容易找到AP的使用教程,这里就介绍下AP的切图方法。其他的琢磨两下就知道了。

psd切图

快速制作高保真原型不得不知的小技巧

用AP打开psd文件

快速制作高保真原型不得不知的小技巧

创建切片

快速制作高保真原型不得不知的小技巧

导出切片

原型设计规范

刚开始学画原型图时,我总是在字体的大小,颜色等等这些细节上很苦恼。如果太随意,虽然省事,但效果实在不堪;如果扣细节,却又要花很多时间,得不偿失。

后来我发现,不同的产品原型完全可以用一套设计标准,因为不管原型如何,UI最终会针对APP出相应的视觉设计规范。于是我制定了我的设计标准,管你什么APP,直接套,即便捷又美观。

比如我的文字大小颜色等等是这样设置的。可以根据自己的需要制定自己的规范。

快速制作高保真原型不得不知的小技巧

自定义组件

虽然Axure已经提供了一些方便使用的基本组件,但为了提高效率,我们需要自定义常用的组件。比如iPhone的navigation栏和tab栏,跟大宝似的天天见。那我就做成了组件,随时用,随时拖。

快速制作高保真原型不得不知的小技巧

我的一些自定义组件

注意,自定义组件本身也是遵守原型设计规范的。另外,看到图中方案1下面的那几个组件了吗?有什么用呢?待会说,先卖个关子。

Axure使用篇

常用快捷键

想要快速,尽然不用快捷键?别逗了。分享下乌金老师整理的Axure RP7.0快捷键中英文PC和MAC对照版http://vdisk.weibo.com/s/sRCuwKXDvAjWC

辅助线

Axure有全局辅助线和局部辅助线。全局辅助线在所有页面都有效,局部辅助线只在当前页面有效。

在开始制作原型图前,我会先布局好主要的辅助线。比如我做的原型界面是375x668(iphone6屏幕像素的一半)的大小,控件距屏幕边缘20px宽,为方便布局,我会先设置几条全局线。

快速制作高保真原型不得不知的小技巧

创建全局辅助线

快速制作高保真原型不得不知的小技巧

移动左边两条辅助线

快速制作高保真原型不得不知的小技巧

移动后

快速制作高保真原型不得不知的小技巧

选中所有辅助线,设置锁定

这样基础的辅助线就设置好了,再在具体使用中灵活运用局部辅助线,我们就可以愉快的布局玩耍啦。

快速制作高保真原型不得不知的小技巧

利用辅助线快速布局

对齐分布和等间距分布想要多个控件的位置摆放合理美观,我们常常用到对齐分布或等间距分布。

对齐分布有三种方法:

  • 一,利用Axure的提示对齐线移动控件的过程中,提示对齐线会自动出现(原谅我截不了图),按提示操作即可,很傻瓜式。
  • 二,利用辅助线关于辅助线,前面已经说到,不罗嗦了。
  • 三,利用对齐动作比如我想让控件2对于控件1进行左对齐,先选中控件1,再选中控件2(注意顺序),然后去点右上角红圈处的对齐按钮,选中左对齐即可。可以记住对齐快捷键,那操作就很快啦。

快速制作高保真原型不得不知的小技巧

对于2两个以上的需要等间距分布的控件,我们可以利用等间距操作。比如tabbar,通常有4、5个按钮。我们在设置好一个按钮后,直接复制粘贴,如图

快速制作高保真原型不得不知的小技巧

把最两边的按钮位置放好,选中全部按钮

顶部对齐

进行水平等间距

快速制作高保真原型不得不知的小技巧

完成

取色

这里正是我前面卖的关子。我们制定好了规范,每个界面的背景色都是#F7F7F7,现在我要修改一个蓝色背景的矩形组件,怎么该颜色呢?输入色值?当然可以,但慢啊。用取色笔?屏幕里没有我要的颜色啊?瞧我的。

我根据规范的颜色,分别自定义了矩形组件。这样会在Axure的组件栏里显示出来。

快速制作高保真原型不得不知的小技巧

这些组件不是用来拖的,而是方便我取色的

接下来用取色笔就可以方便的取色啦,是不是很机智。

快速制作高保真原型不得不知的小技巧

temp页写代码讲究复用,讲究ctrl+c,ctrl+v。做原型也一样,要学会“懒”。有时候某个界面的控件在其他地方也会用,对于这样的控件,我会把它放到temp页里。

temp页是做作原型过程中的临时页面。它就像个复用池,里面的控件随时准备被我拿来ctrl+c,啦啦啦。

快速制作高保真原型不得不知的小技巧

来源@简书

本文由 @许洵的昵称 授权发布于人人都是产品经理 ,未经许可,禁止转载。

2.0.0818固件降级比较麻烦,还好有热心网友分享直刷1.5固件

链接:http://pan.baidu.com/s/11AGbG 密码:zhh6

降级到1.5后,进行获取root权限和ssh权限。

telnet连不上,是因为openwrt只会在root账户没有密码的情况下才允许telnet连接。
所以,构造请求 ;passwd -d root;
http://192.168.11.1/cgi-bin/luci/;stok=6162fd66813c8381229b2fe99993d61e/api/devices/allowConnect?mac=%3Bpasswd%20-d%20root%3B
删除 root密码
telnet 连接 成功

修改opkg.conf,更换openwrt源

更新opkg  opkg update
安装dropbear opkg install dropbear
设置 dropbear 自启动 修改 /etc/rc.local 添加一行 /usr/sbin/dropbear
本来可以执行 /etc/init.d/dropbear rc.common但报错了,不管了,有空再看,先粗暴的直接执行命令。

查看一下 iptables,确认22 端口开放;
重启,发现ssh可以连了。
那就再telnet上去,设置root密码。

参考:http://www.right.com.cn/forum/thread-161455-1-1.html

 

然而刷openWRT并不需要获取ssh权限,直接使用telnet将下载的uboot和潘多拉固件刷入路由器。这个就比较容易了,执行几个命令而已。

参考:http://www.7po.com/thread-456939-1-1.html

包括 安装epel源、导入国内数据源、系统支持中文、调整时区等简单功能
适用于模板:centos-6-x86_64-minimal.tar.gz
wget "http://www.151051.com/soft/init/init_centos.sh" -O - | bash

 

默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢。其次是部分网站域名不能正常被解析,莫名其妙地打不开,或者时好时坏。

如果碰上不稳定的本地DNS,还可能经常出现无法解析的情况。除了要避免“坏”的DNS的影响,我们还可以利用DNS做些“好”事,例如管理局域网的DNS、给手机App Store加速、纠正错误的DNS解析记录、保证上网更加安全、去掉网页讨厌的广告等等。

这时候搭建一个属于自己的本地DNS服务器就十分必要了,本篇文章就来分享一下Dnsmasq安装与配置方法,利用Dnsmasq来搭建一个属于自己的本地DNS服务器,享受更干净无污染、更智能快速和没有广告干扰的DNS解析服务。

Dnsmasq安装与配置-搭建本地DNS服务器 享受更干净更快无广告DNS解析

一、Dnsmasq安装

1、执行以下命令在VPS上安装Dnsmasq:


yum install dnsmasq -y 
service dnsmasq start 

Dnsmasq安装

二、Dnsmasq配置

1、Dnsmasq的配置文件是放在 /etc/dnsmasq.conf 中。

Dnsmasq配置文件

2、打开编辑,配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 会从这个指定的文件中寻找上游dns服务器。同时取消 strict-order 前面的注册#号。

Dnsmasq去除注释号

3、检查一下no-hosts前面是不是已经有了#号,默认的情况下是有的,dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找。

Dnsmasq检查配置

4、设置:listen-address=127.0.0.1,表示这个 dnsmasq 本机自己使用有效。注意:如果你想让本机所在的局域网的其它电脑也能够使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1

Dnsmasq局域网IP

5、修改好了dnsmasq.conf 后,就可以将它重新上传覆盖原文件了。

6、另外我们还需要修改/etc/resolv.conf这个文件,执行以下命令:


echo 'nameserver 127.0.0.1' > /etc/resolv.conf
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf
echo 'nameserver 199.91.73.222' > /etc/resolv.dnsmasq.conf
cp /etc/hosts /etc/dnsmasq.hosts
echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf

Dnsmasq添加NS服务器IP

7、resolv.dnsmasq.conf中设置的是真正的Nameserver,可以用谷歌、V2EX等公共的DNS。

三、Dnsmasq启动

1、执行以下命令设置Dnsmasq开机启动并启动Dnsmasq服务:


chkconfig dnsmasq on
/etc/init.d/dnsmasq restart

Dnsmasq启动服务

2、执行命令:netstat -tunlp|grep 53 可以查看Dnsmasq是不是已经正常启动:

Dnsmasq检查是否正常启动

3、测试:dig www.freehao123.com,第一次是没有缓存,所以时间是200多。

Dnsmasq查询时间

4、第二次再次测试,因为已经有了缓存,所以查询时间已经变成了0.

Dnsmasq缓存生效

四、Dnsmasq使用

1、本地DNS。将Dnsmasq作为本地DNS服务器使用,直接修改电脑的本地DNS的IP地址即可。

Dnsmasq本地DNS服务器使用

2、应对ISP的DNS劫持。输入一个不存在的域名,正常的情况下浏览器是显示无法连接,DNS劫持会跳转到一个广告页面。先随便nslookup 一个不存在的域名,看看ISP商劫持的IP地址。

Dnsmasq检查DNS劫持

3、接着编辑/etc/dnsmasq.conf文件,将:bogus-nxdomain=123.123.123.123 加入进去,后面的IP是刚刚查询到的DNS劫持IP地址。

4、重启dnsmasq,再尝试打开不存在的域名,这时浏览器就会显示正常的无法连接页面了。

Dnsmasq无法显示网页

5、智能DNS加快解析速度。打开/etc/dnsmasq.conf文件,server=后面可以添加指定的DNS,例如国内外不同的网站使用不同的DNS。


#国内指定DNS
server=/cn/114.114.114.114
server=/taobao.com/114.114.114.114
server=/taobaocdn.com/114.114.114.114
#国外指定DNS
server=/google.com/223.5.5.5

6、server=/cn/表示所有的cn域名都使用114这个公共DNS,server=/taobao.com/表示所有的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS,你可以换成其它的。

7、屏蔽网页广告。将指广告的URL指定127这个IP,就可以将网页上讨厌的广告给去掉了。


address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1

8、指定域名解析到特定的IP上。这个功能可以让你控制一些网站的访问,非法的DNS就经常把一些正规的网站解析到不正确IP上。


address=/freehao123.com/123.123.123.123

9、内网DNS。首先将局域网中的所有的设备的本地DNS设置为已经安装Dnsmasq的服务器IP地址。然后修改已经安装Dnsmasq的服务器Hosts文件:/etc/hosts,指定域名到特定的IP中。

10、例如想让局域网中的所有用户访问www.freehao123.com时跳转到192.168.0.2,添加:192.168.0.2 www.freehao123.com在Hosts文件中既可,整个过程也可以说是“DNS劫持”。

五、Dnsmasq小结

1、Dnsmasq作为本地DNS服务器安装方便,操作简单,改动的地方也不是很多,如果用国内的VPS来搭建本地DNS,响应的速度会更快,也更稳定。

2、Dnsmasq的功能强大,反DNS劫持、加快解析速度、屏蔽广告、控制内网DNS、强制域名跳转到特定IP上等这些功能在我们的实际的生活中都是很有用的。

http://www.centoscn.com/CentosServer/test/2014/1120/4153.html

OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件。使用OpenVPN可以方便地在家庭、办公场所、住宿酒店等不同网络访问场所之间搭建类似于局域网的专用网络通道。

使用OpenVPN配合特定的代理服务器,可用于访问Youtube、FaceBook、Twitter等受限网站,也可用于突破公司的网络限制。

一、服务器端安装及配置

服务器环境:干净的CentOS6.3 64位系统

内网IP:10.143.80.116

外网IP:203.195.xxx.xxx

OpenVPN版本:OpenVPN 2.3.2 x86_64-redhat-linux-gnu

    1、安装前准备

# 关闭selinux
setenforce 0
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
# 安装openssl和lzo,lzo用于压缩通讯数据加快传输速度
yum -y install openssl openssl-devel
yum -y install lzo
# 安装epel源
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

    2、安装及配置OpenVPN和easy-rsa

# 安装openvpn和easy-rsa
yum -y install openvpn easy-rsa
# 修改vars文件
cd /usr/share/easy-rsa/2.0/
vim vars
# 修改注册信息,比如公司地址、公司名称、部门名称等。
export KEY_COUNTRY="CN"
export KEY_PROVINCE="Shandong"
export KEY_CITY="Qingdao"
export KEY_ORG="MyOrganization"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"
# 初始化环境变量
source vars
# 清除keys目录下所有与证书相关的文件
# 下面步骤生成的证书和密钥都在/usr/share/easy-rsa/2.0/keys目录里
./clean-all
# 生成根证书ca.crt和根密钥ca.key(一路按回车即可)
./build-ca
# 为服务端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)
./build-key-server server
# 每一个登陆的VPN客户端需要有一个证书,每个证书在同一时刻只能供一个客户端连接,下面建立2份
# 为客户端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)
./build-key client1
./build-key client2
# 创建迪菲·赫尔曼密钥,会生成dh2048.pem文件(生成过程比较慢,在此期间不要去中断它)
./build-dh
# 生成ta.key文件(防DDos攻击、UDP淹没等恶意攻击)
openvpn --genkey --secret keys/ta.key

查看keys目录下生成的文件:

wKioL1RhllmyOZW9AAKmWJ5x4tg383.jpg

    3、创建服务器端配置文件

# 在openvpn的配置目录下新建一个keys目录
mkdir /etc/openvpn/keys
# 将需要用到的openvpn证书和密钥复制一份到刚创建好的keys目录中
cp /usr/share/easy-rsa/2.0/keys/{ca.crt,server.{crt,key},dh2048.pem,ta.key} /etc/openvpn/keys/
# 复制一份服务器端配置文件模板server.conf到/etc/openvpn/
cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn/
# 查看server.conf里的配置参数
grep '^[^#;]' /etc/openvpn/server.conf
# 编辑server.conf
vim /etc/openvpn/server.conf
port 1194
# 改成tcp,默认使用udp,如果使用HTTP Proxy,必须使用tcp协议
proto tcp
dev tun
# 路径前面加keys,全路径为/etc/openvpn/keys/ca.crt
ca keys/ca.crt
cert keys/server.crt
key keys/server.key  # This file should be kept secret
dh keys/dh2048.pem
# 默认虚拟局域网网段,不要和实际的局域网冲突即可
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# 10.0.0.0/8是我这台VPN服务器所在的内网的网段,读者应该根据自身实际情况进行修改
push "route 10.0.0.0 255.0.0.0"
# 可以让客户端之间相互访问直接通过openvpn程序转发,根据需要设置
client-to-client
# 如果客户端都使用相同的证书和密钥连接VPN,一定要打开这个选项,否则每个证书只允许一个人连接VPN
duplicate-cn
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
comp-lzo
persist-key
persist-tun
# OpenVPN的状态日志,默认为/etc/openvpn/openvpn-status.log
status openvpn-status.log
# OpenVPN的运行日志,默认为/etc/openvpn/openvpn.log 
log-append openvpn.log
# 改成verb 5可以多查看一些调试信息
verb 5

4、配置内核和防火墙,启动服务

# 开启路由转发功能
sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf
sysctl -p
# 配置防火墙,别忘记保存
iptables -I INPUT -p tcp --dport 1194 -m comment --comment "openvpn" -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
service iptables save
# 启动openvpn并设置为开机启动
service openvpn start
chkconfig openvpn on

    5、创建客户端配置文件

# 复制一份client.conf模板命名为client.ovpn
cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/client.conf client.ovpn
# 编辑client.ovpn
vim client.ovpn
client
dev tun
# 改为tcp
proto tcp
# OpenVPN服务器的外网IP和端口
remote 203.195.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
# client1的证书
cert client1.crt
# client1的密钥
key client1.key
ns-cert-type server
# 去掉前面的注释
tls-auth ta.key 1
comp-lzo
verb 3

二、Windows客户端安装及配置

客户端系统:Windows7 64位

内网IP:172.16.4.4

OpenVPN版本:OpenVPN 2.3.3 Windows 64位

    1、下载安装OpenVPN

OpenVPN 2.3.3 Windows 32位 安装文件:

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.3-I002-i686.exe

OpenVPN 2.3.3 Windows 64位 安装文件:

http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.3-I002-x86_64.exe

    2、配置client

将OpenVPN服务器上的client.ovpn、ca.crt、client1.crt、client1.key、ta.key上传到Windows客户端安装目录下的config文件夹(C:\Program Files\OpenVPN\config)

    3、启动OpenVPN GUI

在电脑右下角的openvpn图标上右击,选择“Connect”。正常情况下应该能够连接成功,分配正常的IP。

wKiom1RhjGbijB7xAABMoQo3Tnc522.jpg

wKioL1RhjgyxiZ17AAIRIRCqqws094.jpg    

    4、测试

wKiom1RhjfPD8_AYAAGxUvt_PCA503.jpg

ping通服务器的内网IP,说明已经接入到服务器的内部网络。

到OpenVPN服务器上查看客户端的连接情况,查看状态文件/etc/openvpn/openvpn-status.log:

转:http://www.chenxiaolee.com/post/21/

前段时间,服务器发生问题,看tomcat的报错日志提示:No space left on device

然后df看下磁盘空间,并没有满,还有富余,那是怎么回事呢?

用 df -i 查看,原来是磁盘的inode空间已满。
首先想到的是要删除临时或没用的文件,以释放些inode,可是由于项目小文件太多,不断的以成千上万的速度在增长,马上inode又会满。

我的解决方法:将此分区的文件系统由ext4格式改为Reiserfs文件系统。

过程:
1、要将原来的分区umount下来,umount /dev/sda3

要使用新的文件系统,首先以下创建一个Reiserfs文件系统:
# mkreiserfs -f /dev/sda3

2、键入“y”后回车,开始创建新的文件系统,格式化的过程比较慢,视分区的大小而定,但是,对其它的文件系统的格式化比较,其明显要慢很多。格式化完成后,显示如下信息:

(y/n) ALL DATA WILL BE LOST ON '/dev/sda3'! y

Initializingjournal- 0%....20%....
40%....60%....80%....100% left 0,
182 /sec 

Syncing...

ReiserFS core development sponsored
by SuSE Labs (suse.com)

Journaling sponsored by MP3.com.

To learn about the programmers and
ReiserFS, please go to

http://www.devlinux.com/namesys

Have fun.

至此创建完成Reiserfs分区的创建。(我创建过1.8T的硬盘大概用半分钟)

3.使用reiserfs文件系统

为了使用新的分区,需要将其mount上来:

4、# mount -t reiserfs /dev/sda3 /dir

这样新的文件系统就被mount到/dir目录下了。现在就可以开始使用新的文件系统存放文件了。

5、最后,为了让系统每次启动时都自动加载Reiserfs文件系统,应该手工更改/etc/fstab内容,将相应的分区加入其中。

#LABEL=/dev/sda3           /dir                 reiserfs    defaults        1 2

6、查看是否使用了reiserfs文件系统
# df -T -h
查看inode的使用情况
# df -i

这样再无需担心inode用尽的问题了。

过程中我遇到的问题:

1、没有mkreiserfs命令怎么办?
解决:安装reiserfsprogs
我的是ubuntu系统,直接便捷安装 #apt-get install reiserfsprogs

2、对已有的分区文件重新格式化后,再重新启动机器会出现重新格式化的分区无法加载,由于我只改了分区文件系统,所以肯定问题是出在这个上面,想到查看/etc/fstab,看到对这个分区没有自动更新
解决:
vi /etc/fstab 将其中刚进行改动的分区的文件类型更新为正确的。
有些系统已开始使用UUID来对应分区,使用blkid /dev/sda3命令可以查看分区的UUID 或 blkid查看各个分区的UUID。