Linux Iptables Firewall Shell Script For Standalone Server

#!/bin/bash

# A Linux Shell Script with common rules for IPTABLES Firewall.

# By default this script only open port 80, 22, 53 (input)

# All outgoing traffic is allowed (default – output)

# ————————————————————————-

# Copyright (c) 2004 nixCraft project <http://cyberciti.biz/fb/>

# This script is licensed under GNU GPL version 2.0 or above

# ————————————————————————-

# This script is part of nixCraft shell script collection (NSSC)

# Visit http://bash.cyberciti.biz/ for more information.

# ————————————————————————-

 

IPT=”/sbin/iptables”

SPAMLIST=”blockedip”

SPAMDROPMSG=”BLOCKED IP DROP”

 

echo “Starting IPv4 Wall…”

$IPT -F

$IPT -X

$IPT -t nat -F

$IPT -t nat -X

$IPT -t mangle -F

$IPT -t mangle -X

modprobe ip_conntrack

 

[ -f /root/scripts/blocked.ips.txt ] && BADIPS=$(egrep -v -E “^#|^$” /root/scripts/blocked.ips.txt)

 

PUB_IF=”eth0″

 

#unlimited

$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 /root/scripts/blocked.ips.txt ];

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 eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -o eth0 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT

 

# Allow ssh

$IPT -A INPUT -p tcp –destination-port 22 -j ACCEPT

 

# allow incomming ICMP ping pong stuff

$IPT -A INPUT -p icmp –icmp-type 8 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -p icmp –icmp-type 0 -m state –state ESTABLISHED,RELATED -j ACCEPT

 

# Allow port 53 tcp/udp (DNS Server)

$IPT -A INPUT -p udp –dport 53 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -p udp –sport 53 -m state –state ESTABLISHED,RELATED -j ACCEPT

 

$IPT -A INPUT -p tcp –destination-port 53 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPT -A OUTPUT -p tcp –sport 53 -m state –state ESTABLISHED,RELATED -j ACCEPT

 

# Open port 80

$IPT -A INPUT -p tcp –destination-port 80 -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 eth0 –dport 137:139 -j REJECT

$IPT -A INPUT -p udp -i eth0 –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

———————————————————

How do I install and use this script?

Type the following command as root server:

# mkdir /root/scripts

# cd /root/scripts

# wget http://bash.cyberciti.biz/dl/381.sh.zip

# wget http://bash.cyberciti.biz/dl/151.sh.zip

# unzip 381.sh.zip

# unzip 151.sh.zip

# mv 381.sh start.fw

# mv 151.sh stop.fw

# chmod +x *.fw

Now edit firewall as per your requirements:
# vi /root/scripts/start.fw
Install firewall:
# echo '/root/scripts/start.fw' >> /etc/rc.local

How do I start firewall from a shell prompt?

# /root/scripts/start.fw

How do I stop firewall from a shell prompt?

# /root/scripts/stop.fw

张贴在<a href="http://www.shaogroup.com/category/linux" rel="category tag">菜鸟Linux笔记</a> 标签:<a href="http://www.shaogroup.com/tag/firewall" rel="tag">Firewall</a>、<a href="http://www.shaogroup.com/tag/firewall-shell-script" rel="tag">Firewall Shell Script</a>、<a href="http://www.shaogroup.com/tag/iptables" rel="tag">iptables</a>、<a href="http://www.shaogroup.com/tag/linux" rel="tag">linux</a> 发表回复

FreeBSD桌面笔记Xfce

网络校时

#ntpdate time.windows.com

(time服务器地址time.nist.gov 、chime.utoronto.ca 、ntp.pipex.net 、time.windows.com)

 

安装、更新源代码

#csup -L 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/standard-supfile

 

安装、更新doc文档

#csup -L 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/doc-sufile

 

安装、更新Ports Collection

#portsnap fetch extract

给bsd打补丁(自动打补丁只能用于默认内核)

#freebsd-update

#freebsd-install

 

设置本地化(中文)

登录分类法(管理员级设置)

在/etc/login.conf加入:

chinese:Chinese Users Account:\

:charset=UTF-8:\

:lang=zh_CN.UTF-8:\

:tc=default:

然后执行:

#cap_mkdb /etc/login.conf

然后:

