跳到内容

文章类别:服务器

特殊IP地址及专用IP地址

255.255.255.255 全1——受限广播地址

广播通信是一对所有的通信方式。受限广播地址用于定义整个互联网。如果设备想使IP数据报被整个Internet所接收,就发送这个目的地址全为1的广播包,但这样会给整个互联网带来灾难性的负担。在任何情况下,路由器都会禁止转发目的地址为受限的广播地址的数据包,这样的数据包仅会出现在本地网络中。对本机来说,这个地址指本网段内(同一个广播域)的所有主机,该地址用于主机配置过程中IP数据包的目的地址,这时主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也还不知道。

网络号:特定 主机号:全1——直接广播地址

一个网络中的最后一个地址为直接广播地址。主机使用这种地址把一个IP数据报发送到本地网段的所有设备上,路由器会转发这种数据报到特定网络上的所有主机。
注意:这个地址在IP数据报中只能作为目的地址。另外,直接广播地址使一个网段中可分配给设备的地址数减少了1个。

前四bit:1110 , 224.*.*.*~239.*.*.*——多播地址——D类地址(A类:0,B类10,C类:110,D类1110,E类11110)

多播地址用在一对多的通信中。多播通信就是从单个源地址把分组发送到一组目的设备。多播地址属于分类编址中的D类地址,一个地址串就代表一个GroupID,Internet上的设备可以有一个或多个GroupID。
注意:D类地址只能用作目的地址,而不能作为分组中的源地址。

网络号:全0 , 主机号:特定

当某个主机向同一网段上的其他主机发送报文时就可以使用这样的地址,分组也不会被路由器转发。

0.0.0.0——全0

这个IP地址在IP数据报中只能用作源IP地址,这发生在当设备启动时但又不知道自己的IP地址情况下。在使用DHCP分配IP地址的网络环境中,这样的地址是很常见的。用户主机为了获得一个可用的IP地址,就给DHCP服务器发送IP分组,并用这样的地址作为源地址,目的地址为255.255.255.255(因为主机这时还不知道DHCP服务器的IP地址)。

网络号:01111111 , 127.*.*.*———环回地址

127网段的所有地址都称为环回地址,主要用来测试网络协议是否工作正常的作用。比如使用ping 127.1.1.1就可以测试本地TCP/IP协议是否已正确安装。另外一个用途是当客户进程用环回地址发送报文给位于同一台机器上的服务器进程,比如在浏览器里输入127.1.2.3,这样可以在排除网络路由的情况下用来测试IIS是否正常启动。在Windows系统中,127.0.0.1这个地址有一个别名“localhost”。

10.*.*.* , 172.16.*.*~172.31.*.* , 192.168.*.*——专用地址

上面三个网段是私有地址,可以用于自己组网使用,这些地址主要用于企业内部网络中,但不能够在Internet网上使用,Internet网没有这些地址的路由,而使用这三个网段的计算机要上网必须要通过地址翻译(NAT),将私有地址翻译成公用合法的IP地址。一些带宽路由器或是其它的网络设备,往往使用192.168.1.1作为缺省的地址,由于私有个人网络不会与外部互连,所以可以使用随意的IP地址,保留这三个网段的IP 地址使其使用,是为了避免以后接入公网时引起地址混乱。

169.254.*.*

如果设备获得了类似169.254.*.*这样的IP地址,说明您的DHCP有问题。在Windows系统中,如果DHCP客户端无法联系到DHCP服务器,客户端会根据自身的注册表,把自己的IP设置为168.254.*.*这样的地址。

对一台网络上的主机来说,它可以正常接收的合法目的网络地址有三种:本机的IP地址、广播地址以及组播地址。

【前端开发遇车祸成植物人,IE6将他唤醒】

【前端开发遇车祸成植物人,IE6将他唤醒】

北京程序员王xx遭遇车祸成植物人,医生说活下来希望只有万分之一,唤醒更为渺茫。

他的Leader和亲人没放弃,他们根据王xx视工作如命的作风,每天都在他身边念:

“xxIE6侧边栏又乱了,线上BUG啊!快起来改!”

奇迹发生,王醒来,第一句话:

我这是好的。

2位PIC主板诊断卡代码大全(纯复制)

