Archive for the ‘03. 配置笔记’ Category.

几条不重启服务器重新加载配置文件的命令

在配置FreeBSD服务器中,有时改动配置文件中的一个字母就要重启服务器,实在有些麻烦,最近找到了一些不用重启服务器而使新配置文件生效的命令,只找到三条,以后不断补充吧。

1、IPFILTER
命令:/sbin/ipf -Fa -f /etc/ipf.conf          //ipf.conf为ipf的配置文件,视你的具体情况而定

2、IPNAT
命令:/sbin/ipnat -CF -f /etc/ipnat.conf      //ipnat.conf为ipnat的配置文件,视你的具体情况而定

3、Squid
命令:/usr/local/squid/sbin/squid -k reconfigure

4、重新加载rc.conf
命令:
第一种:
# cd /etc 
# sh rc
第二种:
# /etc/netstart

5、重新加载inetd(超级服务器)

# /etc/rc.d/inetd reload

6、???

不能同时编辑同一内核文件

一台老机器准备利用起来(安装freebsd操作系统),在服务器前make内核,另一台机器通过telnet到服务器,再make,原来的make就停止了。看来不能同时编译同一个内核文件。

优化后的ipfilter想卸载时还需要还原

前几天学校的网络一直时断时续,一直以为是新架设的网关服务器的问题,所以几天前对它进行过一次优化(主要是优化/etc/sysctl.conf和ip_state.h文件),但查到最后,发现原来是内网机器的病毒加上网络流量的增大(没有限制流量)所造成的,和网关服务器没关系,所以最后还是决定使用放弃ipfilter而使用squid,事情越简单越好,这话一点没错,这次用ipfilter本来是想让客户端使用方便,可没想到一些负面对服务器影响这么大(主要为病毒冲击内网网卡加上使用p2p软件进行无限制下载网络资源),今天准备从内核中将ipfilter撤走:

# cd /usr/src/sys/i386/conf
# cp funpower2 funpower3  //通过复制来新建一个新内核文件
# ee funpower3

