linux路由配置
RoadCloud
|
1#
RoadCloud 发表于 2007-05-20 00:35
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 |