故障代码含义速查表查表必读:(注意事项)
一 特殊代码“00”和“FF”及其它起始码有三种情况出现:
①已由一系列其它代码之后再出现:“00”或“FF”,则主板OK。
②如果将CMOS中设置无错误,则不严重的故障不会影响BIOS自检的继续,而最终出现“00”或“FF”。
③一开机就出现“00”或“FF”或其它起始代码并且不变化则为主板没有运行起来。
二 本表是按代码值从小到大排序,卡中出码顺序不定。
三 未定义的代码表中未列出。
四 对于不同BIOS(常用的AMI、Award、Phoenix)用同一代码所代表的意义有所不同,
因此应弄清您所检测的电脑是属于哪一种类型的BIOS,
您可查问你的电脑使用手册,或从主板上的BIOS芯片上直接查看,也可以在启动屏幕时直接看到。
五 有少数主板的PCI槽只有前一部分代码出现,但ISA槽则有完整自检代码输出。
且目前已发现有极个别原装机主板的ISA槽无代码输出,而PCI槽则有完整代码输出,
故建议您在查看代码不成功时,将本双槽卡换到另一种插槽试一下。
另外,同一块主板的不同PCI槽,有的槽有完整代码送出,
如DELL810主板只有靠近CPU的一个PCI槽有完整的代码显示,一直变化到“00”或“FF”,而其它槽走到“38”则不继续变化。
六 复位信号所需时间ISA与PCI不一定同步,故有可能ISA开始出代码,但PCI的复位灯还不熄,故PCI代码停在起始码上。
主板诊断卡代码速查 Award BIOS/Ami BIOS Phoenix BIOS/Tandy3000 BIOS

代码说明 阅读更多 »

编译Subversion模块,搭建基于apache的SVN服务器

如果要协同工作,代码版本的控制就显得非常重要,

是一个不错的选择.

本文针对使用自己编译apache作为网页服务器软件,且有在线浏览项目的的情况,

以下所有均在网页服务器可以正常运作的情况下进行,

没有apache的请先编译安装apache,本文不适于apt-get安装的apache.

对于apt-get安装的apache,网上方法较多,在此不谈.

声明:文中的代码不能直接使用,请根据自身情况作出修改!

下面开始,

首先至Subversion下载页面,下载最新的版本,格式由于本机是debian,故选择.tar.gz

存至所需位置,例如/usr/local/src,

也可在命令行中输入:

wget -c http://labs.renren.com/apache-mirror/subversion/subversion-1.7.1.tar.gz /usr/local/src

(选择人人源,-c表示续传,至2011.12.03最新版为1.7.1)

下载好后执行命令解包:

tar -zxvf subversion-1.7.1.tar.gz -C /usr/local/src

(.tar.gz使用-z,.tar.bz2使用-j)

进入源码目录然后运行命令进行编译:<

./configure –prefix=/usr/local/subversion –with-apxs=/usr/local/apache2/bin/apxs –with-ssl –enable-maintainer-mode –enable-dav –enable-dav-fs –enable-dav-lock

结果提示错误configure: error: Subversion requires SQLite

到网上查了一下,新版的Subversion是要求SQLite来存数据的,

为此网上还有一个系统管理员的咆哮,感觉挺搞笑的,地址在这

解决办法:

SQLite下载页面去下一个回来,或者

wget -c http://www.sqlite.org/sqlite-autoconf-3070900.tar.gz

然后解包

tar -xvzf sqlite-autoconf-3070900.tar.gz -C /usr/local/src/

把里面的sqlite3.c复制到subversion的sqlite-amalgamation目录下,没有的自己mkdir

mkdir sqlite-amalgamation

cp ../sqlite-autoconf-3070900/sqlite3.c sqlite-amalgamation/

重新运行编译命令:

./configure –prefix=/usr/local/subversion –with-apxs=/usr/local/apache2/bin/apxs –with-ssl –enable-maintainer-mode –enable-dav –enable-dav-fs –enable-dav-lock

如果最后出现下面WARNING,我们直接忽略即可,因为不使用BDB存储.

configure: WARNING: we have configured without BDB filesystem support

You don’t seem to have Berkeley DB version 4.0.14 or newer
installed and linked to APR-UTIL. We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end. You can find the latest version of
Berkeley DB here:

http://www.sleepycat.com/download/index.shtml

下面安装命令:

make && make install

安装完毕测试是否安装成功:

/usr/local/svn/bin/svnserve –version

如果出现如下提示则说明安装成功:

svnserve, version 1.7.1 (r1186859)
compiled Dec 3 2011, 08:07:10

Copyright (C) 2011 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

 

下面配置svn服务器,

首先生成一个项目的目录(自定):