#pw 用户名 -L chinese (我习惯在安装系统的时候就建立一个用户所以这里之修改用户的登录类型就可以了。)

查看

#pw user show 用户名

XX:*:1001:1001:chinese:0:0:用户名:/home/用户名目录:/bin/sh

 

su -用户名

$ locale

LANG=zh_CN.UTF-8

LC_CTYPE=”zh_CN.UTF-8″

LC_COLLATE=”zh_CN.UTF-8″

LC_TIME=”zh_CN.UTF-8″

LC_NUMERIC=”zh_CN.UTF-8″

LC_MONETARY=”zh_CN.UTF-8″

LC_MESSAGES=”zh_CN.UTF-8″

LC_ALL=

设置成功

 

登录分类(用户级设置)

在用户根目录文件.login_conf加入:

me:\

:charset=zh_CN.UTF-8:\

:lang=zh_CN.UTF-8:\

:setenv=LC_ALL=zh_CN.UTF-8:\

:setenv=LC_COLLATE=zh_CN.UTF-8:\

:setenv=LC_CTYPE=zh_CN.UTF-8:

 

安装axel(多线程下载工具)

#cd /usr/ports/ftp/axel && make install clean

在/etc/make.conf中加入FETCH_CMD=axel -a -n 2

#echo ‘FETCH_CMD=axel -a -n 2

详细配置参见man手册

我只是在安装非常大的软件,像xorg、gnome、openoffice的时候才使用。(如果你用脚本自动安装最好还是用FreeBSD默认的fetch。)

 

加载声卡驱动(我的声卡是板载alc883)

在/boot/loader.conf 加入 snd_hda_load=”YES”

#echo ‘snd_hda_load=”YES”‘>> /boot/loader.conf

