Archive for the '服务器维护' Category

AIX、Solaris、FreeBSD等系统的免费真实学习环境

很早就知道Unix-Center.Net(Unix体验中心)并注册了。但一直没有使用他,因为以前都是用FreeBSD,他可以安装在Intel架构的机器上,随便找一台586的低档机器就可以安装FreeBSD并开始学习他。

最近在学习IBMAIX,花了些时间把AIX的文档简单的看了一些, 和学习FreeBSD一样,接下来就是要有一台安装AIX的机器能真实的操作,安装完VMware后突然想到,AIX不像FreeBSD能支持x86或者说是Inte CPU的机器,他只支持IBM的POWER处理器,网上搜索下,得到了确认,确实不能在VMware上安装AIX。

ChinaUnix.net上看到有朋友说有人贡献提供网友远程学习的AIX机器, 找了一圈没有,然后就想到了很早就注册的Unix-Center.Net,马上进入网站,果然看到了很多“UNIX”服务器,其实就有AIX。

用以前的帐号登陆,然后试着连接AIX的服务器地址:aix.unix-center.net,再用登陆网站的用户名密码(说明:网站上注册的用户名密码可以登陆所有的unix-center服务器),连接成功。

马上试了几个前两天刚看的简单的AIX命令, 都可以使用。又连接了另外两台服务器:freebsd.unix-center.net和t1000.unix-center.net,也都成功。如图:

1、AIX

center1.gif

center2.gif

2、FreeBSD

center3.gif

3、Solars

center4.gif

AIXSolaris等系统而且自己很难架设学习环境的人来说,Unix-Center.Net挺有用。当然考虑到安全,一些命令或者在服务器的使用上肯定会有所限制。

最后引用Unix-Center.Net网站上的一段话:

中国是一个发展中国家,我们有很多教师、学生和工程人员希望能够学习Unix/Linux系统,却又苦于没有合适的环境和条件。本站存在的目的,就是给这些爱好Unix/Linux的人一个学习和练习的条件,希望您能够支持我们的行动。

^M符号的去除

 由于Windows和FreeBSD下换行符号的不同,在windows中使用文本编辑器如UltraEdit编辑后上传至FreeBSD服务器,打开后,每行的结尾会出现“^M”,如下图:

mproultraedit.gif

这里,使用UltraEdit的“转换”功能就能将文本从DOS格式转换为UNIX格式,点击菜单栏[文件] -> [转换] -> [DOS转UNIX]即可,如下图。

mproultraedit2.gif

RouterOS2.9.6安装及试用笔记

最近在用一台老机器安装RouterOS做测试,效果不错,在管理及流量控制等方面比BSD要好的多,如是你是一个中型的单位企业,使用一台普通的P4+IDE硬盘接口的PC安装一个RouterOS,应该能完全满足上网的需求了。以下为安装及配置的简要过程:

一、下载及安装RouterOS

从网络上下载后将ISO结尾的文件镜像刻盘,然后开始安装,将光盘放入,直到出现如下画面:

routeros1.gif

依次键入“a”(选择全部安装),然后键入“i”(开始安装),这时会跳出第一个对话框:是否删除硬盘里所有数据,选“y”,接着跳出第二个对话框:是否保存原有数据,选“n”,接着就开始安装了,半分钟后,出现如下画面后按回车重启机器,这样RouterOS就完成安装了。

routeros2.gif

二、 配置内网网卡ip

先配置内网网卡地址,然后使用winbox远程配置。

重启后使用默认用户名admin密码为空登陆系统,如下图:

routeros3.gif

登陆后使用setup命令配置网卡地址,将出现如下画面:

routeros4.gif

这里选择“a”选项(配置ip地址和网关),出现下一对话框后再选择“a”,然后选择网卡,默认为“ether1”,直接回车,最后输入内网网卡地址和子网掩码,如下图。

routeros5.gif

输入完ip回车后又会出现两次对话框要求输入ip和网关,直接按两次“x”键即可退出。因为RouterOS命令是直接生效的,所以下来就可以用一台windows机器加上winbox软件来远程安装配置了。

三、配置外网网卡地址

RourterOS可以使用winbox来实现远程的管理与维护,winbox登陆界面如下:

routeros7.gif

连接后winbox的主界面如下:

routeros6.gif

