首先在命令行界面,使用如下命令 打开配置文件
ee /etc/rc.conf
查看文件中是否有如下信息
moused_enable=”YES”
moused_nodefault_enable=”YES”
dbus_enable=”YES”
hald_enable=”YES”
你的rc.conf文件里是否有这些内容,如果没有,添加上,如果有,看是否一样,
注意:后面的值,一定要大写 如“YES”不能写“yes”
首先在命令行界面,使用如下命令 打开配置文件
ee /etc/rc.conf
查看文件中是否有如下信息
moused_enable=”YES”
moused_nodefault_enable=”YES”
dbus_enable=”YES”
hald_enable=”YES”
你的rc.conf文件里是否有这些内容,如果没有,添加上,如果有,看是否一样,
注意:后面的值,一定要大写 如“YES”不能写“yes”
光盘安装FreeBSD 8.1, Xorg, 和Gnome 2.3:
FreeBSD 8.1 DVD, 安装.
distribution选的all.
pakages选的Xorg meta port, 和 Gnome 2 meta port
50分钟左右安装完成
———————————————-
设置网卡
1. ifconfig 找到网卡
2. 在/etc/rc.conf里面加
ifconfig_re0=”inet 本机地址 netmask 掩码地址” #用你的网卡代替re0
defaultrouter=” 网关地址”
3. 在/etc/resolv.conf里面加
nameserver DNS的地址
重启动, 网络ok
—————————————————
设置Xorg和Gnome
1./etc/rc.conf里面加
hald_enable=”YES”
dbus_enable=”YES”
这样X11可以找到键盘鼠标
2. 运行
Xorg -configure
$home里面生成一个xorg.conf.new文件
3.测试Xorg -config xorg.conf.new -retro
会看到一个黑白格的桌面和中央一个X
用Ctrl-Alt- F1调出tty0, 按Ctrl-C退出X测试
4. 编辑xorg.conf.new文件, 在”Section Screen”区里, 加上DefaultDepth 24; 在SubSection Display区里, 加上Modes 屏幕宽x屏幕高. 像下面这样:
Section “Screen”
Identifier “Screen0”
Device “Card0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Viewport 0 0
Depth 24
Modes “1024×768”
EndSubSection
EndSection
5. copy编辑好的conf文件到指定位置:
cp xorg.conf.new /etc/X11/xorg.conf
X11 设置完成, 下面是Gnome设置
6. 如果之前没有使用其他的display manager, 这一步很简单:
在~/.xinitrc文件里加入:
/usr/local/bin/gnome-session
startx
gnome桌面就启动了
————————————————
安装文泉驿中文字体:
# whereis wqy
wqy: /usr/ports/x11-fonts/wqy
# cd /usr/ports/x11-fonts/wqy
# make install clean
15分钟左右ok
让X系统启动时载入字体。
编辑/etc/X11/xorg.conf
在Section “Files”里面加一行,FontPath “/usr/local/lib/X11/fonts/wqy”像下面这样
Section “Files”
ModulePath “/usr/local/lib/xorg/modules”
FontPath “/usr/local/lib/X11/fonts/misc/”
FontPath “/usr/local/lib/X11/fonts/TTF/”
FontPath “/usr/local/lib/X11/fonts/OTF”
FontPath “/usr/local/lib/X11/fonts/Type1/”
FontPath “/usr/local/lib/X11/fonts/100dpi/”
FontPath “/usr/local/lib/X11/fonts/75dpi/”
FontPath “/usr/local/lib/X11/fonts/wqy”
EndSection
————————————————————–
安装ibus输入法
方法一:
pkg_add -r zh-ibus-pinyin
自动安装ibus和拼音输入法
方法二:
1 # pkg_add -r ibus 安装ibus
2 如下安装拼音输入法
# whereis ibus-pinyin
# ibus-pinyin: /usr/ports/chinese/ibus-pinyin
# cd /usr/ports/chinese/ibus-pinyin
# make install clean
需时约30分钟
设置启用ibus:
1.设置locale为UTF-8字符集
如果用csh或者tcsh, .cshrc 中增加
setenv LANG zh_CN.UTF-8
#桌面界面语言为中文 [如果remark掉,则桌面菜单等仍为英文]
setenv LC_CTYPE zh_CN.UTF-8
#locale的character type为UTF-8中文. [如果remark掉,将无法调出中文输入法]
setenv LC_ALL zh_CN.UTF-8
#暂不清楚,推测是locale各项设置改为中文 [remark掉无影响]
如果用sh, .shrc中增加 [如果用bash, .bashrc中增加]
export LANG=zh_CN.UTF-8
#桌面界面语言为中文 [如果remark掉,则桌面菜单等仍为英文]
export LC_ALL=zh_CN.UTF-8
#locale的character type为UTF-8中文. [如果remark掉,将无法调出中文输入法]
export LC_ALL=zh_CN.UTF-8
#暂不清楚,推测是locale各项设置改为中文 [remark掉无影响]
2.让ibus daemon随X一起启动
.xinitrc中增加
XIM=ibus
GTK_IM_MODULE=ibus
QT_IM_MODULE=xim
XMODIFIERS=’@im=ibus’
XIM_PROGRAM=”ibus-daemon”
XIM_ARGS=”–daemonize –xim”
[参考一里有下面的说明, 这部分干啥用的?没照做也ok了]
.profile中添加
export LC_ALL=zh_CN.UTF-8
重启, startx, 在panel右击ibus图标->preferences->input method->select an input method->Chinese->pinyin, 点击Add, 点close.
ibus设置ok了.
参考一: http://alexshots.blog.163.com/blog/static/112112020108284599116/ [freebsd 8.1 如何安装中文拼音输入法ibus-pinyin]
参考二: ibus安装后的提示信息[after pkd_add -r ibus]:
ibus installation finished. To use ibus, please do the following:
If you are using bash, please add following lines to your $HOME/.bashrc:
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM=”ibus-daemon”
export XIM_ARGS=”–daemonize –xim”
If you are using tcsh, please add following lines to your $HOME/.cshrc:
setenv XIM ibus
setenv GTK_IM_MODULE ibus
setenv QT_IM_MODULE xim
setenv XMODIFIERS @im=ibus
setenv XIM_PROGRAM ibus-daemon
setenv XIM_ARGS “–daemonize –xim”
If you are using KDE4, you may create a shell script in $HOME/.kde4/env,
and add following lines:
#!/bin/sh
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM=”ibus-daemon”
export XIM_ARGS=”–daemonize –xim”
Following input methods/engines are available in ports:
chinese/ibus-chewing Chewing engine for IBus
chinese/ibus-pinyin The PinYin input method
japanese/ibus-anthy Anthy engine for IBus
japanese/ibus-skk SKK engine for IBus
textproc/ibus-kmfl KMFL IMEngine for IBus framework
textproc/ibus-m17n The m17n IMEngine for IBus framework
textproc/ibus-table Table based IM framework for IBus
and QT4 input method module, textproc/ibus-qt.
If ibus cannot start or the panel does not appear, please ensure
that you are using up-to-date python.
There’s a bug in python 2.5, which may prevent the panel from appearing.
————————————
声卡驱动安装
1.先安装meta驱动试验:
# kldload snd_driver
检查是否有声音
# cat anyfile > /dev/dsp 有声音
然后查看驱动加载情况:
#cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA Realtek ALC889 PCM #0 Analog> (play/rec) default
pcm1: <HDA Realtek ALC889 PCM #1 Analog> (play/rec)
pcm2: <HDA Realtek ALC889 PCM #2 Digital> (play)
pcm3: <HDA Realtek ALC889 PCM #3 Digital> (play)
pcm4: <HDA ATI RS690/780 HDMI PCM #0 HDMI> (play)
一般会显示出driver名字, 例如snd_ich. 但这里没有,好在根据HDA猜到了时snd_hda, 并且在FreeBSD说明里找到了snd_hda支持此Realtek ALC889
2. 修改 /boot/loader.conf
snd_hda_load=”YES”
重启动无声, 然后
#cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA ATI RS690/780 HDMI PCM #0 HDMI> (play) default
pcm1: <HDA Realtek ALC889 PCM #0 Analog> (play/rec)
pcm2: <HDA Realtek ALC889 PCM #1 Analog> (play/rec)
pcm3: <HDA Realtek ALC889 PCM #2 Digital> (play)
pcm4: <HDA Realtek ALC889 PCM #3 Digital> (play)
发现此时的pcm0跟Generic driver时不同了,变成了HDMI输出,由于音箱不在HDMI上,因此判断应该将default输出指定到现在的pcm1上
# sysctl hw.snd.default_unit=1
hw.snd.default_unit: 0 -> 1
检查是否有声音
# cat anyfile > /dev/dsp 有声音
3. 将此设置放到 /etc/sysctl.conf
hw.snd.default_unit=1
重启动ok
①ports的目录在/usr/ports。
②POSTS安装软件有时可能这个包已经安装过了,会有提示,无法继续安装,能够用提示中的参数
#make install clean FORCE_PKG_REGISTER=yes
这样就能够继续安装了,yes不区分大小写。
③PORTS安装软件时有时能够下载回来的包的md5值不匹配,能够加参数强制安装。
#make install clean NO_CHECKSUM=yes
④如何查找安装一个ports软件
假如知道文件的详细名字,能够直接用whereis
#whereis php5
假如不知道细致文件名,能够用:
#cd /usr/ports
#make search name=php
假如只知晓描述性主要字,能够用:
#cd /usr/ports/
#make search key=php
⑤如何查找已完装软件包的信息
#pkg_info
用管道命令过滤定位
#pkg_info grep php
⑥如何删除一个软件包
#pkg_delete 软件包细致名,细致名称能够用pkg_info grep 管道命令查出。
加上-f 参数,能够删除一人别的软件对其有依靠联系的软件包
#pkg_delete -f 软件包细致名
⑦PORTS安装软件后,如何修改配置
有些POST包安装时会有蓝色配置挑选页,通常选过一次后就不会再显示了
#make rmconfig 删除配置,须要有root权限
#make reconfig 重新配置,须要有root权限
⑧重新安装已安装ports软件包
#make reinstall
⑨删险已安装ports软件包
#make deinstall
#make clean
⑩如果系统默认的下载地址失效了,你可尝试手动下载tbz软件包,然后用pkg_add 软件包名直接安装。
root@shaobo:~# cat /etc/issue
Debian GNU/Linux 6.0 \n \l
root@shaobo:~# cat /proc/version
Linux version 2.6.32-5-amd64 (Debian 2.6.32-35) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue Jun 14 09:42:28 UTC 2011
root@shaobo:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.2 (squeeze)
Release: 6.0.2
Codename: squeeze
FreeBSD在网络服务器的领域里占有一席之地,不管是在高端应用,还是小型企业里,使用FreeBSD做服务器都是不错的选择。
首先我们来安装Gateway,Gateway要使用的Internet的IP为x.x.x.x网卡为vr1,内部 IP为 192.168.1.1网卡为vr0,由于Gateway起到网关的作用,所以为了安全性,在该服务器上做安全是非常重要的,FreeBSD有自带了一个 ipfirewall防火墙,既然有,我们当然要利用上了,首先编译内核:
cd /usr/src/sys/i386/conf
cp GENERIC ./kernel_IPFW
用编辑器打开kernel_IPFW这个文本文件,在该文件里加入以下内容:
options QUOTA #添加磁盘限额
options IPDIVERT #启用由ipfw divert使用的转向IP套接字。
options IPSTEALTH #隐藏防火墙
#以缺省的、拒绝所有数据包方式启动IPFW
options IPFIREWALL
options IPFIREWALL_VERBOSE #向系统的注册程序发送注册信息包。
options IPFIREWALL_VERBOSE_LIMIT=100 #限制一台机器注册的次数。
# 接受过滤器中的静态连接
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP
options DUMMYNET #启用流量功能
把以上参数加入以后保存kernel_IPFW文件。
# cd /usr/src
# make buildkernel KERNCONF=kernel_IPFW
….
# make installkernel KERNCONF=kernel_IPFW
# reboot
这种编译方法将保留原来的kernel为kernel.old,这样如果你做错了什么,就有机会通过boot:出现时输入kernel.old来恢复。
以上完成以后,你就可以重新启动系统使用新的内核了。
使用新内核以后,如果该系统本来是连在网络上的,那么这时他的网络部分已经完全丧失,这表示系统新的内核已经起作用了,防火墙也起作用了,但由于 FreeBSD的防火墙默认情况下是不允许任何机器访问,所以该机器的任何网络功能都暂时丧失。不过不要着急,接着往下看,你就会觉得非常有意思了。
既然该服务器担当是的网关,那么让网关启动起来是必须的。我们现在再:
cd /etc
用编译器编辑rc.conf
加入如下参数:
gateway_enable=”YES” //启动网关
##########IP-firewall#################
firewall_enable=”YES” //激活firewall防火墙
firewall_script=”/etc/ipfw.conf” //firewall防火墙的规则脚本
firewall_type=”open”
firewall_quiet=”NO” //起用脚本时,是否显示规则信息。
firewall_logging_enable=”YES” //启用firewall的log记录。
##########NATD#######################
natd_interface=”vr1″ //NATD服务启用在哪块网卡。
natd_enable=”YES” //激活NATD服务
natd_flags=”-config /etc/natd.conf” //NATD服务参数设置文件。
firewall_type说明::
open-不限制IP访问;
closed-禁止除通过lo0进行的之外的所有IP服务;
client-对工作站的基本保护;
simple-对LAN的基本保护;
如果给的是一个指定的文件名,则必须使用全路径名firewall_script=”/etc/ipfw.conf”。
设置完成后我们再编译/etc/syslog.conf文件。
加入以下行:
!ipfw
*.* /var/log/ipfw.log
好了rc.conf文件设置完毕,然后就是其他文件了。
上面我们设置了firewall_type=”open”
这个是让防火墙完全开放,现在我们来具体设置防火墙的规则:
# ee /etc/ipfw.conf
填写下面内容:
#!/bin/sh
cmd=”ipfw -q add”
iif=”vr0″
lif=”vr1″
ipfw -q -f flush
ipfw pipe 100 config mask dst-ip 0x000000ff bw 8Kbit/s delay 0ms
ipfw pipe 101 config mask src-ip 0x000000ff bw 8Kbit/s delay 0ms
ipfw pipe 200 config mask dst-ip 0x000000ff bw 256Kbit/s delay 0ms
ipfw pipe 201 config mask src-ip 0x000000ff bw 256Kbit/s delay 0ms
ipfw pipe 300 config mask dst-ip 0x000000ff bw 2Mbit/s delay 0ms
ipfw pipe 301 config mask src-ip 0x000000ff bw 2Mbit/s delay 0ms
ipfw pipe 400 config mask dst-ip 0x000000ff bw 100Mbit/s delay 0ms
ipfw pipe 401 config mask src-ip 0x000000ff bw 100Mbit/s delay 0ms
$cmd pipe 400 all from any to me in
$cmd pipe 401 all from me to any out
$cmd pipe 400 all from any to 192.168.1.80 in
$cmd pipe 401 all from 192.168.1.80 to any out
$cmd pipe 100 all from any to 192.168.1.88 in
$cmd pipe 101 all from 192.168.1.88 to any out
$cmd pipe 300 all from any to 192.168.1.147 in
$cmd pipe 301 all from 192.168.1.147 to any out
$cmd pipe 200 all from any to 192.168.1.0/23 in
$cmd pipe 201 all from 192.168.1.0/23 to any out
$cmd allow all from any to any
好了,重新启动一下系统让防火墙生效,到此整个Gateway服务器就已经完全设置完毕。
CentOS安装系统后的基本调优
一.清理开机自动启动的服务
显示出所有服务的所有运行级别的启动状态
#chkconfig –list
停止所有在运行级别3上开机启动的服务
#for oldboy in `chkconfig –list|grep 3:on|awk ‘{print $1}’`;do chkconfig –level 3 $oldboy off;done
在开启常用的服务,crond,network,syslog,sshd
#for oldboy in crond network syslog sshd;do chkconfig –level 3 $oldboy on;done
显示出所有3运行级别下的所有服务(根据需求决定哪个服务启动)
#chkconfig –list |grep 3:on
二.配置SSH安全
备份配置文件(更改配置文件前需要进行备份)
#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
修改sshd配置文件(提高系统安全性)
#vi /etc/ssh/sshd_config
Port 2022 #修改ssh的默认端口,默认为22端口
PermitRootLogin no #不允许ROOT用户登录
PermitEmptyPasswords no #不允许空密码登录
UseDns no #不适用DNS
三.修改LINUX字符集
在使用英文安装操作系统后,如果系统中有中文,这时候会显示乱码,需要修改字符集
英文字符集:en_US.UTF-8
中文字符集:zh_CN.GB18030
#vim /etc/sysconfig/i18n
LANG=”en_US.UTF-8″
SYSFONT=”latarcyrheb-sun16″
让修改内容立刻有效
#source /etc/sysconfig/i18n
四.修改时区并使用ntp服务更新服务器时间
安装ntp
#yum install ntp
更新时间
#ntpdate time.windows.com
每5分钟执行一次更新
#echo ‘*/5 * * * * ntpdate time.windows.com > /dev/null 2>&1 >>/var/spool/cron/root’
查看计划任务
#crontab –l
时区是以文件形式存在的,当前的时区文件是在/etc/localtime,我们用东八区,北京,上海的时区文件替换即可:
#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
五.加大服务器文件描述符
显示当前的文件描述符数
#ulimit –n
1024
修改文件描述符数
#vim /etc/security/limits.conf
* – nofile 65536 #在文本的最后一行添加
重新登录用户,在次查看文件描述符
#ulimit –n
65536
六.调整内核参数
增加以下项
#vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
使修改立即生效#sysctl –p
解决问题的方法:
安装:
yum -y install gcc automake autoconf libtool make
安装g++:
yum -y install gcc gcc-c++
#!/bin/bash
# A sample firewall shell script
IPT=”/sbin/iptables”
SPAMLIST=”blockedip”
SPAMDROPMSG=”BLOCKED IP DROP”
SYSCTL=”/sbin/sysctl”
BLOCKEDIPS=”/root/scripts/blocked.ips.txt”
# Stop certain attacks
echo “Setting sysctl IPv4 settings…”
$SYSCTL net.ipv4.ip_forward=0
$SYSCTL net.ipv4.conf.all.send_redirects=0
$SYSCTL net.ipv4.conf.default.send_redirects=0
$SYSCTL net.ipv4.conf.all.accept_source_route=0
$SYSCTL net.ipv4.conf.all.accept_redirects=0
$SYSCTL net.ipv4.conf.all.secure_redirects=0
$SYSCTL net.ipv4.conf.all.log_martians=1
$SYSCTL net.ipv4.conf.default.accept_source_route=0
$SYSCTL net.ipv4.conf.default.accept_redirects=0
$SYSCTL net.ipv4.conf.default.secure_redirects=0
$SYSCTL net.ipv4.icmp_echo_ignore_broadcasts=1
#$SYSCTL net.ipv4.icmp_ignore_bogus_error_messages=1
$SYSCTL net.ipv4.tcp_syncookies=1
$SYSCTL net.ipv4.conf.all.rp_filter=1
$SYSCTL net.ipv4.conf.default.rp_filter=1
$SYSCTL kernel.exec-shield=1
$SYSCTL kernel.randomize_va_space=1
echo “Starting IPv4 Firewall…”
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
# load modules
modprobe ip_conntrack
[ -f “$BLOCKEDIPS” ] && BADIPS=$(egrep -v -E “^#|^$” “${BLOCKEDIPS}”)
# interface connected to the Internet
PUB_IF=”eth0″
#Unlimited traffic for loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# DROP all incomming traffic
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
if [ -f “${BLOCKEDIPS}” ];
then
# create a new iptables list
$IPT -N $SPAMLIST
for ipblock in $BADIPS
do
$IPT -A $SPAMLIST -s $ipblock -j LOG –log-prefix “$SPAMDROPMSG ”
$IPT -A $SPAMLIST -s $ipblock -j DROP
done
$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST
fi
# Block sync
$IPT -A INPUT -i ${PUB_IF} -p tcp ! –syn -m state –state NEW -m limit –limit 5/m –limit-burst 7 -j LOG –log-level 4 –log-prefix “Drop Sync”
$IPT -A INPUT -i ${PUB_IF} -p tcp ! –syn -m state –state NEW -j DROP
# Block Fragments
$IPT -A INPUT -i ${PUB_IF} -f -m limit –limit 5/m –limit-burst 7 -j LOG –log-level 4 –log-prefix “Fragments Packets”
$IPT -A INPUT -i ${PUB_IF} -f -j DROP
# Block bad stuff
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL ALL -j DROP
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -m limit –limit 5/m –limit-burst 7 -j LOG –log-level 4 –log-prefix “NULL Packets”
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -j DROP # NULL packets
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-level 4 –log-prefix “XMAS Packets”
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP #XMAS
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-level 4 –log-prefix “Fin Packets Scan”
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -j DROP # FIN packet scans
$IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
# Allow full outgoing connection but no incomming stuff
$IPT -A INPUT -i ${PUB_IF} -m state –state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -o ${PUB_IF} -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
# Allow ssh
$IPT -A INPUT -i ${PUB_IF} -p tcp –destination-port 22 -j ACCEPT
# Allow http / https (open port 80 / 443)
$IPT -A INPUT -i ${PUB_IF} -p tcp –destination-port 80 -j ACCEPT
#$IPT -A INPUT -o ${PUB_IF} -p tcp –destination-port 443 -j ACCEPT
# allow incomming ICMP ping pong stuff
$IPT -A INPUT -i ${PUB_IF} -p icmp –icmp-type 8 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
#$IPT -A OUTPUT -o ${PUB_IF} -p icmp –icmp-type 0 -m state –state ESTABLISHED,RELATED -j ACCEPT
# Allow port 53 tcp/udp (DNS Server)
$IPT -A INPUT -i ${PUB_IF} -p udp –dport 53 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
#$IPT -A OUTPUT -o ${PUB_IF} -p udp –sport 53 -m state –state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i ${PUB_IF} -p tcp –destination-port 53 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
#$IPT -A OUTPUT -o ${PUB_IF} -p tcp –sport 53 -m state –state ESTABLISHED,RELATED -j ACCEPT
# Open port 110 (pop3) / 143
$IPT -A INPUT -i ${PUB_IF} -p tcp –destination-port 110 -j ACCEPT
$IPT -A INPUT -i ${PUB_IF} -p tcp –destination-port 143 -j ACCEPT
##### Add your rules below ######
#
#
##### END your rules ############
# Do not log smb/windows sharing packets – too much logging
$IPT -A INPUT -p tcp -i ${PUB_IF} –dport 137:139 -j REJECT
$IPT -A INPUT -p udp -i ${PUB_IF} –dport 137:139 -j REJECT
# log everything else and drop
$IPT -A INPUT -j LOG
$IPT -A FORWARD -j LOG
$IPT -A INPUT -j DROP
exit 0
脚本网上找的,32位系统适用,内容如下
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: pptpd instll
# PowerBY: fireye
# website: http//www.hichou.com www.qinday.com
# Description: pptpd install for centos vps
### END INIT INFO
#
yum remove -y pptpd ppp
iptables –flush POSTROUTING –table nat
iptables –flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp
wget http://packages.sw.be/dkms/dkms-2.1.1.2-1.el5.rf.noarch.rpm
wget “http://nchc.dl.sourceforge.net/project/poptop/mppe%20module%20builder/kernel_ppp_mppe-1.0.2%20dkms-2.0.6/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm”
wget http://www.diahosting.com/dload/pptpd-1.3.4-1.rhel5.1.i386.rpm
wget ftp://ftp.ntua.gr/pub/net/poptop/OldFiles/pptpd-1.1.3-1.i386.rpm
wget http://mirrors.163.com/centos/5.6/os/i386/CentOS/ppp-2.4.4-2.el5.i386.rpm
yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers
rpm -ivh dkms-2.1.1.2-1.el5.rf.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -qa kernel_ppp_mppe
rpm -Uvh ppp-2.4.4-2.el5.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
mknod /dev/ppp c 108 0
echo 1 > /proc/sys/net/ipv4/ip_forward
echo “mknod /dev/ppp c 108 0″ >> /etc/rc.local
echo “echo 1 > /proc/sys/net/ipv4/ip_forward” >> /etc/rc.local
echo “localip 172.16.36.1″ >> /etc/pptpd.conf
echo “remoteip 172.16.36.2-254″ >> /etc/pptpd.conf
echo “ms-dns 8.8.8.8″ >> /etc/ppp/options.pptpd
echo “ms-dns 8.8.4.4″ >> /etc/ppp/options.pptpd
pass=`openssl rand 6 -base64`
if [ “$1” != “” ]
then pass=$1
fi
echo “vpn pptpd ${pass} *” >> /etc/ppp/chap-secrets
iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT –to-source `ifconfig | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d: -f2 | awk ‘NR==1 { print $1}’`
iptables -A FORWARD -p tcp –syn -s 172.16.36.0/24 -j TCPMSS –set-mss 1356
iptables -A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 1723 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 47 -j ACCEPT
service iptables save
chkconfig iptables on
chkconfig pptpd on
service iptables start
service pptpd restart
echo “VPN service is installed, your VPN username is vpn, VPN password is ${pass}”
VPN service is installed, your VPN username is vpn, VPN password is OBoyvanl
eaccelerator.shm_size=”32″
eAccelerator 可以使用的共享内存的数量 (以兆为单位) . “0” 是指操作系统的默认值. 默认值是 “0”.可根据服务器的实际情况来调整,16,32,64,128都是可以的。
eaccelerator.cache_dir=””/tmp/eaccelerator”
这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 “/tmp/eaccelerator”.
eaccelerator.enable=”1″
开启或关闭 eAccelerator。”1″ 为开启,”0″ 为关闭。默认值为 “1”。
eaccelerator.optimizer=”1″
启或关闭内部优化器,可以提升代码执行速度。”1″ 为开启,”0″ 为关闭。默认值为 “1”。
eaccelerator.check_mtime=”1″
打开或者关闭 PHP 的文件修改检查. “1” 是指打开, “0” 是指关闭. 如果您在修改以后重新编译 PHP 的文件,那么您应当设置为 “1”. 默认值是 “1”.
eaccelerator.debug=”0″
开启或关闭调试日志记录。”1″ 为开启,”0″ 为关闭。默认值为 “0”。会将缓存命中得记录写入日志。
eaccelerator.filter=””
判断哪些 PHP 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 “*.php *.phtml”等)
如果参数以 “!” 开头,则匹配这些参数的文件被忽略缓存。默认值为 “”,即,所有 PHP 文件都将被缓存。
eaccelerator.shm_max=”0″
当使用 ” eaccelerator_put() ” 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10K, 1M)。”0″ 为不限制。默认值为 “0”。
eaccelerator.shm_ttl=”0″
当 eAccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 “shm_ttl” 秒内没有存取的脚本缓存。默认值为 “0”,即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_prune_period=”0″
当 eAccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于”shm_prune_period” 秒的缓存脚本。默认值为 “0”,即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_only=”0″
允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 “0”,即:使用磁盘和共享内存进行缓存。
eaccelerator.compress=”1″
允许或禁止压缩内容缓存。默认值为 “1”,即:允许压缩。
eaccelerator.compress_level=”9″
指定内容缓存的压缩等级。默认值为 “9”,为最高等级。
eaccelerator.keys = “disk_only”
eaccelerator.session = “disk_only”
eaccelerator.content = “disk_only”
设置内容缓存的存放的地方,可以设置为:
shm_and_disk 在共享缓存和硬盘(默认值)
shm 默认存在共享内存,如果共享内存已满或大小超过 “eaccelerator.shm_max” 的值,就存到硬盘
shm_only 只存放在共享内存
disk_only 只存放在硬盘
none 不缓存数据
eaccelerator.allowed_admin_path = “/var/www/html/21andy.com/eaccelerator”
这是控制面板的地址
安装包里有个control.php,你把它复制到网站的任意目录,可以用它查看和管理,这个必须指定,否则查看缓存内容的时候会出错
最后,来看一下我的 eAccelerator 设置
; eaccelerator
[eaccelerator]
zend_extension=”/usr/local/lib/php/20050922/eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”3600″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.keys = “disk_only”
eaccelerator.sessions = “disk_only”
eaccelerator.content = “disk_only”