linux路由配置

linux路由配置

RedHat Linux 9 配置路由[经典+珍藏]希望能给大家一个捷径...

RedHat Linux 9 配置路由,透明代理,防火墙,SAMBA,apache+php+mysql,CS 1.5 服务器,硬盘性能优化!

某****以前用WIN2003为***提供NAT共享上网,安装了瑞星防火墙,用得系统自带的IIS6支持ASP.NET.

*****光纤接入,固定IP.服务器配置P4 2.4,512M DDR,845G主板,IDE 120G硬盘,D-Link 530Tx 双网卡,LINUX9自带驱动,所以,安装完后直接用就行啦~:} eth0 接外网,IP:192.168.1.10 掩码:255.255.255.0 网关:192.168.1.1 eth1接内网,IP:192.168.2.1 掩码:255.255.255.0 ;DNS:202.102.128.68; 202.102.152.3; 218.56.57.58(DNS)机器名 netserver.对LINUX进行配置时用的鄙人的机器,使用的是LINUX的SSH服务,鄙人的机器IP:192.168.2.3,因为是WIN2K的系统,所以用的是两个文件名为psftp.exe和putty.exe.服务器对外只提供WEB服务和CS 服务,所以,开放的端口只有WWW端口和CS的27015,27016,27017<27015为1.5 PUB Server,27016为1.6 Race server,27017为1.5 Race Server(因为时间关系,1.6的F暂时还没做:{)>

linux系统默认语言使用ENGLISH<USA>,在选择文件包的时候,先把所有的包都不选,然后只选择WEB服务器,以及PHP,MYSQL相关的选项选上,还有 SAMBA,SSH.这样,总共需要的空间在 480M左右吧~在安装的过程中配置好IP,掩码,网关,DNS.安装完后,SSH就可以用啦!

首先配置共享上网和防火墙!<以下内容为转帖,并经过简单修改>

本例 iptables 先拒绝所有封包,在开放需要放行的封包,如此安全性较高.

vi /bin/firewall.iptables # 在 /bin 目录下建立一新文档,文件名为 firewall.iptables

内容如下:
#!/bin/bash
# Load module 载入相关模块
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc


# start firewall service with deny all IPTABLES初始设定,拒绝所有封包.
iptables -F
iptables -F -t nat
iptables -X
iptables -X -t nat
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#把eth1设为信任设备
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

# ICMP Control 外部电脑PING不到此主机,但此主机可以PING外部电脑
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP

# outgoing 放行此主机出去的WAN封包
iptables -A INPUT -i eth0 -p TCP --sport www -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --dport www -j ACCEPT
iptables -A INPUT -i eth0 -p UDP --sport www -j ACCEPT
iptables -A OUTPUT -o eth0 -p UDP --dport www -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 27015 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --dport 27015 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 27016 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --dport 27016 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 27017 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --dport 27017 -j ACCEPT

# incoming 放行从WAN进来的封包
iptables -A INPUT -i eth0 -p TCP --dport www -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --sport www -j ACCEPT
iptables -A INPUT -i eth0 -p UDP --dport www -j ACCEPT
iptables -A OUTPUT -o eth0 -p UDP --sport www -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 27015 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --sport 27015 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 27016 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --sport 27016 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 27017 -j ACCEPT
iptables -A OUTPUT -o eth0 -p TCP --sport 27017 -j ACCEPT

# SET NAT camouflage IP with more to one NAT封包伪装
echo "1" > /proc/sys/net/ipv4/ip_forward
#iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.2.0/24 --dport 80 -j DNAT --to 192.168.2.1:3128
#iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.2.0/24 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

至此firewall.iptables内容结束.

设定firewall.iptables为可执行文件
chmod 700 /bin/firewall.iptables

开机自动运行 firewall.iptables
vi /etc/rc.d/rc.local
在最后面加入firewall.iptables

其他:port number 请自行自参考 /etc/services 內容
cat /etc/services | less #查看/etc/services內容,按page down到下一页
#按<q>离开
#运行firewall.iptabls
firewall.iptables
#在/etc/sysconfig/下面生成防火墙规则文件
cd /etc/sysconfig
iptables-save > iptables
至此,共享上网,防火墙配置完成!


squid代理设置
以下是我的/etc/squid/squid.conf内容

http_port 3128
cache_mem 64 MB
cache_swap_low 75
cache_swap_high 85
maximum_object_size 4096 KB
maximum_object_size_in_memory 8 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
cache_dir ufs /var/spool/squid 1000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
pid_filename /var/run/squid.pid
client_netmask 255.255.255.0
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.0/255.0.0.0
http_access deny all
acl our_networks src 192.168.2.0/24
http_access allow localhost
cache_mgr awp46@126.com
cache_effective_user squid
cache_effective_group squid
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
visible_hostname netserver
httpd_accel_host virtual
httpd_accel_port 80


samba设置
以下是我的/etc/samba/smb.conf内容

workgroup = workgroup
server string = Workgroup
hosts allow = 192.168.2.3
guest account = root
log file = /var/log/samba/%m.log
security = share
client code page= 936
encrypt passwords = yes
smb passwd file = /etc/passwd
[admin]
path = /
valid users = root
public = yes
writeable = yes
directory mode = 0777

备注: 因为SAMBA只是我自己使用,所以,共享了根目录,并且是完全权限!平时我的SAMBA服务是关的,只有用到的时候才开.

WEB设置
因为安装的时候都选定了PHP,MYSQL以及相关的,所以这一项配置的时候特别省事:},以下是我/etc/httpd/conf/httpd.conf里修改过的地方,其他地方没变