接下来开始配置外网网卡ip,依次点击IP -> Addresses,如下图:

routeros8.gif

在弹出的对话框中点击“+”按扭,然后在New Address对话框中输入外网IP,这里只填Address项,为58.241.2.156/29,点击“ok”,如下图。

routeros9.gif

四、配置路由与NAT

1)路由配置

依次选择IP -> Routes,点击“+”按扭,弹出New Route对话框,Destination为0.0.0.0/0,gateway为外网网关,这里为58.241.2.153,如下图。

routeros10.gif

2)配置NAT

依次选择IP -> Firewall -> NAT,在出现的对话框中选择General选项卡,Chain选项中选择srcnat,再选择Action选项卡,Action选项中选择masquerade,点击“ok”,如下图。

routeros11.gif

至此,内网用户设置6段地址后就可以上网了,接下来做一些安全及流量的配置:

五、添加防火墙规则

点击New Terminal, 打入“/ ip firewall filter”命令,然后复制防火墙文件中的规则列表,再进入New Terminal窗口,点击右键选择“Paste”,如下图。

routeros12.gif

这样,在IP -> Firewall -> Filter Rules中可以看到刚才导入的防火墙规则了,如下图。

routeros13.gif

 六、对单个IP限速

选择Queues -> Simple Queues,点击“+”按扭,选择General,Name中填入任一名称,在Dst. Address中填入想限速的IP,如192.168.6.1/32,然后将Max Limit  (tx/rx)打钩,然后在后面的框中输入“1M/512K”,这里的1M为下载速度(tx),512K为上传速度(rx) ,点击“ok”,如下图。

routeros14.gif

小结:因为RouterOS使用的是Linux的内核,所以在大网络环境或者大吞吐量时的表现应该表现不凡,这方面linux应该说比BSD要更出现。在安装、配置、管理等方面也比BSD要更简单,因为它使用了窗口式管理。如果在SCSI硬盘的支持上RouterOS能更好的话,相信它的性能会更强。

刚接触RouterOS,文中难免有错误。

funpower  2008-03-05   funpower@gmail.com

FreeBSD 6.3-RELEASE发布

FreeBSD Release开发小组正式发布了FreeBSD 6-Stable分支中最新的版本——FreeBSD 6.3-Release,在性能和可靠性上都有了一定的增强。

FreeBSD/i386 6.3-RELEASE 发行说明      FreeBSD 6.3-RELEASE 发行版勘误     下载

另外,FreeBSD 6.3-RELEASE 同时是作为对萩野純一郎博士的纪念版本发布的。萩野純一郎博士在 IPv6 协议栈以及 BSD 系统的其他方面做出了卓越的贡献。

锐捷交换机光电复用口将光口改为电口

锐捷交换机的光电复用口 的转换,前阵子是把光口改成了电口来使用(默认开启的是电口),现在这交换机上有三个口又要改成用当电口来使用,光口改电口是使用med fiber参数来调整,通过med ?参数查看除fiber以外的值,发现只有copper和fiber,很明显电口的值就是copper,如下图:

ruijiecopperfiber.gif

这样,通过使用med copper参数就可以将光口改为电口了,这里我是修改gig 0/2-4口,步骤如下:

shixunlou5750#conf
Enter configuration commands, one per line. End with CNTL/Z.
shixunlou5750(config)#int range gig 0/2-4
shixunlou5750(config-if-range)#med copper
shixunlou5750(config-if-range)#end
shixunlou5750#wr

Building configuration…

[OK]
shixunlou5750#

FreeBSD6.2+Squid2.6架设“对外网用户的squid代理+认证”服务器

架设一台代理,提供对外网用户的代理请求,端口仍然为3128,加入Squid认证功能。这样可以保证只提供给某些你信任的用户该服务。架设过程和架设对内网用户提供服务的过程基本相同,只是在编译安装squid时和squid的配置文件squid.conf有些不同。这次架设的服务器将保留对内网用户提供squid服务(内网用户不增加认证功能限制)的同时再增加对外网用户提供squid+认证功能。版本为FreeBSD6.2-RELEASE+Squid2.6-STABLE12

服务器及网络信息:

外网网卡:em0;外网ip:221.6.117.50/255.255.255.240
内网网卡:em1;内网ip:128.0.0.4/255.255.252.0

架设过程:

