SuperTaoer::Thanksgiving

道空道,佛归道.天碧渊,倚依照.若问故人情,滴水杯中傲!

七月 30, 2007

Linux架设ntp时间服务器并且进行同步

文章类别: 程序 技术 — SuperTaoer @ 5:38 pm

首先,你可以从这里下载一个时间服务器的tar.gz包:
support.ntp.org/bin/view/Main/WebHome

参考:
大部分都参考了这里:鳥哥的 Linux 私房菜 — NTP 時間伺服器

客户端和服务端安装一样,解开tar包,
#./configure –prefix=/usr/local/ntp && make && make install && make clean

好了,进入你的/usr/local/ntp/bin目录下,你会发现如下几个文件:
ntpd ntpdate ntpdc ntp-keygen ntpq ntptime ntptrace ntp-wait sntp tickadj
其中有几个是待会儿需要用到的。。。

好了,接下来进行第一步:
设定ntp服务端的配置文件: /etc/ntp.conf
ntp.conf里主要可以使用如下几个命令:restrict,server,driftfile,keys
其中server是设定上级时间服务器用的,而restrict是设定哪台服务器可以和ntp server进行时间同步,具有什么样的权限。driftfile是用来指定记录时间差异的文件,keys是用来指定认证key文件的(这里不用)。

先来看restrict的格式为:
restrict [客户端IP] mask [netmask_IP] [parameter]

客户端IP,就是都是哪几台服务器要和这台ntp server进行同步的ip地址
最后的parameter可以有如下几个参数:
ignore:拒绝连接到ntp server
nomodiy:可以连接到ntp server,但是不能对ntp server进行时间上的修改
noquery:不提供对ntp server查询时间,也就是拒绝和ntp server进行时间同步
notrap:不提供 trap 远程登录功能(这个我不是很明白)
notrust:对没有认证的客户端不提供服务

如果在配置的时候parameter没有填写,则默认表示允许进行同步。

现在比如想让自己网内的服务器同步,拒绝网外的,那么ntp.conf这部分可以写成:

  1. #权限设置
  2. restrict default nomodify notrap noquery               #默认拒绝所有来源的任何访问
  3. restrict 127.0.0.1   mask 255.0.0.0                      #开放本机的任何访问
  4. restrict 192.168.0.0 mask 255.255.255.0 nomodify  #开放本网段的可查询访问
  5. restrict 192.168.0.11 mask 255.255.255.0 nomodify #限制单个IP,限制了局域网内192.168.0.11这台服务器可以执行除修改外的访问

好了,restrict就算完成了,接下来看server命令部分。
server命令的格式是:
server [IP or hostname] [prefer]
其中[IP or hostname]为上级时间服务器的IP或者域名,主机名:
可以是192.43.244.18形式,或者time.nist.gov再或者ntpserver这样的形式。
后面的[prefer]参数是可选的,加上prefer后,ntp server和上级时间服务器同步时会优先先访问加了prefer这行的进行同步。

ok,现在设置上级时间服务器在ntp.conf这部分可以写成:

  1. #上级时间服务器设置
  2. server time.nist.gov prefer  #优先使用time.nist.gov和上级时间服务器同步
  3.  
  4. #原本内定的一个内部时间数据,不需要更动他
  5. server  127.127.1.0     # local clock
  6. fudge   127.127.1.0 stratum 10

ok,接下来,来看driftfile命令,driftfile格式为:
driftfile [ntpd driftfile]
其中[ntpd driftfile]参数为记录日志文件的位置,关于这个文件,有以下几点需要注意:
a.driftfile要使用完整路径,即从/根目录开始的路径
b.给出的必须是一个实体文件,不能是软链接,硬链接等这样的文件
c.ntpd要对其有可读可写的权限
d.该档案所记录的数值单位为:百万分之一秒 (ppm)