将以下三行注释(加#号):
#options         IPFILTER
#options         IPFILTER_LOG
#options         IPFILTER_DEFAULT_BLOCK

# /usr/sbin/config funpower3
# cd ../compile/funpower3
# make cleandepend
# make depend
# make
# make install

当编译到make命令时,竟然出现了以下错误:

In file included from /usr/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/mlfk_ipl.c:26:
/usr/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_state.h:24: error: syntax error before "IPSTATE_SIZE"
*** Error code 1

Stop in /usr/src/sys/modules/ipfilter.
*** Error code 1

Stop in /usr/src/sys/modules.
*** Error code 1

Stop in /usr/src/sys/i386/compile/funpower2.

看到错误信息中有我优化时更改的ip_state.h文件,就知道一定和优化有关,马上恢复原来设置,将优化的内容:

#ifndef IPSTATE_SIZE
define IPSTATE_SIZE    64997
#endif
#ifndef IPSTATE_MAX
define IPSTATE_MAX     45497    /* Maximum number of states held */
#endif

改成(加两#号):

#ifndef IPSTATE_SIZE                                 
#define IPSTATE_SIZE    5737                         
#endif
#ifndef IPSTATE_MAX
#define IPSTATE_MAX     4013    /* Maximum number of states held */
#endif

重新进入配置文件进行配置(刚前几步完成的操作不用重复,直接make):

# cd /usr/src/sys/i386/compile/funpower2
# make //刚前几步make cleandependmake depen等完成的操作不用重复,直接make
# make install

然后编辑/etc/rc.conf,去除启动选项:

# cd /etc
# ee rc.conf
去除以下四行(加#号):
#ipfilter_enable="YES"
#ipfilter_rules="/etc/ipf.conf"
#ipnat_enable="YES"
#ipnat_rules="/etc/ipnat.conf"

重启服务器,完成去除ipfilter工作。

FreeBSD6.0Release下查看带宽使用情况的几个命令

作为一台服务器,流量的监控是对服务器及网络状况了解的基本方法。下面介绍几个常见的流量控制命令,测试操作系统为FreeBSD6.0-STABLE。

系统:FreeBSD6.0-STABLE
命令:systat -if 1
作用:查看当前网卡使用带宽
说明:地址
截图:


系统:FreeBSD6.0-STABLE
命令:systat -ip 1
作用:查看包的进出流量
说明:地址
截图:


系统:FreeBSD6.0-STABLE
命令:netstat -w 1
命令2:netstat -I xl0 -w 1  ( 针对某一网卡 )
显示:

proxy4# netstat -w 1
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
       490     0     293465        471     0     291479    20
       637     0     422915        615     0     424242    19
       516     0     292878        484     0     287469     1
       636     0     359417        623     0     366162    24
       643     0     398575        620     0     396108     6
       397     0     223827        357     0     216218     1
       652     0     387266        594     0     387248     6
      1192     0     880611       1211     0     880889    11
      1118     0     766515       1158     0     786116    41
       683     0     222295        667     0     469522    78
       367     0     168580        317     0     168386    11


最后再介绍一种方法,安装软件ifstat (软件缺点为不能对packet进行查看),简单步骤:

1、从ifstat站点下载安装程序ifstat-1.1.tar.gz

2、通过ftp拷贝到服务器目录/home/funpower

3、开始解压安装

# cd /home/funpower
# tar zxvf ifstat-1.1.tar.gz
# cd ifstat-1.1
# ./configure
# make
# make install

安装后运行文件在/usr/local/bin中,运行命令/usr/local/bin/ifstat -T即可,显示:

proxy4# /usr/local/bin/ifstat -T
       em0                 xl0                Total      
 KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
  131.43    140.67    138.74    122.00    270.17    262.67
  263.71     52.08     76.88    292.99    340.59    345.06
  105.56     66.81     77.14    107.89    182.70    174.70
  197.34     52.30     56.45    197.04    253.79    249.34
  134.58     86.54     91.04    127.76    225.63    214.30
  258.52    115.93    122.95    264.30    381.47    380.23
  263.18     97.04     99.35    262.61    362.53    359.65
  188.37     81.11     85.97    186.95    274.33    268.06
 1454.64    254.00    195.22    958.37   1649.86   1212.37
  817.75     98.48     89.88   1215.27    907.63   1313.75
  103.63     86.91     91.40    100.19    195.04    187.11
  169.13     90.91     93.90    169.82    263.03    260.73
   98.50     62.44     71.99    100.08    170.49    162.52
  229.68     40.02     46.04    234.33    275.72    274.35
  127.43     56.29     61.46    126.99    188.89    183.28
  215.35     54.20     58.64    206.41    273.99    260.61
  150.32     91.31     97.86    161.00    248.18    252.31
  348.61     95.47    105.77    393.79    454.38    489.26
  256.18    118.05    128.72    274.98    384.90    393.03

测试php方法

在apache文档目录下新建一个test.php,内容如下:

phpinfo ();
?>

然后打入http://your url/test.php,如果有相关php信息,说明php安装成功。

20051114更新:Diaoxian给我留言说少写东西了,一看,真的少了。正确的是:(谢谢Diaoxian)

<?
phpinfo();

?>

freebsd5.4安装squid时需perl

今天将三台代理服务器重新做系统,freebsd换成了5.4STABLE,可安装到squid时竟然说需要先安装perl,以前安装4.X-STABLE时从没遇到这种情况,马上搜索相关资料,发现freebsd4.x默认是安装perl的,但从5.x开始就将perl删除了,所以只能自己安装。

为了加快速度,先从http://www.cpan.org/authors/id/R/RG/RGARCIA/上下载perl-5.6.2.tar.gz,然后拷贝到/usr/ports/distfiles中,然后:

# cd /usr/ports/lang/perl5
# make install

完成安装后再进行squid的安装。

telnet时出现“telnetd: All network ports in use”

昨天安装freebsd5.4后发现登陆telnet时出现“telnetd: All network ports in use”,搜索资料,估计下来是内核的问题,于是查找内核中被注释掉(带#号的)的选项,发现

#device pty # Pseudo-ttys (telnet etc)

被注释掉了,一查资料,原来pty是“pty 是虚拟的终端机”。

所以直接将#号去掉,然后重新编译内核,重启服务器,再次用telnet连接,一切正常。

freebsd4.x 忘记root密码后的修改

当显示 boot … 9 seconds按任意健
输入:boot -s

然后进行如下操作:
# mount /
# mount /usr
# cd /usr/bin
# passwd root
输入新的root密码

几个ipnat管理查看命令

要重新加载 NAT 规则, 可以使用类似下面的命令:
# ipnat -CF -f /etc/ipnat.rules

如果想要看看您系统上 NAT 的统计信息,可以用下面的命令:
# ipnat -s

列出当前的 NAT 表的映射关系
# ipnat -l

要显示详细的信息并显示与规则处理和当前的规则/表项:
# ipnat -v

清除ipnat的设定
# ipnat -C

监测数据的流量
# ipfstat 

不重启更新rc.conf

以前就知道能不重启就更新rc.conf文件

# cd /etc
# /bin/sh rc

但好像一直没成功,今天发现了两种方法,一试,都成功了!

第一种 # cd /etc
# sh rc

第二种 # /etc/netstart