一、FreeBSD的安装

1、最小化安装FreeBSD6.2RELEASE

2、配置内核:

jiulongproxynew# cd /usr/src/sys/i386/conf
jiulongproxynew# cp GENERIC funpower
jiulongproxynew# ee funpower

修改内核配置文件,将不需要的选项(如网卡)之类的前面打#,然后按esc并按a保存退出,再执行:

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

3、配置/etc/rc.conf:

hostname="jiulongproxynew.jscpu.com"
defaultrouter="221.6.117.97"
ifconfig_em0="inet 221.6.117.50 netmask 255.255.255.240"
ifconfig_em1="inet 128.0.0.4 netmask 255.255.252.0"
sendmail_enable="NONE"
inetd_enable="YES"
linux_enable="YES"
sshd_enable="YES"
usbd_enable="YES"

4、配置resolv.conf:

jiulongproxynew# cd /etc
jiulongproxynew# ee resolv.conf

添加如下两行:

nameserver 221.6.96.177
nameserver 221.6.96.178

5、重启服务器

二、squid的安装

1、安装perl以支持squid

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

2、安装Apache,squid认证用户设置密码时使用apache的密码管理程序htpasswd

jiulongproxynew# cd /usr/ports/www/apache13
jiulongproxynew# make install

3、下载并安装squid

http://www.squid-cache.org/Versions/v2/2.6/下载squid-2.6.STABLE16.tar.gz并通过FTP放置服务器目录中/home/funpower,然后开始解压安装:

jiulongproxynew# cd /home/funpower
jiulongproxynew# tar zxvf squid-2.6.STABLE16.tar.gz
jiulongproxynew# cd squid-2.6.STABLE16
jiulongproxynew# ./configure –prefix=/usr/local/squid –enable-auth=”basic” –enable-basic-auth-helpers=”NCSA”
jiulongproxynew# make
jiulongproxynew# make install

3、配置squid和创建认证用户及密码

将ncsa_auth拷贝至可执行目录/usr/sbin

jiulongproxynew# cd /home/funpower/squid-2.6.STABLE16
jiulongproxynew# cd helpers/basic_auth/NCSA/
jiulongproxynew# cp ncsa_auth /usr/sbin

创建squid认证用户www

jiulongproxynew# /usr/local/bin/htpasswd -c /usr/local/squid/etc/password www
New password:
Re-type new password:
Adding password for user www

输入www两遍密码后出现上面的信息就说明用户创建成功。

4、配置squid.conf

jiulongproxynew# cd /usr/local/squid/etc
jiulongproxynew# ee squid.conf

内容如下:

auth_param basic program /usr/sbin/ncsa_auth /usr/local/squid/etc/password
auth_param basic children 5
auth_param basic realm Please enter the user name and password
auth_param basic credentialsttl 2 hours

acl web src 128.0.0.0/22 //内网ip段定义
acl all src 0.0.0.0/0.0.0.0 //外网ip段定义
acl all1 proxy_auth REQUIRED //定义all1字段为需要认证

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#deny bbs
acl bbs url_regex -i bbs
http_access deny bbs

#deny baidu post
acl baidupost dstdom_regex post.baidu.com
acl baidupost2 dstdomain post.baidu.com
http_access deny baidupost
http_access deny baidupost2

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow web //定义内网ip段为允许通过
http_access allow all all1 //定义外网ip段为允许通过,但需要认证,因为加了all1字段
icp_access allow all
http_port 3128
http_port 221.6.117.x:3128 //增加一个对本机外网地址的3128端口
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_mem 64 MB
cache_dir ufs /usr/local/squid/cache 7000 16 256
access_log /dev/null
cache_log /dev/null
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr webmaster@jscpu.com
cache_effective_user squid
cache_effective_group squid
visible_hostname jiulongproxynew.jscpu.com

4、创建用户及缓存等:

jiulongproxynew# pw groupadd squid
jiulongproxynew# pw adduser squid -g squid -s /nonexistent
jiulongproxynew# mkdir /usr/local/squid/cache
jiulongproxynew# chown -R squid /usr/local/squid/cache
jiulongproxynew# chgrp -R squid /usr/local/squid/cache
jiulongproxynew# chown -R squid /usr/local/squid/var/logs
jiulongproxynew# chgrp -R squid /usr/local/squid/var/logs
jiulongproxynew# /usr/local/squid/sbin/squid -z
jiulongproxynew# cd /usr/local/squid/sbin
jiulongproxynew# ./squid
jiulongproxynew# ee /etc/rc.local

