行至水穷处,坐看云起时

  • rss
  • 博客首页
  • 音乐故事
  • 摄影相册
  • 站点导航
  • 与我联络

在cu的奥运之春摄影比赛里,取得了DC组的第一名,呵呵

2008-07-03 | 20:53

        恩,是4月到5月的比赛,最终的结果在 http://bbs.chinaunix.net/thread-1117408-1-6.html 这里有,DC组的作品里,分数排名第一三名的作品都是我的,由于名次只能取最前面的,所以我就只获得了第一名,而不是一,二等奖...奖品是个背包,我送给同事钟哥了...

       在 http://bbs.chinaunix.net/thread-1078133-1-4.html 这里是获得了一等奖的作品<花.树.叶>,在 http://bbs.chinaunix.net/viewthread.php?tid=1078147&extra=page%3D3%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D141 这里的则是我个人比较喜欢的 古镇风景

       获奖的作品在 http://www.chinaunix.net/photo/200806/ 这里有展示,有兴趣的朋友们来看看吧...当然,因为 CU 这里都是搞IT的,所以技术和装备肯定不能跟专业的比,看个热闹吧...

Comments
1 条留言 »
分类
学习摄影
Tags
2008, CU, photo, php, unix, 作品, 古镇, 摄影, 朋友, 比赛, 获奖
订阅RSS留言 订阅RSS留言
Trackback Trackback

Linux下网络高效的硬件选择及相关网络优化.

2008-03-18 | 4:38

转自: http://blog.chinaunix.net/u/4312/showart_306613.html 该主人技术不错的

1.现在的pc硬件情况
1)cpu相当快
2GHz CPU: 一个时钟周期0.5纳秒
L1/L2 缓存 2~3个时钟周期。
2)不在L1/L2缓存下的所有事情就像磁盘访问一样(指在内存中工作).
在Opteron(DDR-333) 40~180个时钟周期.
在Xeon(DDR-333) 250~460个时钟周期.
3)I/O读取
在NIC的寄存器读在3600个时钟周期左右。发生在同步操作,锁状态。
2.硬件选取
1)cpu
cache越多越好。共享缓存(多核)更好。
2)是否选择smp
smp增加了代码复杂性。在真正的smp中缓存中存在碰撞(ping-pong)。
选择主要考虑工作量和接口卡数。对于IPsec,tc,复杂路由等应用有帮助。对于只做nat帮助不大。 阅读全文 »

Comments
没有留言 »
分类
艺海无涯
Tags
blog, linux, nat, unix, vb, 硬盘, 网络
订阅RSS留言 订阅RSS留言
Trackback Trackback

新新BT下载工具——奔流Benliud

2007-09-23 | 4:18

如果有一款BT下载工具,功能很清爽,除了BT下载以外没有其他花哨功能,节约系统资源占用,你会不会用?

如果有一款BT下载工具,没有附带任何插件和广告显示,绝对不会污染你的眼睛和电脑,你会不会用?

如果有一款BT下载工具,同时有for win(98/2k/XP/2k3/Vista通吃)和linux两个版本,你会不会用?

如果有一款BT下载工具,与Flashget的bt下载速度相若,但使用的连接数只有其一半,你会不会用?

如果有一款BT下载工具,作者很诚实地告之用户与其他同类软件的测试结果(优劣各有),你会不会用?

如果有一款BT下载工具,比简单小巧的µTorrent 快速,而体积也只有1M些许,你会不会用?