关于这个命令的作用,有如下解释:
因为预设的 NTP Server 本身的时间计算是依据 BIOS 的芯片震荡周期频率来计算的,但是这个数值与上层 Time Server 不见得会一致啊!所以 NTP 这个 daemon (ntpd) 会自动的去计算我们自己主机的频率与上层 Time server 的频率,并且将两个频率的误差记录下来,记录下来的档案就是在 driftfile 后面接的完整档名当中了!
driftfile 后面接的档案会被 ntpd 自动更新,所以他的权限一定要能够让 ntpd 写入才行。在 CentOS 4.x 预设的 NTP 服务器中,使用的 ntpd 的 owner 是 ntp ,这部份可以查阅 /etc/sysconfig/ntpd 就可以知道啦!
PS,解释这段完全照抄的。。。

那么在ntp.conf中,driftfile这部分写成:

  1. driftfile /var/lib/ntp/drift
  2. broadcastdelay  0.008

最后,关于keys,先来解释下:
除了以 restrict 来限制客户端的联机之外,我们也可以透过金钥系统来给客户端认证, 如此一来可以让主机端更放心了。不过在这个章节里面我们暂不讨论这个部分, 有兴趣的朋友可以参考 ntp-keygen 这个指令的相关说明喔!
PS,解释这段完全照抄的。。。

keys这段在ntp.confi中设定格式为:
keys [key_file]
后面的key_file就是key文件的位置了。。。这里咱们不用。。。
默认的写成:

  1. keys /etc/ntp/keys

执行:
#mkdir /etc/ntp
#touch /etc/ntp/keys

综合以上4块儿,最后的ntp.conf文件就是这样子的。。。

  1. restrict default nomodify notrap noquery
  2. restrict 127.0.0.1   mask 255.0.0.0
  3. restrict 192.168.0.0 mask 255.255.255.0 nomodify
  4.  
  5. server time.nist.gov prefer
  6. server 127.127.1.0
  7. fudge 127.127.1.0 stratum 10
  8.  
  9. driftfile /var/lib/ntp/drift
  10. broadcastdelay  0.008
  11.  
  12. keys /etc/ntp/keys

ok,保存吧。。。

ntp用的是udp的123端口,接下来,开启防火墙规则允许ntp对外服务器。

接下来,来开启ntp服务运行试试看。。。执行:
#/usr/local/ntp/bin/ntpd

来看看服务了没?执行:
#netstat -tlunp
如果显示出类似于下面的dd,说明成功了哈。
Proto Recv-Q Send-Q Local Address Foreign Address PID/Program name
udp 0 0 192.168.0.254:123 0.0.0.0:* 15118/ntpd
udp 0 0 127.0.0.0:123 0.0.0.0:* 15118/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 15118/ntpd
udp 0 0 :::123 :::* 15118/ntpd

参考文档说可以用ntpstat查看ntp当前运行的状态。
但是我在/usr/local/ntp/bin 目录下并没有发现有这个文件。。。
执行后效果是这样的。。。
#ntpstat
synchronised to NTP server (220.130.158.71) at stratum 3
time correct to within 495 ms
polling server every 64 s
# 这个指令可以列出我们的 NTP 服务器有跟上层联机否。由上述的输出结果可以知道,
# 时间有校正约 495 * 10^(-6) 秒,且每格 64 秒会主动去更新时间喔!

也罢,先跳过这个。。。接着下面。。。
ntptrace,这个命令则可以列出目前我们的NTP服务器与上层NTP服务器彼此之间的关系。
#/usr/local/ntp/bin/ntptrace -n 127.0.0.1

我晕,报出了下面的错误。。。
Can’t exec “ntpq”: No such file or directory at /usr/local/ntp/bin/ntptrace line 29.
failed to start command ntpq -n -c rv 127.0.0.1: No such file or directory at /usr/local/ntp/bin/ntptrace line 29.

#whereis ntpq
ntpq:
汗,找不到。。。再:
#ls /usr/local/ntp/bin/
确实有ntpq这个文件。。。
感觉应该是找不到ntpq这个dd,看来要给ntpq指定目录,或者在/usr/local/bin 目录下建立ntp的软链接。。。