加入如下一行:
/usr/local/squid/sbin/squid
保存退出。

5、重启服务器

三、客户端的设置及上网演示

1、内网用户

内网用户因为没有增加squid代理的认证功能,所以上网设置不变,只需在IE浏览器中设置服务器内网网卡地址128.0.0.4及3128端口即可。如下图:

freebsdsquidauth1.gif

2、外网(家庭)用户

外网用户,一般是家中,在使用该代理,需将IE上的代理服务器地址设置为该服务器的外网网卡地址221.6.117.50,端口仍为3128。如下图:

freebsdsquidauth22.gif

设置完后,在IE上打开任一网址,即会跳出一认证对话框,如下图,输入刚才创建的www用户及密码,若能访问该网站,及该服务器架设正确。

freebsdsquidauth3.gif

FreeBSD-6.2Release+Squid-2.6架设上网二级代理服务器

二级上网代理服务器,用的很少,不过有时你想控制局域网中一小部分的机器的上网,就用的上。前两天架设了一台二级代理,写个笔记。

如下图, 一级和二级代理服务器都使用FreeBSD6.2Release+Squid2.6,一级代理直接和外网线路连接,用户通过设置相应的网段IP和代理服务器(IE上设置)进行上网。一级代理服务器后面的交换上的用户直接设置21段的IP再加上在IE上设置192.168.21.254及端口3128进行上网;二级代理后面的用户就要设置11段的IP加上192.168.11.254及端口3128进行上网。

freebsdsquiddeer.gif

============================================

一、一级代理服务器的架设

说明:

操作系统:FreeBSD6.2Release

代理软件:Squid2.6STABLE16

外网卡:em0 -> 218.90.159.xxx (默认网关为上一级ISP提供)

内网卡:em1 -> 192.168.21.254

1、FreeBSD的安装及优化

(1)最小化安装FreeBSD6.2RELEASE

(2)配置rc.conf

hostname="one.www.com"
defaultrouter="218.90.159.xxx"
ifconfig_em0=”inet 218.90.159.xxx netmask 255.255.255.xxx” //外网IP
ifconfig_em1=”inet 192.168.21.254 netmask 255.255.255.0″ //内网IP
sendmail_enable=”NONE”
inetd_enable=”YES”
linux_enable=”YES”
sshd_enable=”YES”
usbd_enable=”YES”

(3)配置内核:

newproxy# cd /usr/src/sys/i386/conf
newproxy# cp GENERIC funpower
newproxy# ee funpower

修改内核配置文件,将不需要的选项(如网卡)之类的前面打#,然后按esc并按a保存退出,再执行:

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

2、squid的安装

(1)安装perl

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

(2)下载并安装squid

从http://www.squid-cache.org/Versions/v2/2.6/下载squid-2.6.STABLE16.tar.gz并通过FTP放置服务器目录中/home/funpower,然后开始解压安装:

newproxy# cd /home/funpower
newproxy# tar zxvf squid-2.6.STABLE16.tar.gz
newproxy# cd squid-2.6.STABLE16
newproxy# ./configure –prefix=/usr/local/squid
newproxy# make
newproxy# make install

(3)配置squid.conf

newproxy# cd /usr/local/squid/etc
newproxy# ee squid.conf

内容如下:

acl web src 192.168.21.0/24
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow web
http_access deny all
icp_access allow all
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_mem 64 MB
cache_dir ufs /usr/local/squid/cache 7000 16 256
access_log /dev/null
cache_log /dev/null
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr webmaster@www.com
cache_effective_user squid
cache_effective_group squid
visible_hostname one.www.com

(4)创建用户及缓存等:

newproxy# pw groupadd squid
newproxy# pw adduser squid -g squid -s /nonexistent
newproxy# mkdir /usr/local/squid/cache
newproxy# chown -R squid /usr/local/squid/cache
newproxy# chgrp -R squid /usr/local/squid/cache
newproxy# chown -R squid /usr/local/squid/var/logs
newproxy# chgrp -R squid /usr/local/squid/var/logs
newproxy# /usr/local/squid/sbin/squid -z
newproxy# cd /usr/local/squid/sbin
newproxy# ./squid
newproxy# ee /etc/rc.local