至少,skylove会选择尝试一下。这个尚在开发中的软件,就是 奔流 Benliud 目前最新版本是0.2.1。版本号虽然低(因为作者很诚实啦,不是那种喜欢玩版本号游戏的),但功能已经相当地完善稳定,速度也相当地优秀了。在我用其在猪猪乐园下载电影的时候,速度感觉明显比其他bt下载工具好,而且所占用的系统资源开销(CPU、内存、TCP连接数)都比较理想。目前作者仍在很勤力地更新中(主页 http://blog.chinaunix.net/u1/42104/),相关的问题也可以发布到 benliud downloader [奔流下载] Google Groups 寻找作者了解。

如果你也想用用看,那么不妨到 http://groups.google.com/group/benliud/files 这里去下载一份吧,当前有for win和for ubuntu 两种版本提供,for win版本的安装更是直接解压到某目录就可以了。

Comments
没有留言 »
分类
休闲娱乐
Tags
blog, flash, google, linux, tor, unix, 软件
订阅RSS留言 订阅RSS留言
Trackback Trackback

写了一个CU论坛用的FX的GreaseMonkey的帖子自动保存/恢复插件

2007-09-17 | 18:37

时常有时候遇到什么非法提交,或者正繁忙,或者是来路不明的提示~~~ dz论坛在ie下有个帖子提交后恢复数据的功能,我看了下cu的,在ie下可以正确显示,其源代码js中也写了关于moz/firefox的支持部分,理论上在fx下也应该是可以正常工作的,但是在我的fx 2.0.0.x下偏偏却不行呢~~~???

所以我就自己简单地写了一个,由于GreaseMonkey不熟悉,fx下的js代码部分又有不少和ie有差异,因此这个程序写得尽量比较简单,就是提交的时候获取提交按钮的onclick属性并把当前的文本记录到gm内部的一个变量里,如果需要恢复,选旁边的恢复按钮(用js生成的)就提取出来。比较遗憾的由于能力原因和钻研精神不足,对Ctrl+Enter的提交方式,会导致帖子内容不被记录,因此也就不能恢复了~~~脚本很简单,稍作修改也能用于其他的论坛或者需要的地方~~~用着fx的朋友,如果有兴趣的用用看吧?

// ==UserScript==

// @name restore content for CU

// @namespace
bbs.chinaunix.net

// @include http://bbs.chinaunix.net/*

var theButton;
var the_My_Form = new Array();
//取得提交按钮
theButton = document.getElementById('postsubmit');

//取得文本框的数组,由于在页面里只有一个文本框,所以下面只用到了该数组的[0]成员
the_my_Form = document.getElementsByTagName('textarea');

if (theButton) {
//为了测试是否脚本无错,我设置了将默认的提交按钮变成黄色,不喜欢可以将这行去掉
theButton.style.color = "yellow";

//给提交按钮添加一个onClick属性,方便我们加入自己的保存文本函数
theButton.addEventListener('click', event_save, false);

//生成一个新的按钮,下面几行是这个按钮的type、class、id、value、onClick属性,由于GM是utf-8编码,和cu的gbk编码不一致,所以按钮的显示文字无法用中文
newElement = document.createElement('input');
newElement.type = "button";
newElement.className = "lightbutton";
newElement.id="restoredata";
newElement.value="Restore_Data";
newElement.addEventListener('click', event_restore, false);

//这个新的按钮的添加位置为原来的提交按钮之前
theButton.parentNode.insertBefore(newElement, theButton);
}

function event_save(evt){

//将输入的文本框内容提交到GM内置变量cu_lastcontent中(关闭浏览器也可保存),由于编码原因,先将内容编码后再存入GreaseMonkey的内置存储空间,GM_setValue和GM_getValue为GM 0.3版本以上支持
GM_setValue('cu_lastcontent',encodeURI(the_my_Form[0].value));

}

function event_restore(evt){

if (confirm ("Do you want restore content?")) {

//将取出的内容解码后,显示在文本框内
the_my_Form[0].value = decodeURI(GM_getValue('cu_lastcontent'));
}
}

Comments
没有留言 »
分类
心得分享
Tags
CU, script, tor, unix, 朋友, 脚本
订阅RSS留言 订阅RSS留言
Trackback Trackback

由加工一张photo引起的一连串事务(最后用ImageMagick搞定)

2007-03-20 | 8:48

今天,在闲逛CU的Shell板块的时候,意外中发现了 SED思维导图 这张帖子,里面的那张图片相当不错。于是呢,我在收藏之余,想把它打印出来。

sed-mindmap.png

恩,很天真的以为,稍微找个免费软件切割一下,把图片分为几块,然后打印出来不就ok啦?事实上可没那么简单,由于不想尝试ps/fireworks这样的大家伙,所以一心想找个小软件。结果可以说是把互联网络翻了一转。。。免费的不好用,好用的不免费,最后竟然没有一个合心意的~~!!! 值得一提的是,Split and Tile Image 这个软件不错,可惜是收费的(免费的切割了有水印),国人的 CutMapImage 倒是免费而且附带了源代码,可惜代码是基于.net的呢。

最后没办法,还是只有请免费老将出马,ImageMagick ,果然身手不凡,一招搞定。。。命令如下:

convert -crop 宽x高 待切割文件.jpg 新文件名%03d.jpg

例如

convert -crop 128x128 big.jpg small%03d.jpg

是不是觉得,%03d 那里很特别?那是因为 ImageMagick 可以定制输出文件的格式,学过c语言的都能看明白吧?,至于大小么?A4的纸张尺寸是 29.7×21cm 屏幕打印分辨率为72dpi的比较多,可以换算的。

另外最后由于为了找教程,所以连带着上了google的books站点,发现不少书已经可以在线看了,比如《三国志》。而且找到了 google图书下载的方法,甚至找到了 Hacking Google Print 这样的文章。。。

对了,现在正在emule上下载ImageMagick的教程,而且听说新的《越狱》翻译版本释放出了,赶紧去跟进。


Technorati : CutMapImage, ImageMagick, google, image, slipt

Comments
没有留言 »
分类
心得分享
Tags
blog, CU, google, photo, php, shell, tor, unix, 书, 图片, 网络, 软件
订阅RSS留言 订阅RSS留言
Trackback Trackback

你准备好了吗?欧洲最大的大众书签网站来了

2007-03-09 | 11:56

在我的记忆里,德国是很严谨的民族。。。一如绿茵场上的日尔曼战车,沉稳,扎实,敬业。但某种程度而言,它又是个充满了创意和接受新事物最为宽容的国度之一,比如著名的SuSE、emule服务器Donkey Server 就在那里。

web 2.0 的浪潮中,与其说这个酷爱黑啤酒和香肠猪蹄的国家受到了波及,不若说它在带头弄潮更恰如其分一些。在卷系了整个欧洲之后,它们开始关注亚洲这片神奇的土地。这次抢摊登陆的,是欧洲最大的大众书签网站 mister wong。

担任ChinaUnix新闻版面斑竹的时日里,海选精挑新闻线索的过程中,我无意间来到这个站点。此时中文站点初设,注册邀请尚未投入使用,看了看页面,简约而不失风趣幽默,恰是我最爱的风格。于是留下信箱,等待注册开放。本日中午收到邮件,提示可以注册登陆。于是立马驾着刚装好数日的FF前去,页面依旧,不过终于可以以邮件中提示的第三方用户登陆,然后再进行注册,等待邮件确认不提。(为什么先要用第三方用户号登陆呢?大概是网站为了保证注册的都是有心使用的用户,为了淘汰僵尸账户而设的吧)

进去以后,大致逛了下,由于网络速度原因没有能够做太深入地了解。(想来两方面原因,一方面是周末网络拥塞,另一方面是服务器机群尚未安置调试妥当,毕竟是内部邀请测试阶段嘛),对中文支持地很好,所有页面/提示/错误警告都是以正规的中文语法来描述的,相当地道,想来网站的建设团队中,一定有国人参与吧。

进一步的测试和特性阐述,留待下次进行,值得一提的是,我的邀请者--也就是书签站点的联系人 陈荟婧 小姐相当敬业,我在得到邀请后的、参观网站后给于她的两次反馈联络邮件,均在10分钟以内收到了详细的回复(可不是一成不变的公式回复哟,而是很有针对地对我提出的建议及意见给予答复呢)。并且回复中有提到,站点网络速度的问题将在近期得到解决。当然,我也得到了一份意外的礼物--网站送出的T-Shirt。。。^0^

其他的后续报道,留待周末以后吧。。。如果其他朋友对 www.mister-wong.cn 站点的邀请有兴趣,可以留下您的邮箱地址,我将给您发送邀请。。。对了,注册还会得到Mister Wong 的徽章哟~~~

noname.gif

Comments
4 条留言 »
分类
休闲娱乐
Tags
blog, unix, web, 书, 朋友, 网站, 网络
订阅RSS留言 订阅RSS留言
Trackback Trackback

ubuntu 6.10 的安装以及修改美化

| 7:41

最近,装了个ubuntu 来完,装好后觉得确实很不错,默认对中文支持地就相当好。而且安装只需要执行六个步骤就ok了。装好了之后——
0.安装中文环境,rar这些 sudo apt-get install language-support-zh rar unrar

1.将 /etc/apt/sources.list 修改为

deb http://ubuntu.cn99.com/ubuntu/ edgy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ edgy main restricted universe multiverse

然后用apt-get工具更新,并把所有能升级的工具软件升一次 apt-get update

2.默认的vim并不是太好用,所以推荐设置好了apt后装vim的完全版本,apt-get install vim-full
(配置在后面进行)

3.安装翻译词典stardict,顺便装个sdcv (它的文本版本)以及配套的词典,另外把zhcon也要装好
然后先设置zhcon的环境,

sudo apt-get install stardict stardict-common stardict-cdict-gb stardict-cedict-gb stardict-hanzim stardict-langdao-ce-gb stardict-langdao-ec-gb stardict-oxford-gb stardict-xdict-ce-gb stardict-xdict-ec-gb sdcv zhcon

在 /boot/grub/menu.lst里,修改

kernel /boot/vmlinuz-2.6.17-11-generic root=/dev/hda3 ro quiet splash vga=789

加上个vga参数,这样重新启动就可以在终端下跑sdcv词典了。

4.现在把/etc/vim/vimrc文件修改为如下适合我自己的

if v:lang =~ "^ko"
set fileencodings=euc-kr
set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
elseif v:lang =~ "^ja_JP"
set fileencodings=euc-jp
set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
elseif v:lang =~ "^zh_TW"
set fileencodings=big5
set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
elseif v:lang =~ "^zh_CN"
set fileencodings=gb2312
set guifontset=*-r-*
endif
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=utf-8,latin1
endif

set nocompatible " Use Vim defaults (much better!)
set bs=2 " allow backspacing over everything in insert mode
"set ai " always set autoindenting on
"set backup " keep a backup file
set viminfo='20,\"50 " read/write a .viminfo file, don't store more
" than 50 lines of registers
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time

" Only do this part when compiled with support for autocommands
if has("autocmd")
" In text files, always limit the width of text to 78 characters
autocmd BufRead *.txt set tw=78
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") 2 || has("gui_running")
syntax on
set hlsearch
endif

if &term=="xterm"
set t_Co=8
set t_Sb=^[4%dm
set t_Sf=^[3%dm
endif

" some extra commands for HTML editing
nmap ,mh wbgueyei<ea><!--pa>bba
nmap ,h1 _i

A

nmap ,h2 _i

A

nmap ,h3 _i

A

nmap ,h4 _i

A

nmap ,h5 _i

A

nmap ,h6 _i

A

nmap ,hb wbieabb
nmap ,he wbieabb
nmap ,hi wbieabb
nmap ,hu wbieabb
nmap ,hs wbieabb
nmap ,ht wbieabb
nmap ,hx wbFf
"set keywordprg=sdcv\ -n\ -u\ XDICT英汉辞典
vnoremap ,l may`a:exe "!sdcv -n -u XDICT英汉辞典 "@
nnoremap ,l mayiw`a:exe "!sdcv -n -u XDICT英汉辞典 "@

set cursorline
hi cursorline guibg=green guifg=black

其中前面的部分是根据rh as的vimrc修改的,后面 set keywordprg=sdcv\ -n\ -u\ XDICT英汉辞典 表示将sdcv绑定到K键上,默认就是按了K查当前位置的单词的意思;vnoremap ,l may`a:exe "!sdcv -n -u XDICT英汉辞典 "@和nnoremap ,l mayiw`a:exe "!sdcv -n -u XDICT英汉辞典 "@则是另外一种用法,按,l查询单词。
set cursorline和hi cursorline guibg=green guifg=black则表示高亮当前行。

再装上scim-bridge(避免和有些软件冲突),eva(linux下的qq),google earth、ethereal,d4x,将后两者相应的.desktop文件放到/usr/share/applications/目录下就好。

apt-get install scim-bridge scim-qtimm eva ethereal d4x编辑im-switch生成的scim配置文件 
  • sudo gedit /etc/X11/xinit/xinput.d/scim将默认的 GTK_IM_MODULE=scim 修改为 GTK_IM_MODULE="scim-bridge"将默认的 QT_IM_MODULE=scim 修改为 GTK_IM_MODULE="xim"


====================================
美化:
1.下载文泉驿的字体

sudo apt-get install xfonts-wqy

,并安装后执行 sudo fc-cache -fv 生效

2.下nvidia的驱动(把自带的删除掉,用官方的,mx440 8x只能用96xx的版本,最新的是9631)下载beryl并且安装
1.去http://www.nvidia.com/object/unix.html下载对应32/64位版本的驱动,放置在home根目录下,方便调用。(9631版本的)

2.删除原有驱动(假设你安装过源里面的nvidia-glx驱动,曾经手动安装驱动的可以跳过):
sudo apt-get --purge remove nvidia-glx
然后灰复X的设置
sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf
重启,确定起动正常

3.安装编译环境和前期步骤:
安装头文件和编译环境
sudo apt-get install linux-headers-$(uname -r) build-essential
edgy已经安装好了最新的gcc了,没有装的,自己装上

sudo gedit /etc/default/linux-restricted-modules-common
在最后的双引号里面添加nv两个字,添加后就是“nv”

预防起动X失败
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.mybackup
如果起动X失败,可以用sudo cp /etc/X11/xorg.conf.mybackup /etc/X11/xorg.conf来灰复X设置,然后起动

以下为网络上留传的要点,本人多台机器安装没有使用,如果不行,可以尝试(但是会删除受限制模块,导致某些别的硬件无法使用:
sudo apt-get --purge remove nvidia-settings nvidia-kernel-common
sudo rm /etc/init.d/nvidia-*

4.开始安装(对于曾经手动安装nv驱动的,可以在安装的时候选择卸载旧版的驱动):
请拿出一张纸和一支笔,记录下一下的命令,因为我们要去到纯终端里面安装

注销后,按Ctrl+Alt+F1,登录后
关闭gdm
sudo /etc/init.d/gdm stop
然后开始安装(假设下载的文件放在home根目录下)
sudo sh NVIDIA-Linux-x86-1.0-9631-pkg1.run(如果你下载的是64位驱动 sudo sh NVIDIA-Linux-x86_64-1.0-9629-pkg1.run)
进入安装界面后,首先接受协议,选“接受”
可能会有提示已经安装了旧的驱动(视乎你自己是否有手动安装过),是否删除,选yes就是了,
一般会提示缺少模块,问是否网上下载,选“no”,
提示需要自己编译模块,选“ok”,然后编译安装开始,
最后提示需要修改xorg.conf,是否允许,选yes,
完成安装,选ok。
然后回到终端界面,重启gdm
sudo /etc/init.d/gdm start

现在可以重启试试驱动是否已经装好,在“应用程序-》系统工具-》NVIDIA X server setting里面可以看到驱动的信息

安装beryl

sudo apt-get install beryl emerald emerald-themes

修改xorg.conf

sudo gedit /etc/X11/xorg.conf

在 Section "Screen" 里面添加
Option "AddARGBGLXVisuals" "True"

可选:
在 Section "Device" 里面添加
Option "TripleBuffer" "true"

添加如下一项:(本人没有添加)
Section "Extensions"
Option "Composite" "Enable"
EndSection

保存退出
打开菜单:系统 –> 首选项 –> 会话 –> 启动程序,加入”beryl-manager “
如果出现窗口框闪烁,可以在系统-》首选项-》会话-》起动程序 里面添加一项”emerald --replace“
对于升级Beryl的朋友,最好删除home里面的.beryl和.emerald里面的setting.ini



以上都参考 http://forum.ubuntu.org.cn/viewtopic.php?t=35100 这里吧

以上都写的很 简单,详细请查看 http://forum.ubuntu.org.cn/viewtopic.php?t=35100

Comments
没有留言 »
分类
心得分享
Tags
backup, CU, google, linux, php, POSE, QQ, tor, unix, 升级, 朋友, 网络, 软件
订阅RSS留言 订阅RSS留言
Trackback Trackback

利用Trixie精简CU浏览页面

2007-02-24 | 7:51

今天,利用一点休息时间,将CU的显示页面精简了一下,效果如图:

CUSimple1.jpg

CUSimple2.jpg

使用的是Trixie这个工具,利用类似GreaseMonkey的做法,将html代码发送到client后,加入Trixie的代码后再进行解释。详细的教程可以看 http://www.blogcn.com/user48/yonken/index.html ,关于DHTML的内容可以看http://www.phpx.com/man/dhtmlcn/。详细的在线教程可以通过http://diveintogreasemonkey.org/toc/这里来进行学习。

我写的代码如下:

1 // ==UserScript==
2 // @name ChinaUnixSimpleView
3 // @namespace http://skylove.study-area.org/blog/
4 // @description Simple display web
5 // @include http://bbs.chinaunix.net/viewthread.php*
6 // @include http://bbs2.chinaunix.net/viewthread.php*
7 // ==/UserScript==
8
9 //去掉左边的无用显示
10 var oSpanObjs = document.getElementsByTagName('span');
11 for (var i = 0; i < oSpanObjs.length; i++){
12 if (oSpanObjs[i].className=='smalltxt')
13 oSpanObjs[i].parentNode.removeChild(oSpanObjs[i]);
14 }
15
16 //去掉左边的图片显示
17 var oImgObjs = document.getElementsByTagName("img");
18 for (i = 0; i < oImgObjs.length; i++){
19 if ((oImgObjs[i].src.indexOf('http://bbs.chinaunix.net/customavatars/')!=-1) || (oImgObjs[i].src.indexOf('http://bbs.chinaunix.net/old_avatar')!=-1) || (oImgObjs[i].src.indexOf('http://bbs2.chinaunix.net/customavatars/')!=-1) || (oImgObjs[i].src.indexOf('http://bbs2.chinaunix.net/old_avatar')!=-1))
20 oImgObjs[i].parentNode.removeChild(oImgObjs[i]);
21 }
22
23 //去掉底部版权页
24 var oTrObjs = document.getElementsByTagName("tr");
25 for (i = 0; i < oTrObjs.length; i++){
26 if (oTrObjs[i].className == 'outertxt')
27 oTrObjs[i].parentNode.removeChild(oTrObjs[i]);
28 }
29
30 //去掉签名
31 var oTdObjs = document.getElementsByTagName("td");
32 for (i = 0; i < oTdObjs.length; i++){
33 if (oTdObjs[i].vAlign == "bottom")
34 oTdObjs[i].parentNode.removeChild(oTdObjs[i]);
35 }
36
37 //去掉广告
38 var oTableObjs = document.getElementsByTagName("table");
39 oTableObjs[3].parentNode.removeChild(oTableObjs[3]);
40 oTableObjs[8].parentNode.removeChild(oTableObjs[8]);
41
42 //去掉题头位置的无用表单
43 var oFormObjs = document.getElementsByTagName("form");
44 oFormObjs[0].parentNode.removeChild(oFormObjs[0]);
45
46 var oDivObjs = document.getElementsByTagName("div");
47 oDivObjs[0].parentNode.removeChild(oDivObjs[0]);

其实功能远远不止是如此,还可以添加更多有意思的功能,不过还是等以后再研究吧。


Technorati : DHTML, GreaseMonkey, Trixie

Comments
1 条留言 »
分类
心得分享
Tags
blog, CU, php, script, unix, web, 图片
订阅RSS留言 订阅RSS留言
Trackback Trackback

我是cu上的一尾鱼

2006-10-08 | 2:24

今天,是我在cu上注册的整整第4年。整数的日子,总是值得庆祝的, http://bbs.chinaunix.net/viewthread.php?tid=837989&extra=page%3D1

有空的话,来cu看看,顺便帮我顶帖子,是在cu论坛注册4周年而写的。。。

Comments
没有留言 »
分类
心情随笔
Tags
CU, php, unix
订阅RSS留言 订阅RSS留言
Trackback Trackback

linux可设置ip协议参数说明及个人杂语(四)

2006-07-29 | 11:13

在linux的源程序/Documentation/networking/ip-sysctl.txt 文件中,有详细地记录可以修改的关于linux的ip协议参数,以下是我的整理美化修整后添加个人心得的版本.(如蒙垂青,需要转载,请著名出处 http://skylove.study-area.org/blog/ )

格式

参数名 参数类型
参数值(如无特别标注,内存类的单位为byte,关于时间的单位为秒)
官方详细说明(skylove对该参数的个人心得或补充说明)

正文

===========网络接口界面(比如lo,eth0,eth1)参数===========

/proc/sys/net/ipv4/conf/{interface}/* :
在/proc/sys/net/ipv4/conf/ 下可以发现类似 all,eth0,eth1,default,lo 等网络接口界面,每一个都是目录,他们下属的文件中,每个文件对应该界面下某些可以设置的选项设置.(all/是特定的,用来修改所有接口的设置,default/ 表示缺省设置,lo/表示本地接口设置,eth0/表示第一块网卡,eth1/表示第2块网卡.注意:下面有的参数,是需要all和该界面下同时为ture才生效,而某些则是只需要该界面下为true即可,注意区别!!)

log_martians : BOOLEAN
记录带有不允许的地址的数据报到内核日志中。all/ 或者{interface}/ 下至少有一个为True即可生效.

accept_redirects : BOOLEAN
对于主机来说默认为True,对于用作路由器时默认值为False
收发接收ICMP重定向消息。all/ 和{interface}/ 下两者同时为True方可生效.
(如果不熟悉所在网络的结构.推荐不修改,因为在有多个出口的网络的时候,如果有2个出口路由器,由于作为主机的时候默认只指认一个网关,出口路由可能有策略设置转到另一个路由器上.)

forwarding : BOOLEAN
在该接口打开转发功能 (在3块或以上的网卡的时候很实用,有时候只想让其中一外一内,另一块做服务,就可以让这块做服务的网卡不转发数据进出)

mc_forwarding :BOOLEAN
是否进行多播路由。只有内核编译有CONFIG_MROUTE并且有路由服务程序在运行该参数才有效。

medium_id :INTEGER
默认值是0
通常,这个参数用来区分不同媒介.两个网络设备可以使用不同的值,使他们只有其中之一接收到广播包.默认值为0表示各个网络介质接受他们自己介质上的媒介,值-1表示该媒介未知。 通常,这个参数被用来配合proxy_arp实现:proxy_arp的特性即是允许arp报文在两个不同的网络介质中转发.(第一段 Integer value used to differentiate the devices by the medium they
are attached to. Two devices can have different id values when
the broadcast packets are received only on one of them.
The default value 0 means that the device is the only interface
to its medium, value of -1 means that medium is not known.
没读懂,去cu问人,以后更正)

proxy_arp : BOOLEAN
打开arp代理功能。all/ 或者{interface}/ 下至少有一个为True即可生效

shared_media : BOOLEAN
默认为True

发送(路由器)或接收(主机) RFC1620 共享媒体重定向。覆盖ip_secure_redirects的值。all/ 或者{interface}/ 下至少有一个为True即可生效

secure_redirects : BOOLEAN
默认为True

仅仅接收发给默认网关列表中网关的ICMP重定向消息,默认值是TRUE。all/ 或者{interface}/ 下至少有一个为True即可生效。 (这个参数一般情形请不要修改,可以有效地防止来自同网段的非网关机器发出恶意ICMP重定向攻击行为)

send_redirects : BOOLEAN
默认为True
如果是router,允许发送重定向消息.all/ 或者{interface}/ 下至少有一个为True即可生效。(根据网络而定,如果是做NAT,并且网内只有此一个网关的时候,其实是可以关闭掉它的,事实上目前而言,IP Redirects是TCP/IP协议产生早期为了解决网络持续性而提出的一种方法,后来事实证明这种措施不太实用而且具有很大的安全风险,可能引起各种可能的网络风险产生 - 拒绝服务攻击,中间人攻击,会话劫持等等,所以很多安全文档是推荐关闭它.)

bootp_relay : BOOLEAN
默认为False

接收源地址为0.b.c.d,目的地址不是本机的数据报。用来支持BOOTP转发服务进程,该进程将捕获并转发该包。目前还没有实现。

accept_source_route : BOOLEAN
对于主机来说默认为False,对于用作路由器时默认值为True
接收带有SRR选项的数据报。all/ 和{interface}/ 下两者同时为True方可生效.(IP源路由选项,也是TCP/IP协议早期的一个实现缺陷,允许IP包自身携带路由选择选项,这将允许攻击者绕过某些安全检验的网关,或者被用来探测网络环境。 在企业网关上强烈建议设置关闭或过绿丢弃IP源路由选项数据包。这个功能在调试网络的时候很有用,但是在真正的实际应用中,有可能造成一些麻烦和危险)

rp_filter : BOOLEAN
默认值为False

1 - 通过反向路径回溯进行源地址验证(在RFC1812中定义)。对于单穴主机和stub网络路由器推荐使用该选项。
0 - 不通过反向路径回溯进行源地址验证。
默认值为0,但某些发布在启动时自动将其打开。 (router默认会路由所有东西﹐就算该封包'显然'不属於我们的网路的。常见的例子﹐莫过於将私有 IP 泄漏到 internet 上去。假如某个界面﹐其上设定的网络地址段為
195.96.96.0/24﹐那么理论上不会有212.64.94.1 这样的地址段封包会到达这个界面上。许多人都不想转发非本网段的数据包﹐因此核心设计者也打开了方便之门。在 /proc 裡面有些档案﹐透过它们您可以让核心為您做到这点。此方法被称為 "逆向路径过滤(Reverse Path Filtering)"。基本上﹐假如对此封包作出的回应﹐不是循其进入的界面送出去﹐那它就被置之不理。)

arp_filter : BOOLEAN
默认值为False
1 -允许多个网络介质位于同一子网段内,每个网络界面依据是否内核指派路由该数据包经过此界面来确认是否回答ARP查询(这个实现是由来源地址确定路由的时候决定的),换句话说,允许控制使用某一块网卡(通常是第一块)回应arp询问。(做负载均衡的时候,可以考虑用
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
这样的方式就可以解决,当然 利用
echo 2 /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
两条命令配合使用更好,因为arp_announce 和arp_ignore 似乎是对arp_filter的更细节控制的实现。)

0 -默认值,内核设置每个网络界面各自应答其地址上的arp询问。这项看似会错误的设置却经常能非常有效,因为它增加了成功通讯的机会。在Linux主机上,每个IP地址是网络界面独立的,而非一个复合的接口。只有在一些特殊的设置的时候,比如负载均衡的时候会带来麻烦。
all/ 或者{interface}/ 下至少有一个为True即可生效。(简单来说,就是同一Linux上,如果有某些原因,有2块网卡必须设置为同一网段,那么默认情况下,会有一块工作,而另外一块不工作或者内核频繁报告错误,这个时候就需要打开这个选项了)

arp_announce : INTEGER
默认为0

对网络接口上本地IP地址发出的ARP回应作出相应级别的限制:

确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口
0 - (默认) 在任意网络接口上的任何本地地址
1 -尽量避免不在该网络接口子网段的本地地址. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.
2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送

all/ 和{interface}/ 下两者同时比较,取较大一个值生效.

提高约束级别有益于从指定的目标接受应答,而降低级别可以给予更多的arp查询者以反馈信息(关于arp代理这一段我普遍翻译地不好,去啃一下tcp/ip bible的卷一,然后再翻译吧)

arp_ignore : INTEGER
默认为0
定义对目标地址为本地IP的ARP询问不同的应答模式

0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对10.1.1.1 的arp查询也会回应--而原本这个请求该是出现在eth1上,也该有eth1回应的)

1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对192.168.0.1的查询会回答,而对10.1.1.1 的arp查询不会回应)
2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,eth1收到来自10.1.1.2这样地址发起的对192.168.0.1的查询不会回答,而对192.168.0.2发起的对192.168.0.1的arp查询会回应)
3 - 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应(do not reply for local addresses configured with scope host,only resolutions for global and link addresses are replied 翻译地似乎不好,这个我的去问问人)
4-7 - 保留未使用
8 -不回应所有(本地地址)的arp查询

all/ 和{interface}/ 下两者同时比较,取较大一个值生效.

tag : INTEGER
默认为0
你可以写一些,可以视需要而定.(没有明白这个是什么作用,以后补充)

以后如果有机会,我会把route部分的设置也翻译了。 通过翻译以及了解相关协议的过程中,我本人也学习到了很多,也了解到了linux在一些方面还存在着的不足,比如linux无法设置定期ARP清理的时间,linux的sysctl可控制参数比bsd来弱了很多(后者基本上是除了kernel的编译参数外,都可以通过sysctl调整).也有不少比大多数unix优秀的地方,比如TIME_WAIT的超时设置,在AIX,Tru64 UNIX里就没有.而且linuxTCP序列号本身就是依照RFC1948实现的(RFC1948 协议提出了一个加强的随机TCP序列号生成算法,启用RFC 1948支持将时TCP序列号能难以被预测,从而防止IPSpoof攻击和TCP任务劫持攻击产生。)

Comments
1 条留言 »
分类
心得分享
Tags
blog, CU, linux, nat, proxy, unix, 安全, 网络
订阅RSS留言 订阅RSS留言
Trackback Trackback

页数:  1 2 >

ABOUT ME


网 名: 天缘(skylove)












RSS邮天下订阅  文章 留言

最新日志

  • SecureCRT同时向多个session发送相同命令的方法
  • cacti常见问题解决办法【转载】
  • 一位IT同行的日志
  • 办公网常见的安全问题及华为交换机上的配置说明
  • cm7里adroid市场可浏览而无法下载的解决方法
  • Cisco设备光模块解密方法
  • 如何快速创建 Xen 虚拟机镜像
  • 伪技术人员的成长历程之70-Xen虚拟机下添加Swap磁盘
  • CentOS5.3下xen虚拟机的配置笔记
  • xen虚拟机管理xm的用法

分类

  • android (4)
  • 休闲娱乐 (22)
  • 妙文转载 (9)
  • 学习摄影 (10)
  • 心得分享 (97)
  • 心情随笔 (69)
  • 流水杂记 (42)
  • 艺海无涯 (71)
  • 过失教训 (5)

过去的日记

最新评论

  • Remote Energy Monitor: Check out this gibberish... Do you really believ...
  • 视频聊天室: 双击执行它...
  • 达人秀: 看个热闹吧.....
  • SecureCRT同时向多个session发送相同命令的方法 | 我友博客: [...] 通过行至水穷处,坐看云起时 » ...
  • East Fife Self Catering: Can I buy a vowel... I have not any idea about t...
  • iqzlnhyyia: sentttlzmpwf, qysvbuvwx...
  • outdoor lighting manufacturers canada: 我不得不承认,我通常会觉得无聊,...
  • Josie: Well done article that. I'll make sure to use it ...
  • Dsestbredo: buy bulk facebook fans buy cheap facebook fans ...
  • BlalselepNews: A hires the cialis generico in a cialis. Hovered ...

标签云

乐山 书 分手 升级 图片 安全 感情 手机 摄影 朋友 桌面 歌曲 照片 爱情 硬盘 网站 网络 脚本 虚拟化 软件 2008 apache asp blog blogger cisco CU dns flash google linux mp3 MSN nat photo php QQ script shell tor unix vb web windows xml

我的相册

武隆的图片

技术站点

  • Google站点统计
  • 网站检测
  • 高亮代码(.Net)
  • 高亮代码生成(PHP)

朋友们的站

  • GNAH‘s Not Another Programmer!
  • kiki on the way
  • NetKiller的主页
  • 哇靠~又写起了博客
  • 许敬刚老师的博达软件平台
  • 远方的远方

功能

  • 注册
  • 登录
  • 日志 RSS
  • 评论 RSS
  • WordPress.org
rss 订阅RSS留言 valid xhtml 1.1 design by jide powered by Wordpress get firefox