#ln -s /usr/local/ntp/bin/ntpq /usr/local/bin/ntpq
然后再执行:
#/usr/local/ntp/bin/ntptrace -n 127.0.0.1
127.0.0.1: stratum 11, offset 0.000000, synch distance 0.010981
这下正常显示了。。。呵呵。。。

接下来。。。使用ntpq命令:
#/usr/local/ntp/bin/ntpq -p
显示如下:
remote refid st t when poll reach delay offset jitter
========================================================
time.nist.gov .ACTS. 1 u 1606 1024 22 357.845 334.375 71.122
*LOCAL(0) .LOCL. 10 l 11 64 377 0.000 0.000 0.001

这个 ntpq -p 可以列出目前我们的 NTP 与相关的上层 NTP 的状态,上头的几个字段的意义为:
remote:亦即是 NTP 主机的 IP 或主机名称啰~注意最左边的符号, 如果有『+』代表目前正在作用当中的上层 NTP ,如果是『*』代表也有连上线,不过是作为次要联机的 NTP 主机。
refid:参考的上一层 NTP 主机的地址
st:就是 stratum 阶层啰!
when:几秒钟前曾经做过时间同步化更新的动作;
poll:下一次更新在几秒钟之后;
reach:已经向上层 NTP 服务器要求更新的次数
delay:网络传输过程当中延迟的时间,单位为 10^(-6) 秒
offset:时间补偿的结果,单位与 10^(-6) 秒
jitter:Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒。
事实上这个输出的结果告诉我们,时间真的很准了啦!因为差异都在 0.0001 秒以内, 可以符合我们的一般使用了。另外,你也可以检查一下你的 BIOS 时间与 Linux 系统时间的差异, 就是 /var/lib/ntp/drift 这个档案的内容,就能了解到咱们的 Linux 系统时间与 BIOS 硬件时钟到底差多久?单位为 10^(-6) 秒啦!
PS:上面这段也是纯抄的~~~

好了,再来执行:
#cat /var/lib/ntp/drift
0.000
这么说这个文件也能被写入。。。没啥问题。。。

接下来,就是客户端和服务器端进行同步了哈。。。
同样的,客户端也需要编译安装ntp,这个和开始一样。。。

安装后,如下执行:
#/usr/local/ntp/bin/ntpdate 192.168.0.133
其中的192.168.0.133就是你ntp server的ip哈。。。

我倒~~~
又报错儿了~~~
30 Jul 16:43:07 ntpdate[31077]: no server suitable for synchronization found
把错误放在网上查,一般的都是说ntp server在启动后的5-15分钟内不提供服务,所以才会给出这样的提示。。。
可是我这么一边配置一边写。。。也过了15分钟了啊。。。既然是不提供服务,那么有没有可能是防火墙呢?
上了服务端一看防火墙配置。。。我汗。。。应该是123:udp我写成udp:123了。。。修改,重启防火墙和服务。。。
再次进行测试。。。
#/usr/local/ntp/bin/ntpdate 192.168.0.133
显示:
30 Jul 16:56:38 ntpdate[32752]: adjust time server 192.168.0.198 offset 0.000332 sec

哈哈。。。成功了。。。
设定为自动调整,你还可以把上面的命令加入到crontab中。。。
比如:/usr/local/ntp/bin/ntpdate 192.168.0.198 ; /sbin/hwclock -w
ntpdate和hwclock配合使用。。。
先进行同步,然后在把时间写入BIOS,这样即使重启服务器也不会时间失效。。。

在服务端再把
/usr/local/ntp/bin/ntpd &
加入到/etc/rc.local中。。。呵呵。。。

hoho~~~搞定,收工!!!



七月 23, 2007

Linux下监测网卡流量的两款软件

文章类别: 程序 技术 — SuperTaoer @ 5:38 pm

Linux下检测网卡流量的两款软件,
其一是:nload
另外一个就是:iftop

这两个软件的安装方法都很简单,从以上网址下载下来后,
安装nload:

  1. ./configure --prefix=/usr/local/nload && make && make install