加入如下一行:

/usr/local/squid/sbin/squid

保存退出。

这样一级代理就设置完成,按照下图设置后就能联网络了。

ipproxyie.gif

============================================

二、二级代理服务器的架设

下来架设本文的着重点——二级代理,所使用的软件都一样,也是FreeBSD6.2Release+Squid2.6,而且安装FreeBSD的步骤和一级代理的也一样(只有内、外网卡的IP及网关不一样),唯独在配置Squid时配置文件有些不同,具体如下:

说明:

操作系统:FreeBSD6.2Release

代理软件:Squid2.6STABLE16

外网卡:xl0 -> 192.168.21.250 (这里的默认网关就应该是一级代理服务器的内网卡地址,为192.168.21.254)

内网卡:xl1 -> 192.168.11.254

1、安装FreeBSD

安装的具体步骤和上面一级代理的方法一样,只是在配置rc.conf时的IP不一样,如下:

hostname="two.www.com"
defaultrouter=”192.168.21.254″ //一级代理的内网卡地址
ifconfig_xl0=”inet 192.168.21.250 netmask 255.255.255.0″ //外网IP
ifconfig_xl1=”inet 192.168.11.254 netmask 255.255.255.0″ //内网IP
sendmail_enable=”NONE”
inetd_enable=”YES”
linux_enable=”YES”
sshd_enable=”YES”
usbd_enable=”YES”

2、安装Squid2.6

同样,安装方法和上面一级代理的一样,只是在配置squid的配置文件squid.conf不一样。增加了两行内容,如下:

acl web src 192.168.11.0/24
cache_peer 192.168.21.254 parent 3128 3130 proxy-only //定义父代理(也就是上一级代理)的IP及上网端口3128
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow web
never_direct allow all //所有请求转发至父代理上
http_access deny all
icp_access allow all
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_mem 64 MB
cache_dir ufs /usr/local/squid/cache 7000 16 256
access_log /dev/null
cache_log /dev/null
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr webmaster@www.com
cache_effective_user squid
cache_effective_group squid
visible_hostname two.jscpu.com

这样二级代理也架设完成,按照如下的设置二级代理服务器后的用户应该就也可以上网了。

ipproxyie2.gif

总结:架设二级代理时,个人感觉最重要的还是要搞清楚一、二级代理四块网卡的IP,至于架设方法,和一级代理没啥区别,最主要的是squid.conf中增加了二行内容 。

by funpower, 2007-10-31 23:42。

FreeBSD6.2-RELEASE+Squid-2.6.STABLE16代理架设及性能优化笔记[未完]

说明:最近发现几台squid代理在高负载下的性能不是很好,有时甚至造成网络时断时续,所以这次特意重新架设,在架设过程中注重“优化”,这里当然包括操作系统FreeBSD本身的一些优化和代理软件squid的优化。本文只是初步先将代理架设完成,还没完,我将继续对squid进行优化。另外,这次在安装squid的最新稳定版squid-2.6.STABLE16时,发现配置文件中squid.conf中acl那一段放在了最前面,作者应该是考虑到那是必配项,方面使用者配置:)。

logo-red.png

img4.gif

=======================================================

一、FreeBSD的安装及优化

1、最小化安装FreeBSD6.2RELEASE

2、配置内核:

newproxy# cd /usr/src/sys/i386/conf
newproxy# cp GENERIC funpower
newproxy# ee funpower

修改内核配置文件,将不需要的选项(如网卡)之类的前面打#,然后按esc并按a保存退出,再执行:

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

3、调整“Mbuf Clusters”

FreeBSD6.2RELEASE默认的Mbuf Clusters的默认值为25600,

bsdsquidnew1.gif

将它修改成51200,执行如下:

newproxy# cd /boot/defaults
newproxy# ee loader.conf

找到#kern.ipc.nmbclusters=”",将其改为kern.ipc.nmbclusters=”51200″,注意将前面的#要去掉,保存退出。

4、调整“临时端口”范围