ServerAdmin awp46@126.com
ServerName 192.168.1.10:80
DirectoryIndex index.php index.htm
DefaultLanguage zh-cn
AddDefaultCharset GB2312

再需要改的就是Mysql root的密码!我使用的是phpadmin改的,并且把除了root/localhost以外的用户全删除了!

系统服务:
用ntsysv命令打开服务设置,我打开的服务有httpd,iptables,mysqld,network,smb,squid,sshd,syslog.
另外也可以用servies 服务名称 stop/start 停止服务/打开服务
例:servies httpd stop

硬盘优化.优化前一定要备份好数据,出现意外,没人能救得了你!:{
显示硬盘工作参数:
hdparm -v /dev/hda
测试硬盘性能:
hdparm -Tt /dev/hda
在/etc/rc.d/rc.local里面加上下面的命令,这样在开机的时候就自动优化了.在加之前要先测试好,看怎么改着性能高即可
hdparm -c3 -d1 -k1 -m16 -a64 /dev/hda

CS 1.5 服务器架设!
所需文件hlds_l_3111_full.bin,cs_15_full.tar.gz(看网上其他文章说还要免CD KEY补丁,我没找到,就没用,但一样能进,不用免CDKEY补丁~)
用chmod 700 hlds_l_3111_full.bin 命令把hlds_l_3111_full.bin设为可执行文件,然后执行hlds_l_3111_full.bin,输入YES后就可以得到hlds_l_3111_full.tar.gz的压缩文件!解压后得到一个hlds_l的目录,然后再把cs_15_full.tar.gz解压到hlds_l的目录下面!
我的hlds_l目录/game/hlds_l
vi /bin/startcs1
cd /game/hlds_l
./hlds_run -game cstrike +ip 192.168.1.10 +port 27015 +maxplayers 22 +map de_dust2 -nomaster +sv_lan 1 +servercfgfile server1.cfg +mapcyclefiles mapcycle1.txt +motdfile motd1.txt
chmod 700 /bin/startcs1

vi /bin/startcs2
cd /game/hlds_l
./hlds_run -game cstrike +ip 192.168.1.10 +port 27016 +maxplayers 12 +map de_dust2 -nomaster +sv_lan 1 +servercfgfile server2.cfg +mapcyclefiles mapcycle2.txt +motdfile motd2.txt
chmod 700 /bin/startcs2

vi /bin/startcs3
cd /game/hlds_l
./hlds_run -game cstrike +ip 192.168.1.10 +port 27017 +maxplayers 12 +map de_dust2 -nomaster +sv_lan 1 +servercfgfile server3.cfg +mapcyclefiles mapcycle3.txt +motdfile motd3.txt
chmod 700 /bin/startcs1

这样,想开CS服务器的时候,直接输入startcs1即可!
如果CS 服务器中途当掉,就要手动输入startcs1,那样很是麻烦!用下面的方法可以解决!
vi /bin/autostartcs1
while true
do
startcs1
done

vi /bin/autostartcs2
while true
do
startcs2
done

vi /bin/autostartcs3
while true
do
startcs3
done

打开CS 服务器的时候,用autostartcs1!这样就不怕CS服务器中途当掉了!
至于CS服务器插件的安装,到www.unitedadmins.com下载FOR linux版本,解压到hlds_l/cstrike下面,例:hlds/cstrike/addons/amx
记得在每个server.cfg里面加上:
max_queries_sec "5"
max_queries_sec_global "10"
max_queries_window "30"
否则就有可能出现CS服务器隔三差五掉线的问题!
附/hlds_l/cstrike/liblist.gam内容
game "Counter-Strike"
url_info "www.counter-strike.net"
url_dl ""
version "1.5"
size "184000000"
svonly "0"
secure "0"
type "multiplayer_only"
cldll "1"
hlversion "1110"
nomodels "1"
nohimodel "1"
mpentity "info_player_start"
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
trainmap "tr_1"

/hlds_l/cstrike/addons/metamod/plugins.ini文件内容
linux addons/wwcl/dlls/pcawwclconfig_mm_i386.so
linux addons/booster/booster_mm.so
linux addons/amx/dlls/amx_mm_i386.so
linux addons/amx/dlls/fun_ms_i386.so
//linux addons/amx/dlls/war3_ms_i386.so
//linux addons/amx/dlls/udp_ms_i386.so
linux addons/amx/dlls/csstats_ms_i386.so
//linux addons/hlguard/dlls/hlguard_mm_i586.so
//linux addons/cdeath/cdmod_i586.so
//linux addons/chickenmod/dlls/chicken_mm_i386.so
//linux addons/statsme/dlls/sm_cstrike_mm_i386.so
//linux addons/clanmod/dlls/clanmod_mm_i586.so

备注:如果出现跳PING现象,改变程序HLDS的优先级就可以了!
显示进程:
ps -e
.............
3386 pts/0 00:00:00 hlds_run
........
提高进程ID为 3386 HLDS的优先级
renice +1 3386
好多,都看晕了~~
顶!!!!!!!
1.iptables不明白的,请指教哈。
iptables -X
iptables -X -t nat
带X的选项指的是什么意思?
iptables -A INPUT -i eth0 -p UDP --sport www -j ACCEPT
iptables -A OUTPUT -o eth0 -p UDP --dport www -j ACCEPT
www不是基于TCP协议的吗?为什么还要做UDP的规则呢?
2.你的硬盘优化挺好,没做过,学习。
bu  cuo   就是看不明白
顶下.强
看起来有点吃力啊。