mkdir /var/www/html/svn/project1

然后生成项目的配置文件:

svnadmin create /var/www/html/svn/project1

修改配置:

vi /var/www/html/svn/project1/conf/svnserve.conf

将其中的如下4项去掉注释并修改:

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

注意:对用户配置文件的修改立即生效,不必重启svn.

然后设置项目的帐号密码:

vim /var/www/html/svn/project1/conf/passwd

在下面添加用户和密码,每行一组 username = password 保存.

待续…

脑袋晕了,太多问题了,刚刚检查了一下apache载入的模块,发现根本没有svn,

手动把

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

写入httpd.conf立马报错:undefined symbol: dav_register_provider

网上说是apache当初编译的时候没启用davweb支持,而这个是svn必需的,

只好重新编译apache……

./configure –prefix=/usr/local/apache2 –enable-dav –enable-so –enable-maintainer-mode –enable-rewrite

然后make && make install

在按回车的瞬间意识到,我没备份!!!

试了一下网站果然上不去了,赶紧看配置文件,还好都在……

结果又出问题了:module rewrite_module is built-in and can’t be loaded

rewrite模块是我后来单独编译的,apache的原始安装是没有的,

就多了一句:LoadModule rewrite_module modules/mod_rewrite.so

在上网查,原来是重新编译的时候,rewrite已经内嵌了,就不用再载入rewrite模块,

加#注释掉/apachectl start,好了.

他妹子的,我再休息一下….

既然重新编译了apache,Subversion还是也重新编译一下吧,

方法上面有,

然后再httpd.conf最后加上:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/html/svn/project1  //svn父目录
AuthzSVNAccessFile /svn/porject1/conf/passwd //权限配置文件
AuthType Basic //连接类型设置
AuthName “Subversion.zoneyump” //连接框提示
AuthUserFile /svn/porject1/conf/authz //用户配置文件
Require valid-user //采用何种认证
</Location>

重启apache然后登录http://域名/svn,

出现了用户密码的登录框,

输入用户密码可以登录进去,不过是500错误,

应该是没有权限,接下来设置……

待续…

果然文章一断就续不起来了,这篇文章实在写不下去了,

准备再次投入到svn的时候,发现了git,决定一试,

至于svn权限设置网上有很多,就不折腾了.

邮件服务器拆机的悲剧

学院的邮件服务器持续运行有4年了,从装好以后就没动过,

现在积累了一大堆问题要收拾,

首要的就是要换一部分硬件,

电源跟CPU散热器必须换,声音巨响,不知道那天就停转,

内存也要换,双至强配1G的内存是不是有点小了?

由于不清楚前有配置的具体型号(XX硬件大师不能满足要求),

决定拆了主机看看,顺便清一下灰.

在没有任何用户提示的情况下,邮件服务器关机下线了……

尼玛这个灰可真多啊,倒在地上都有一小堆,

还是弄不干净,就把整个全拆完了,一地配件,

取散热器的时候发生了悲剧的事情,

硅脂时间太久已经结成一块了,直接把CPU从底座上扯下来了,两块都是,

然后不知道那位同学那的时候不小心,埋下了悲剧的伏笔,

清完灰,用点小暴力把CPU扣下来,结果发现有一块装不回去底座上去了!

本来以为底座上的孔被灰堵了,但是换上另一块有装的进去,

拿起那块CPU一看,悲剧了,针脚弯了……

然后一哥们扳了两下,想扳回来,还是装不回去,

然后经过几次试验,已经有一片针脚都弯了……

由于我们这次更换配件预算有限,

管钱的老大看到这种情况就说,完了完了,要重新计划了.

还得老哥我出马,端坐到台灯底下,跟同学借张电话卡,

针脚的间隙刚好可以放进电话卡,哪里弯了卡就推不进去,很容易找到,

而且轻轻摇两下电话卡就能扳回来,

横竖来回纠正几次,拿到底座上一试,好了,

省了一千块钱……

记下型号就全部都装回去,发现少了几颗螺丝钉,应该是拆之前就缺的,

把主机放回机柜,接上插座的瞬间,停电了!!!

工作室所有插座都没电了!

三台服务器全挂掉了……

赶紧打电话给电工师傅,等了二十分钟,师傅来了,

打开配电室,貌似跳闸了,扳回去就好了,倒杯水招呼一下师傅.

然后开机……开不了机了!

检查一下,所有配件都接好了,然后跳了一下线,好了,

三台服务器都恢复上线.

终于over了.