安装iftop:

  1. ./configure --prefix=/usr/local/iftop && make && make install

这样就好了,然后你就可以执行如下命令来监测网卡流量了:
nload是:

  1. #/usr/local/nload/bin/nload

iftop是:

  1. #/usr/local/iftop/sbin/iftop

一般的服务器都会有内网和外网两块网卡,nload默认的是eth0网卡,如果你想监测eth1网卡的流量:
那么

  1. #/usr/local/nload/bin/nload eth1

这样即可。
nload默认分为上下两块:上半部分是:Incoming也就是进入网卡的流量,下半部分是:Outgoing,也就是从这块网卡出去的流量,每部分都有当前流量(Curr),平均流量(Avg),最小流量(Min),最大流量(Max),总和流量(Ttl)这几个部分,看起来还是蛮直观的。
另外,你也可以自己定义流量数值显示的单位 #/usr/local/nload/bin/nload –help
就可以看到具体的相关参数了。

下面再来说下iftop
iftop默认也是监测eth0网卡的流量,如果你想要监测eth1这块网卡,则需要加-i+eth1来指定网卡,也就是这样:

  1. #/usr/local/iftop/sbin/iftop -i eth1

iftop显示的也很直观,样子和操作有些像top命令。
在iftop的图表中最后有三列流量的数值显示,
其中第一列的意思是:在之前两秒钟的平均流量
第二列的意思是:在之前10秒钟一共的流量
最后一列的意思是:在之前的40秒钟五分之一的流量数值
大约是这个意思,具体的限于本人英文不好,下面贴出man page的英文:
Display:
When running, iftop uses the whole screen to display network usage. At the top of the display is a logarithmic scale for the bar graph which gives a visual indication of traffic.

The main part of the display lists, for each pair of hosts, the rate at which data has been sent and received over the preceding 2, 10 and 40 second intervals. The direction of data flow is indicated by arrows, <= and =>. For instance,

  1. foo.example.com  =>  bar.example.com      1Kb  500b   100b
  2.                  <=                       2Mb   2Mb   2Mb

shows, on the first line, traffic from foo.example.com to bar.example.com; in the preceding 2 seconds, this averaged 1Kbit/s, around half that amount over the preceding 10s, and a fifth of that over the whole of the last 40s. During each of those intervals, the data sent in the other direction was about 2Mbit/s. On the actual display, part of each line is inverted to give a visual indication of the 10s average of traffic. You might expect to see something like this where host foo is making repeated HTTP requests to bar, which is sending data back which saturates a 2Mbit/s link.
By default, the pairs of hosts responsible for the most traffic (10 second average) are displayed at the top of the list.

At the bottom of the display, various totals are shown, including peak traffic over the last 40s, total traffic transferred (after filtering), and total transfer rates averaged over 2s, 10s and 40s.

hoho~~~哪位英文好的高人帮忙翻译下?先谢了 :)

要监测网卡流量,基本以上的dd就够用了吧?

另外还可以参考以下几个地方使用:
Linux看网卡流量的命令
这里面介绍了几个iftop命令的参数示例,也挺有用的。。。
iftop的man page

七月 22, 2007

linux 用tar命令打包一个时间点之后的文件

文章类别: 程序 技术 — SuperTaoer @ 3:51 am

