首先安装CentOS,安装时记住要安装开发工具,因为要编译内核;安装时不要建立交换区,切记!!

安装完成后,运行setup,在system service中将不需要用的程序全部停止,基本上只需要保留ssh,iptables,network,snmpd,syslog几个,设置完后重新启动服务器。
将kernel文件解压到/usr/src中,然后运行 make menuconfig,配置内核编译参数,基本上不用改什么参数,注意要选择多CPU,选择netfilter中的参数,指定你需要编译的模块,然后执行 make编译内核,make modules_install 安装内核模块,make install 安装内核
编辑/etc/grub.conf
将服务器调整使用2.6.28.9内核启动
QUOTE:
#boot=/dev/sda1
default=0        #改为0                                      
timeout=1
#splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.28.9)
       root (hd0,2)
   kernel /boot/vmlinuz-2.6.28.9 ro root=LABEL=/
       initrd /boot/initrd-2.6.28.9.img
title CentOS-4 i386 (2.6.9-34.ELsmp)
       root (hd0,0)
       kernel /boot/vmlinuz-2.6.9-34.ELsmp ro root=LABEL=/
       initrd /boot/initrd-2.6.9-34.ELsmp.img
title CentOS-4 i386-up (2.6.9-34.EL)
       root (hd0,0)
       kernel /boot/vmlinuz-2.6.9-34.EL ro root=LABEL=/
       initrd /boot/initrd-2.6.9-34.EL.img
===========================================================================================================================
修root密码:
passwd root
===========================================================================================================================
 
编辑/etc/modprobe.conf
确认PCI-E网卡的模块正常,CentOS 4.6有时候将PCI-E的网卡当pci网卡认,PCI-E的网卡驱动是e1000e
编辑/etc/sysctl.conf,查找行“net.ipv4.ip_forward = 0”,然后将这行按下面的内容进行更改,
开启Linux路由功能原文件中没有的内容请自己添加
QUOTE:
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
net.ipv4.netfilter.ip_conntrack_max = 1048576
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300
 
====================================================================================================================================
CentOS配置snmp
切换到系统管理员帐户
安装snmp
查看SNMP是否安装
rpm -qa | grep snmp
确认snmp代理已安装
rpm -q net-snmp 
如果未安装,安装snmp
yum install net-snmp
设置开机自动运行snmp
/sbin/chkconfig snmpd on
 
配置snmp 
编辑/etc/snmp/snmpd.conf
更改团体名
查找如下行
# sec.name source community
com2sec notConfigUser default public 
将团体名public改为其它任意字段,例:
com2sec notConfigUser default monit
给予可读权限
查找如下行
# group context sec.model sec.level prefix read write notif
access notConfigGroup “” any noauth exact systemview none none 
将read权限systemview改为all,例:
access notConfigGroup “” any noauth exact all none none 
查找如下行
## incl/excl subtree mask
#view all included .1 80 
去掉#view all前面的#,例:
view all included .1 80
启动snmp
/etc/init.d/snmpd start 
如果已启动则重启snmp服务
/etc/init.d/snmpd restart
测试snmp
查看端口是否打开
netstat -ln | grep 161 
错误排除
防火墙禁止访问
如果本地测试snmp有数据,远程测试snmp无数据则由于服务器防火墙禁止了外部访问服务器udp 161端口,则:
修改 /etc/sysconfig/iptables (或者:/etc/sysconfig/iptables-config ) ,增加如下规则:
-A RH-Firewall-1-INPUT -p udp -m state –state NEW -m udp –dport 161 -j ACCEPT
 
重启iptables 
/etc/init.d/iptables restart 
====================================================================================================================================
 
 
SSH配置:
 
1、防火墙增加新端口997:
A RH-Firewall-1-INPUT -p tcp -m tcp --dport 997 -j ACCEPT
A RH-Firewall-1-INPUT -p tcp -m tcp --dport 161 -j ACCEPT                   ============================》SNMP端口
重启防火墙,使配置生效:
service iptables restart
2、备份ssh端口配置文件
cp /etc/ssh/ssh_config   /etc/ssh/ssh_configbak
cp /etc/ssh/sshd_config  /etc/ssh/sshd_configbak
修改ssh端口为:2222
vi /etc/ssh/sshd_config
在端口#Port 22下面增加Port 2222
vi /etc/ssh/ssh_config
在端口#Port 22下面增加Port 2222
重启:/etc/init.d/sshd restart
          service sshd restart
 
====================================================================================================================================
 
 
 
配置启动脚本,加入IP地址,并加入nat.sh启动脚本。
编辑/etc/rc.local如下:
QUOTE:
#!/bin/sh
touch /var/lock/subsys/local
sh /etc/rc.local/nat
iptables -F
ip addr add 192.168.1.10/24 dev eth0
ip addr add 192.168.1.11/24 dev eth0
ip addr add 192.168.1.12/24 dev eth0
 
====================================================================================================================================
nat.sh脚本:
 
echo 1048576 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 268435456 >/proc/sys/kernel/shmall
echo 268435456 >/proc/sys/kernel/shmmax
echo "1024 65000" > /proc/sys/net/ipv4/ip_local_port_range
echo "1000" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
modprobe ipip
modprobe ip_gre
ip tunnel add netHY mode ipip remote 192.168.2.1 local 192.168.1.10 ttl 255
ip link set netHY up
ip addr add 10.10.10.1/30 dev netHY
 
 
iptables -A INPUT -s 202.200.200.1 -p udp --dport 161 -j ACCEPT
iptables -A INPUT -s 202.200.200.2 -p udp --dport 161 -j ACCEPT
iptables -A INPUT -p udp --dport 161 -j DROP
 
 
 
iptables -A FORWARD -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -p udp -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp -m state --state INVALID -j DROP
iptables -A FORWARD -p udp -m state --state INVALID -j DROP
iptables -A FORWARD -p udp --dport 33434 -j DROP
iptables -A FORWARD -p icmp --icmp-type 11 -j DROP
 
 
iptables -t mangle -A POSTROUTING -p tcp --syn -j TCPMSS --set-mss 1420
iptables -t nat -A POSTROUTING  -o eth0 -j SNAT --to "192.168.1.10-192.168.1.12"
 
ip route add 192.168.50.0/24 nexthop via 10.10.10.2
 
echo 1048576 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 268435456 >/proc/sys/kernel/shmall
echo 268435456 >/proc/sys/kernel/shmmax
echo "1024 65000" > /proc/sys/net/ipv4/ip_local_port_range
echo "1000" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
 
 
 
 
====================================================================================================================================