(更详细的说明参见http://cnsnap.cn.freebsd.org/doc … ok/sound-setup.html)

 

安装配置xorg

#cd /usr/ports/x11/xorg && make BATCH=YES install clean

生成xorg.conf.new配置文件并移动到/etc/X11/下

#Xorg -configure

#mv xorg.conf.new /etc/X11/xorg.conf

在/etc/rc.conf内加入hald_enable=”YES” 和 dbus_enable=”YES”

#echo ‘hald_enable=”YES”‘>> /etc/rc.conf

#echo ‘dbus_enable=”YES”‘>> /etc/rc.conf

详细说明参见HandBook 配置X11 地址:http://cnsnap.cn.freebsd.org/doc … dbook/x-config.html

 

安装文泉驿字库

#cd /usr/ports/x11-fonts/wqy &&make install clean

在/etc/X11/xorg.conf里面的Section “Files”小节加入:

FontPath “/usr/ports/lib/X11/fonts/wqy”

 

安装Linux二进制兼容模式 (安装nvidia显卡驱动所必须的)

#kldloadlinux

#cd /usr/ports/emulators/linux_base-f10 && make BATCH=YES install distclean

在/etc/rc.conf中增加 linux_enable=”YES”

#echo ‘linux_enable=”YES”‘>> /etc/rc.conf

参见http://cnsnap.cn.freebsd.org/doc … mu-lbc-install.html

 

安装nvidia显卡驱动(我的是7600gs)

#cd /usr/ports/x11/nvidia-driver && make BATCH=YES install clean

在/boot/loader.conf中加入nvidia_load=”YES”

#echo ‘nvidia_load=”YES”‘>> /boot/loader.conf

 

安装nvidia显卡驱动自动配置工具

#cd /usr/ports/x11/nvidia-xconfig/ && make install clean

执行

#rehash

#nvidia-xconfig –add-argb-glx-visuals

#nvidia-xconfig –composite

#nvidia-xconfig –depth=24

上面三行是为了compiz-fusion所设置的,如果不装compiz-fusion执行nvidia-xconfig就可以了。

(会在/etc/X11下生成新的xorg.conf文件并把旧的xorg.conf备份为org.conf.backup)

 

安装xfce4

(小巧玲珑的桌面速度快)

#cd /usr/ports/x11-wm/xfce4 && make BATCH=YES install clean (如果需要GDM就不要加BATCH=YES这句,装的时候吧GDM前面的X打上就行了。)

如果你想允许用户关闭或重启(指在xfce4下)计算机那么在/usr/local/etc/PolicyKit/PolicyKit.conf中加入:

<match action=”org.freedesktop.hal.power-management.shutdown”>

<return result=”yes”/>

</match>

 

<match action=”org.freedesktop.hal.power-management.reboot”>

<return result=”yes”/>

</match>

上面几行不加也可以反正也关不了机,只能退出Xfce4。

再普通用户下执行

% echo “/usr/local/bin/startxfce4″ >> ~/.xinitrc

以后startx就可以进桌面了。我有时候需要在非X下所以我没有装GDM。如果需要开机直接进入桌面就吧GDM装上就可以。

 

安装scim 拼音输入法

#cd /usr/ports/chinese/scim-pinyin/ && make install clean

在.xinitrc里加入(我用的是sh)

%echo ‘export XMODIFIERS=’@im=SCIM”>> ~/.xinitrc

%echo ‘scim -d’>> ~/.xinitrc

 

安装firefox

#cd /usr/ports/www/firefox/

#make BATCH=YES install clean

在/boot/loader.conf中加入sem_load=”YES”

echo ‘sem_load=”YES”‘>> /boot/loader.conf

 

安装firefox中文包

#cd /usr/ports/www/firefox-i18n/

#make install clean

 

让firefox支持flash

安装nspluginwrapper

#cd /usr/ports/www/nspluginwrapper

#make install clean

 

安装linux-f10-flashplugin10

#cd /usr/ports/www/linux-f10-flashplugin10

#make install clean

建一个符号链接

# ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \/usr/local/lib/browser_plugins/

然后在用户下执行

% nspluginwrapper -v -a -i

在/etc/fstab中加入:

linproc /usr/compat/linux/proc linprocfs rw 0 0

参见handbook:http://cnsnap.cn.freebsd.org/doc … sktop-browsers.html

如果平时不用flash还是建议不要装了。现在的这个版本占用资源还是有点高,有时候firefox会卡。

 

安装Ristretto

Xfce项目。一个轻巧的图像查看器。

#cd /usr/ports/graphics/ristretto

#make install clean

 

安装Xfburn

Xfce项目。Xfburn是一个使用cdrtools(cdrecord、cdrdao、mkisofs)来烧制CD和DVD的前端烧录程序。

#cd /usr/ports/sysutils/xfburn

#make install clean

 

安装xfce4-media

Xfce项目。Xfmedia 是一个简单易用的媒体播放器,基于 xine 引擎。GTK+ GUI 旨在播放与管理音频文件,但是,由于它是基于 xine 的,所以同样支持视频文件。

#xfce4-media: /usr/ports/multimedia/xfce4-media

#make install clean

 

安装audacious(音频播放器。如果你觉得xfce4-media不太适合你也可以装这个。)

#cd /usr/ports/multimedia/audacious

#make install clean

安装audacious-plugins(音频播放器插件。必须安装)

#cd /usr/ports/multimedia/audacious-plugins

#make install clean

 

安装mplayer

(这不用介绍了吧。全公能播放器几乎支持所有的视频格式。)

cd /usr/ports/multimedia/mplayer

make WITH_LANG=zh_CN install clean

 

安装galculator(计算器)

#cd /usr/ports/math/galculator

#make install clean

 

安装Thunderbird(邮件客户端)

#cd /usr/ports/mail/thunderbird

#make BATCH=YES install clean

 

安装Thunderbire语言包

#cd /usr/ports/mail/thunderbird-i18n

#make install clean

 

安装MLDonkey(电驴、BT)

#cd /usr/ports/net-p2p/mldonkey

#make WITHOUT_GUI=yes WITHOUT_X11=”YES” WITHOUT_TK=”YES” install clean

%ln -s ~/.mldonkey/incoming ~

在/etc/rc.conf加入mlnet_enable=”YES” 和 mlnet_user=”用户名非root“

%/usr/local/etc/rc.d/mlnet start (注意是%)

1.%telnet 127.0.0.1 4000

2.>auth admin “”

3.>passwd 键入你想设置的密码

4.>set allowed_ips “127.0.0.1 192.168.0.0/24” (根据你自己的情况设置)

5.>save

6.>exit

(mldonkey需要一个非root用户来运行。我习惯在装系统的时候就建立一个wheel组的用户,所以这里我就不用在建立用户了。)

具体情况可以参考http://forums.freebsd.org/showthread.php?t=227

现在就可以在浏览器里输入:localhost:4080来设置和下载文件了。

默认mldonkey的文件夹是隐藏的,在用户目录下。找下载好的电影有点不方便,把incoming连接到你的用户目录下就好了。当然你也可以自己修改默认下载路径。

 

mldonkey简单设置:

enable_kademlia的选项为true――打开kad减少对服务器的依赖。

max_hard_upload_rate默认是10 (全局最大上传,根据自己情况设置)

max_hard_download_rate默认是50 (全局最大下载,根据自己情况设置)

mldonkey有两组两组带宽控制模式,通过点击Bandwidth toggle来更改带宽控制模式。

 

添加服务器列表:

点击servers>Import Server.met输入http://ed2k.im/server.met(放心都是安全服务器列表)

或者下载下来手工导入:servers “/home/username/server.met”

 

添加overnet启动用户列表:

ov_load “/home/username/contact.dat”

 

添加kad节点信息

下载地址:http://emulefans.com/emule-kad-node-dat/

kad_load “/home/username/nodes.dat”

 

添加firefox for mldonkey插件:

下载地址:http://www.informatik.uni-oldenburg.de/~dyna/mldonkey/

 

OpenOffice.org

#cd /usr/ports/editors/openoffice.org-3 && make LOCALIZED_LANG=zh-CN install clean

注意:在安装的时候会提示让你手工下载几个文件放在/usr/ports/distfiles/下。

JDK US DST Timezone Update Tool这个文件需要在网站(http://java.sun.com/javase/downloads/index.jsp)注册才能下载。

关键是版本和Makefile里的对不上,我下载的时候Makefile里的是tzupdater-1_3_29-2010f.zip可是网站上给的已经是JDK DST Timezone Update Tool – 1.3.31了,没办法有点小崩溃。

freebsd.org的论坛上发现也有几个哥们儿遇到了这问题,他们给出的解决办法是取消TZUPDATE的默认选项。cd /usr/ports/java/diablo-jdk16 && make config 取消TZUPDATE前面的X。

 

安装compiz-fusion(桌面3D效果)

cd /usr/ports/x11-wm/compiz-fusion

make BATCH=YES install clean

创建个启动脚本start-compiz名并加入:

#! /bin/sh

compiz –replace –sm-disable –ignore-desktop-hints ccp &

emerald –replace &

给这个脚本执行权限

%chmod +x start-compiz

把这个脚本加入Session和启动以后进入Xfce4就自动启动compiz了。

简单设置

点开CompizConfig设置管理器>首选项>在后端选择GConf Configuration Backed (这样你以后选择的效果就可以即时生效了。)

另外在CompizConfig里吧 最小化效果、窗口装饰、震颤窗口、移动窗口、调整窗口大小、应用程序切换条都起用了,这样基本的3d桌面就好了。还有很多效果看自己喜好吧。

说明参见http://www.freebsd.org/doc/en/articles/compiz-fusion/article.html

 

-------------------------------------------------------------------------------------------------

以下是简单的自动安装脚本

#!/bin/sh

#make DEPENDS_TARGET=package package 这个命令的意思是 打包一个ports并将依赖也一起打包

#make BATCH=YES 这个命令的意思是 使用默认选项

#把用ports安装的软件都打包到下面的目录

#mkdir -p /usr/ports/packages/All/

#安装并打包

#make BATCH=YES DEPENDS_TARGET=package package install clean

 

#安装xorg

cd /usr/ports/x11/xorg &&make BATCH=YES install clean

echo ‘hald_enable=”YES”‘>> /etc/rc.conf

echo ‘dbus_enable=”YES”‘>> /etc/rc.conf

 

#安装wqy

cd /usr/ports/x11-fonts/wqy/ && make BATCH=YES install clean

 

#安装Linux二进制兼容模式

kldload linux

cd /usr/ports/emulators/linux_base-f10/ && make BATCH=YES install distclean

echo ‘linux_enable=”YES”‘>> /etc/rc.conf

 

#安装nvidia显卡驱动

cd /usr/ports/x11/nvidia-driver/ && make BATCH=YES install clean

echo ‘nvidia_load=”YES”‘>> /boot/loader.conf

 

#安装nvidia显卡自动配置工具

cd /usr/ports/x11/nvidia-xconfig/ && make install clean

 

#安装Xfce4

cd /usr/ports/x11-wm/xfce4/ && make BATCH=YES install clean

 

#安装scim

#cd /usr/ports/chinese/scim-pinyin/ && make BATCH=YES install clean

 

#安装firefox

cd /usr/ports/www/firefox/ && make BATCH=YES install clean

echo ‘sem_load=”YES”‘>> /boot/loader.conf

 

#安装firefox中文包

cd /usr/ports/www/firefox-i18n/ && make BATCH=YES install clean

张贴在<a href="http://www.shaogroup.com/category/freebsd-openbsd-unix" rel="category tag">*BSD</a> 标签:<a href="http://www.shaogroup.com/tag/freebsd" rel="tag">FreeBSD</a>、<a href="http://www.shaogroup.com/tag/xfce" rel="tag">Xfce</a> 发表回复

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

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

ee /etc/rc.conf

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

moused_enable=”YES”

moused_nodefault_enable=”YES”

dbus_enable=”YES”

hald_enable=”YES”

 

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

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

张贴在<a href="http://www.shaogroup.com/category/freebsd-openbsd-unix" rel="category tag">*BSD</a> 标签:<a href="http://www.shaogroup.com/tag/freebsd" rel="tag">FreeBSD</a>、<a href="http://www.shaogroup.com/tag/freebsd%e5%9b%be%e5%bd%a2%e7%95%8c%e9%9d%a2" rel="tag">freebsd图形界面</a> 发表回复

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

张贴在<a href="http://www.shaogroup.com/category/freebsd-openbsd-unix" rel="category tag">*BSD</a> 标签:<a href="http://www.shaogroup.com/tag/freebsd" rel="tag">FreeBSD</a>、<a href="http://www.shaogroup.com/tag/freebsd-8-1%e6%a1%8c%e9%9d%a2%e5%ae%89%e8%a3%85" rel="tag">FreeBSD 8.1桌面安装</a>、<a href="http://www.shaogroup.com/tag/gnome" rel="tag">Gnome</a>、<a href="http://www.shaogroup.com/tag/ibus" rel="tag">ibus</a>、<a href="http://www.shaogroup.com/tag/ibus%e4%b8%ad%e6%96%87%e8%be%93%e5%85%a5%e6%b3%95" rel="tag">ibus中文输入法</a> 发表回复

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

张贴在<a href="http://www.shaogroup.com/category/freebsd-openbsd-unix" rel="category tag">*BSD</a> 标签:<a href="http://www.shaogroup.com/tag/freebsd" rel="tag">FreeBSD</a>、<a href="http://www.shaogroup.com/tag/freebsd%e5%ae%89%e8%a3%85%e8%bd%af%e4%bb%b6" rel="tag">FreeBSD安装软件</a>、<a href="http://www.shaogroup.com/tag/pkg_add" rel="tag">pkg_add</a>、<a href="http://www.shaogroup.com/tag/ports" rel="tag">ports</a> 发表回复

查看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

张贴在<a href="http://www.shaogroup.com/category/linux" rel="category tag">菜鸟Linux笔记</a> 标签:<a href="http://www.shaogroup.com/tag/debian" rel="tag">debian</a>、<a href="http://www.shaogroup.com/tag/debian%e7%89%88%e6%9c%ac" rel="tag">debian版本</a> 发表回复

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

张贴在<a href="http://www.shaogroup.com/category/freebsd-openbsd-unix" rel="category tag">*BSD</a> 标签:<a href="http://www.shaogroup.com/tag/freebsd" rel="tag">FreeBSD</a>、<a href="http://www.shaogroup.com/tag/freebsd%e7%bd%91%e5%85%b3" rel="tag">FreeBSD网关</a>、<a href="http://www.shaogroup.com/tag/%e6%8e%a7%e5%88%b6%e6%b5%81%e9%87%8f" rel="tag">控制流量</a> 发表回复

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

张贴在<a href="http://www.shaogroup.com/category/linux" rel="category tag">菜鸟Linux笔记</a> 标签:<a href="http://www.shaogroup.com/tag/centos" rel="tag">CentOS</a>、<a href="http://www.shaogroup.com/tag/centos%e8%b0%83%e4%bc%98" rel="tag">CentOS调优</a> 发表回复