比如你想用tar命令打包/tmp目录下2007年3月20日之后的文件
则命令为:

  1. tar --after-date="2007-03-20 23:59:59" -zcvf tmp_after20070320.tar.gz /tmp/*

这个对于增量备份似乎有些用处,不过从程序的角度来说,还是将上传的附件之类的dd按照应用和年/月/日来划分比较恰当,容易管理些。

七月 18, 2007

洋为中用+变废为宝=崇洋媚外???

文章类别: 我,就TMD一俗人!!! — SuperTaoer @ 3:09 am

洋为中用+变废为宝=崇洋媚外???
初看这个标题可能还不明白怎么回事。。。且听我一一道来。。。

PS:这篇文章纯属牢骚满腹无处发泄加上有些看不惯现在的崇洋媚外这么严重写的,照我这么写,没有几个人能不在此列,包括我自己。
所以,您看的时候,有气儿的喝口凉水,想出气儿的买个沙袋,要么自家的墙和枕头也能凑合出出气儿。。。

那好,就开始了。。。
现如今的中国大小城市。。。。新一代的年轻人。。。
怎么说呢?
吃,要吃西餐,哪怕吃再难吃再便宜的西餐也能说今儿个我西餐了;
穿,要穿洋装,哪怕三个月工资不吃不喝也要买个LV的包,这个现象在大中发达城市tmd尤其的严重,我以前的一个同事就是这个操行的。
吃穿都用洋玩意儿都解决好了
正所谓饱暖思淫欲嘛,嘿嘿。。。
这不,男的打算泡个外国妞儿,女的想傍个外国男人,得,还真是能搞外国人,就不考虑中国人了。。。
你也不想想,你丫是不是中国人,操!!!

有一点咱们要肯定,以上所说的男士在泡外国妞儿这点上做的还是对滴,要给予绝对的肯定!
但是想傍外国男人的女士们,这里就要对你们进行严厉的批评了。。。
本来洋为中用的意思吧,就是说要男人们搞尽外国女人,并且坚决不进行避孕!让他们丫全都生中国种!以实现中国统一地球儿的伟大壮举,这个是需要N长N长时间的过程,需要N代N代的人们共同的努力才能完成!!!
这个才是咱们应该做的,这可好,你们丫的到反过来给外国人生种儿了,你说说你们丫的对得起咱们祖国么!

所以洋为中用狭隘的解释就是:搞外国妞儿,生中国种儿,实现中国统一大业。
但绝对不是,傍外国男人,给外国人传香火,这个就是大逆不道!!!

说完了洋为中用,再来说说变废为宝,
那些成天张口这国外名牌,那国外名牌的人们啊。。。tmd快JB觉醒吧!!!
变废为宝是让咱们把中国的废品变成宝贝卖到外国去,不是把外国的废品,废物当宝贝似的买回来啊!!!
你们完全搞反了!!!
这么着怎么提高咱们中国商品流通啊。。。操。。。就知道这个外国的好,那个外国的好。。。
有的人说了,中国产品的质量实在是不敢恭维啊。。。
不行怎么了?不行就用中国的怎么了?多给国货一些机会你们是不是就是觉得别扭啊???!!!
国外的质量不行,你们能容忍,那对本国的怎么就不能容忍呢,说白了,就是一个子,贱!!!

本来发明了两个词,洋为中用,变废为宝,挺好的,让咱们自强不息,
可现在倒好,这两个词儿加一块儿,成tmd崇洋媚外了。。。操。。。

以为整天说个hello and bye人家就以为你说英语好呢?
买个衣服吧,全tmd英文,穿在身上辈儿高兴,问问丫的英文啥意思啊?我也不知道。。。你说说你穿什么劲啊!!!

更有甚者,颠覆中国的文化和文明,那个前些日子吧,不是出了个“李淫河”么,坚决认为“换偶”不应该治罪,还鼓吹“换偶无罪,操X万岁!!!”。
明目张胆的告诉如何钻法律的空子来进行“合法”的换偶。
丫也是50多岁的人了,怎么思想就那么的“开放”呢?怎么就tmd那么老不正经呢???!!!
你妈生你出来让你祸害社会来了啊?怎么就tmd这么没家教呢?
中国就是中国,偏搞些这些能够增加传染性病的烂逼洋玩意儿来这里蛊惑人心,怎么着,丫还想开个“换偶俱乐部”不行?难怪丫这么积极呢,原来是个套儿。。。啊你可别上当。。。
“李淫河”,你丫够淫,这个名儿,也就你配得上!!!

总的来说呢。我个人向以龙的传人为自豪,以中国为骄傲的兄弟们致敬,我佩服你们,欣赏你们。
至于那些崇洋媚外的么,
哪儿凉快哪儿待着去!!!




本站使用 WordPress架设