2012
11
28
14:11

freebsd进入图形界面后,键盘和鼠标不能用的解决办法

首先在命令行界面,使用如下命令 打开配置文件

ee /etc/rc.conf

查看文件中是否有如下信息

moused_enable=”YES”

moused_nodefault_enable=”YES”

dbus_enable=”YES”

hald_enable=”YES”

 

你的rc.conf文件里是否有这些内容,如果没有,添加上,如果有,看是否一样,

注意:后面的值,一定要大写 如“YES”不能写“yes”

2012
11
28
14:09

FreeBSD 8.1桌面安装Gnome2.3, 并使用ibus中文输入法

光盘安装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

2012
11
28
14:05

freebsd用ports及pkg_add在FreeBSD安装软件

①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 软件包名直接安装。

2012
11
26
09:47

查看debian版本

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

2012
11
24
15:04

使用FreeBSD组建控制流量的网关

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服务器就已经完全设置完毕。

2012
11
24
10:43

CentOS安装系统后的基本调优

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

2012
11
19
11:06

CentOS / Redhat Iptables Firewall Configuration Tutorial

#!/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

2012
11
19
11:05

pptpd安装脚本

脚本网上找的,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

2012
11
17
15:30

eAccelerator 配置参数详解

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”