squid要与另一台服务器建立连接,内核就要分配一个临时端口来建立连接,这些临时端口在FreeBSD6.2RELEASE有一个范围,默认为49152–>65535,显然,对于繁忙的服务器,性能将会受到影响。因为一些TCP连接会被它们关闭并进入TIME_WAIT状态,而且当这些连接进入TIME_WAIT状态时,如下图:

bsdsquidnew2.gif

所以对于负载大的服务器(比如每秒有上百个连接)此端口范围应该扩大,将sysctl -w net.inet.ip.portrange.first=30000命令放入/etc/rc.local,就可以将临时端口范围修改为30000–>65535。当然,如果你想调整65535这个数值,就使用net.inet.ip.portrange.last命令。这里我只调整了net.inet.ip.portrange.first的数值。

5、重启机器。

二、squid的安装

1、安装perl

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

2、下载并安装squid

http://www.squid-cache.org/Versions/v2/2.6/下载squid-2.6.STABLE16.tar.gz并通过FTP放置服务器目录中/home/funpower,然后开始解压安装:

newproxy# cd /home/funpower
newproxy# tar zxvf squid-2.6.STABLE16.tar.gz
newproxy# cd squid-2.6.STABLE16
newproxy# ./configure –prefix=/usr/local/squid
newproxy# make
newproxy# make install

3、配置squid.conf

newproxy# cd /usr/local/squid/etc
newproxy# ee squid.conf

内容如下:

acl web src 192.168.60.0/24
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow web
http_access deny all
icp_access allow all
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_mem 64 MB
cache_dir ufs /usr/local/squid/cache 7000 16 256
access_log /dev/null
cache_log /dev/null
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr webmaster@jscpu.com
cache_effective_user squid
cache_effective_group squid
visible_hostname jiulongproxynew.jscpu.com

4、创建用户及缓存等:

newproxy# pw groupadd squid
newproxy# pw adduser squid -g squid -s /nonexistent
newproxy# mkdir /usr/local/squid/cache
newproxy# chown -R squid /usr/local/squid/cache
newproxy# chgrp -R squid /usr/local/squid/cache
newproxy# chown -R squid /usr/local/squid/var/logs
newproxy# chgrp -R squid /usr/local/squid/var/logs
newproxy# /usr/local/squid/sbin/squid -z
newproxy# cd /usr/local/squid/sbin
newproxy# ./squid
newproxy# ee /etc/rc.local

加入如下一行:
/usr/local/squid/sbin/squid
保存退出。

5、优化squid

???

设置锐捷S6506交换机监控端口(一对多监控)

当一个端口需要监控二个以上端口时,就要给交换机设置一对多监控配置了。

以锐捷S6506交换机为例,端口设置为:模块1的2口为监控端口(1/2)、模块1的4口为被监控端口1(1/4)、模块1的16端口为被监控端口2(1/16),操作步骤如下:

s6506> en
Password:
s6506# conf
s6506(config)# no monitor session 1
s6506(config)# monitor session 1 destination interface gig 1/2    //监控端口
s6506(config)# monitor session 1 source interface gig 1/4    //被监控端口1
s6506(config)# monitor session 1 source interface gig 1/16   //被监控端口2
s6506(config)# exit
s6506# wr

extman登陆页面不能显示验证码图片(安装perl_GD模块)

extman的首页能进了,登陆框中的验证码图片又不能显示了,/var/log/httpd-error.log中的错误信息:

[Wed Sep 12 14:20:40 2007] [error] [client 218.104.52.212] Can’t locate GD.pm in @INC (@INC contains: /usr/local/www/extman/libs /usr/local/lib/perl5/5.8.8/BSDPAN
 /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8
/usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach
/usr/local/lib/perl5/5.8.8 .) at /usr/local/www/extman/libs/Ext/GD.pm line 14., referer: http://mail.funpower.cn/extman/cgi/index.cgi
[Wed Sep 12 14:20:40 2007] [error] [client 218.104.52.212] BEGIN failed–compilation aborted at /usr/local/www/extman/libs/Ext/GD.pm line 14., referer: http://mail.funpower.cn/extman/cgi/index.cgi

extman的bbs上也有人提出了此问题,原因是perl的GD模块没有正确安装,此GD模块不是PHPINFO中的GD模块,而是Perl上的GD模块,安装如下:

mail# cd /usr/ports/graphics/p5-GD
mail# make install
mail# reboot

重启后,再次登陆,验证图片就显示了,问题解决。