Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500300
  • 博文数量: 110
  • 博客积分: 3971
  • 博客等级: 中校
  • 技术积分: 1175
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-20 23:27
文章分类

全部博文(110)

文章存档

2015年(2)

2014年(1)

2013年(1)

2011年(9)

2010年(28)

2009年(12)

2008年(13)

2007年(23)

2006年(21)

我的朋友

分类: LINUX

2006-07-09 16:44:01

LINUX 2.6
procps-3.2.5.tar.gz
一 编译前准备
1)下载一份内核源代码,  
2) 下载最新版本的module-init-tools
modutils-2.4.21-23.src.rpm

3)安装module-init-tools.
tar -zxvf module-init-tools-3.0.tar.gz
cd module-init-tools-3.0
./configure --prefix=/sbin
make
make install
./generate-modprobe.conf /etc/modprobe.conf
4)安装modutils-2.4.21-23.src.rpm.
进入下载目录下并安装:
      #rpm -e --nodeps modutils (强行卸载原有的modutilsRPM包)
      #rpm -ivh modutils-2.4.21-23.src.rpm (把源代码包安装到了/usr/src/redhat目录下)
      #cd /usr/src/redhat/SPECS (进入规范文件目录下)
      #rpmbuild --bb modutils.spec (生成二进制的RPM包)
      #cd ../RPMS/i386 (转入刚生成的二进制的RPM包所在位置)
      #rpm -ivh modutils*.rpm (刚生成两个[modutils-2.4.21-23.i386.rpm与modutils-debuginfo-2.4.21.23.i386.rpm]二进制的RPM包,一起安装吧!)
      
5)解压缩内核源代码.把下载的源代码包放到目录/usr/src下,然后
cd /usr/src
tar xvfj linux-2.6.7.tar.bz2
cd linux-2.6.7
二 编译配置
make menuconfig

三 编译过程按如下命令编译,大概需要一个多小时,大可以好好放松一下:-)
· make
· make modules
· make modules_install
· make install
配置SQUID.CONF
--------------------------------------------------------
http_port 3128
cache_mgr
error_directory /usr/share/squid/errors/Simplify_Chinese
dns_nameservers 202.99.160.68 202.99.168.8
visible_hostname nero.3322.org
httpd_accel_uses_host_header on
httpd_accel_host virtual
httpd_accel_with_proxy on
cache_mem 20 MB
maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 30 KB
minimum_object_size_in_memory 0 KB
cache_dir ufs /tmp 100 16 256
cache_swap_low 85
cache_swap_high 90
httpd_accel_port 80
#http_access deny all
cache_store_log none
cache_access_log /dev/null
cache_log /dev/null
找到下面这行,并改成下列情况:
http_access deny all ==> http_access allow all
上面那一行改好之后,储存并离开 vi ,然后执行:
/etc/rc.d/init.d/squid start
webmin
开启包转发
编辑/etc/sysctl.conf,将net.ipv4.ip_forward=0 该为net.ipv4.ip_forward=1,保存修改。
#!/bin/sh
PATH=$PATH:/usr/sbin:/sbin
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
iptables -P FORWARD DROP
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
# Normal NAT eth0 internetip eth1 lanip
iptables -A FORWARD -s 10.17.162.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 10.17.162.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.17.162.0/24 -o eth0 -j SNAT --to 61.138.211.234
iptables -A PREROUTING -t mangle -p tcp --dport ftp -j TOS --set-tos Minimize-Delay
iptables -A PREROUTING -t mangle -p tcp --dport ftp-data -j TOS --set-tos Maximize-Throughput
iptables -A PREROUTING -t mangle -p tcp --dport www -j TOS --set-tos Minimize-Delay

SERVICES=" "
for x in ${SERVICES}
do
iptables -A INPUT -p tcp --dport ${x} -m state --state NEW -j ACCEPT
done
iptables -A FORWARD -p tcp --syn -m limit --limit 20/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 10/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 10/s -j ACCEPT
# SYN-Flooding Protection
iptables -N syn-flood
iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 10/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
# Refuse spoofed packets claiming to be the loopback
iptables -A INPUT -i eth0 -d 127.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -p icmp -j DROP
iptables -A FORWARD -s 10.17.162.0/24 -i eth0 -j DROP
iptables -A INPUT -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
gltmpfs.sh
mount tmpfs /dev/shm -t tmpfs -o size=400m
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp

前段时间配置的iptables+squid做的proxy server ,一直工作正常。今天我上控制台上发现
Jun 18 12:43:36 red-hat kernel: ip_conntrack: table full, dropping packet.
Jun 18 12:49:51 red-hat kernel: ip_conntrack: table full, dropping packet.
例如:增加到81920,可以用以下命令:
echo "81920" > /proc/sys/net/ipv4/ip_conntrack_max
那样设置是不会保存的,要重启后保存可以在/etc/sysctl.conf中加:
net.ipv4.ip_conntract_max =81920
减少虚拟终端机的数量。
系统默认是6个,也就是 CTRL+ALT F1~F6 那六个,我关掉其中四个,只留下 CTRL+ALT F1~F2,大约省下 4 Mbytes 的记忆体,但是这样一来,X-Window 会从原来的 CTRL+ALT F7 变成 CTRL+ALT F3 。
修改 /etc/inittab 中,将 mingetty 3 ~6 全部加上 # 字号,然後下指令 #init q
3键关机.

QQ      378045404 
UC      60062576
阅读(1160) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~