linux系统平台下如何架设网吧服务器

linux系统平台下如何架设网吧服务器,第1张

network就是主网络设置文件ifcfg-eth0eth0就是网卡设置文件ifcfg-eth1eth1就是网卡设置文件hosts就是网络主机名配置static-routes就是静态路由表文件rc.localIPTABLES就是脚本sysctl.confLinux就是内核IP转发启用文件上面这几个文件对应的目录是:/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1/etc/hosts/etc/sysconfig/static-routes/etc/rc.d/rc.local/etc/sysctl.conf首先我们修改一下ifcfg-eth2(以后会接网通IP:11.11.11.11)ifcfg-eth1(电信IP:22.22.22.22)和ifcfg-eth0(内网)三个文件。这是网卡的IP地址文件!ifcfg-eth0就对应大家内网的IP和网关(可以根据你的实际情况进行设置,想让那个做内网都行)而ifcfg-eth1跟ifcfg-eth2就是外网的IP和网关。这样大家在设置完了之后我们设置host文件,也就是设置好工作组,做完了后修改sysctl.conf也就是IP转发文件。在这里一定要起用IP转发才可以。里面可以这样:net.ipv4.ip_forward=1net.ipv4.conf.default.rp_filter=1kernel.sysrq=0接着就是static-routes文件。这个文件是静态路由表文件!这个文件记得一定添加才可以!然后修改resolv文件。这个文件是你DNS服务器的地址文件,下面就是双线接入的策略了。首先需要将从两个WAN口出去的数据包进行IP伪装masquerade/sbin/iptables-tnat-Apostrouting-oeth1-jmasquerade/sbin/iptables-tnat-Apostrouting-oeth2-jmasquerade接着再给系统增加一个标示为11的路由表,增加一个默认网关,这个默认网关是网通提供的网关。

客户端是支持PXE方式启动的刀片,用Linux作为服务器,服务器配置如下:

1) 安装DHCP服务器dhcpd

2) 配置/etc/dhcpd.conf文件,下面是我机器上的文件

max-lease-time -1

default-lease-time -1#注:IP地址永不过期

option subnet-mask 255.0.0.0

option routers 10.0.0.1

option domain-name-servers 10.10.10.10

# option netbios-name-servers 10.10.10.10

option broadcast-address 10.255.255.255

# option dhcp-class-identifier "XEClient"

# option vendor-encapsulated-options 01:04:00:00:00:00:ff

# option option-135 "start"

subnet 10.0.0.0 netmask 255.0.0.0 {

range 10.10.12.131 10.10.12.150

host blade01 {

hardware ethernet 00:e0:43:00:02:00

fixed-address 10.10.12.131

filename "/tftpboot/pxelinux.0"#注:启动映象文件

}

host blade02 {

hardware ethernet 00:e0:43:00:02:02

fixed-address 10.10.12.132

filename "/tftpboot/pxelinux.0"

}

host blade03 {

hardware ethernet 00:e0:43:00:02:04

fixed-address 10.10.12.133

filename "/tftpboot/pxelinux.0"

}

host blade04 {

hardware ethernet 00:e0:43:00:02:06

fixed-address 10.10.12.134

filename "/tftpboot/pxelinux.0"

}

host blade05 {

hardware ethernet 00:e0:43:00:02:08

fixed-address 10.10.12.135

filename "/tftpboot/pxelinux.0"

}

}

说明:dhcp客户得到IP地址后用TFTP协议从服务器上下载启动映象文件。我用syslinux

工具包里边的pxelinux来作为远程启动的loder.

3) 配置tftp server

使用pxelinux作引导工具需要支持TSIZE参数的tftp server。可从http://www.kernel.org/pub/software/network/tftp/下载。

通过xinetd来使用tftp服务,我的/etc/xinetd.conf文件如下

......

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

}

4) 配置PXELINUX

先安装syslinux软件包。可从http://www.kernel.org/pub/linux/utils/boot/syslinux/下载。

将pxelinux.0拷贝到/tftpboot/目录下,然后建立/tftpboot/syslinux.cfg/目录。该目录下存放配置文件。

pxelinux使用ip地址的十六进制表示来作为该ip地址的配置文件的文件名。如blade01的

ip地址为10.10.12.131,配置文件名为0A0A0C83,内容为:

default linux

label linux

kernel vmlinuz

append ip=dhcp root=/dev/nfsroot nfsroot=10.10.11.120:/remote/blade01 vga=normal

5) 配置nfs

为每个刀片建立一个根目录,在该刀片的pxelinux配置文件里指定了从这个nfs export的目录启动。

该根目录里应把标准的目录都建好,另外需要重新mount的usr, home, public等目录也要export。

我的 /etc/exports文件:

# /etc/exports: the access control list for filesystems which may be exported

# to NFS clients. See exports(5).

/remote/blade01 blade01(rw,async,no_root_squash)

/remote/blade02 blade02(rw,async,no_root_squash)

/remote/blade03 blade03(rw,async,no_root_squash)

/remote/blade04 blade04(rw,async,no_root_squash)

/remote/blade05 blade05(rw,async,no_root_squash)

/remote/root *(rw,async,no_root_squash)

/remote/home *(rw,async,no_root_squash)

/usr *(ro,async,no_root_squash)

/sbin *(ro,async,no_root_squash)

/bin *(ro,async,no_root_squash)

/lib *(ro,async,no_root_squash)

/home *(ro,async,no_root_squash)

6)为每个刀片修改它的/etc/fstab文件,以blade01为例,它的nfs root是/remote/blade01

/remote/blade01/etc/fstab文件如下:

# /etc/fstab: static file system information.

#

#

10.10.11.120:/remote/blade01 / nfs defaults,intr 0 1

10.10.11.120:/remote/root /root nfs defaults,intr 0 1

10.10.11.120:/remote/home /home nfs defaults,intr 0 1

10.10.11.120:/bin /bin nfs defaults,intr 0 1

10.10.11.120:/usr /usr nfs defaults,intr 0 1

10.10.11.120:/sbin /sbin nfs defaults,intr 0 1

10.10.11.120:/lib /lib nfs defaults,intr 0 1

none /proc proc defaults,intr 0 1

同时还要为每个刀片修改它的网络配置文件,配置ip地址,启动两块网卡等等。。

7) 编译内核

刀片用的内核,应该支持Kernel Level Auto Configuration的DHCP协议,支持NFS,支持NFS ROOT,

假设编译好的内核为vmlinuz,将它拷贝到/tftpboot/目录下。

我使用的是RED HAT LINUX 9.0 使用文本英文安装。这个就跳过去了安卓 细说了,自己装装就熟悉了。对装LINUX不熟悉的朋友可以先使用中文安装,界面是一样的,用中文安装最大的缺点就是在文本下有时候会出现乱码。

安装时,最小化安装,什么软件包都不选,防火墙选择无那个选项。安装完后,使用setup命令,选择system services,服务项里只选择network 和ssh服务,其他的都不要。然后进入网卡文件目录 cd /etc/sysconfig/network-scripts 。在文本模式下,只能添加一个网卡的IP,复制另一个网卡的参数 cp eth0 eth1 修改eth1网卡的参数。vi ./eth1 修改成你的内网IP

DEVICE=eth1

BOOTPROTO=static

BROADCAST=192.168.0.255

IPADDR=192.168.0.1

NETMASK=255.255.255.0

NETWORK=192.168.0.0

ONBOOT=yes

IP是192.168.0.1

在/etc/rc.d目录下新建一个文件rc.fw 使用命令touch /etc/rc.d/rc.fw,然后将你的脚本添加到rc.fw里 使用vi /etc/rc.d/rc.fw 我使用的下面的脚本

touch /var/lock/subsys/local

/sbin/modprobe ip_tables

/sbin/modprobe ip_nat_ftp

/sbin/modprobe ip_conntrack_ftp

/sbin/iptables -F

/sbin/iptables -F -t nat

/sbin/iptables -X

/sbin/iptables -Z

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -P FORWARD ACCEPT

/sbin/iptables -P OUTPUT ACCEPT

echo 1 >/proc/sys/net/ipv4/ip_forward

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

/sbin/iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT

ptables -t nat -A PREROUTING -p udp -d 192.168.0.1 --dport 53 -j DNAT --to 61.134.1.9:53

保存退出,编辑/etc/rc.d/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/etc/rc.d/rc.fw &

重启后,一个网关服务器就做好了。

再转个全面点的

我们在使用Internet时。特别 时Intranet接入Internet时,经常要用到的代理服务器。代理服务器以其良好的可配置性,对信息的灵活访问机制,对信息的缓存机制,加快网络访问而成为一个常用的服务器。对于我们网吧的系统管理员,应对代理服务器的安装和配置有相当的熟悉和了解。

代理服务器系统结构为Redhat Linux 9.0,使用“网关型”代理结构使网吧的Intranet接入Internet。

代理服务器系统组成规范如下:

一、熟悉作为代理服务器机器设备的硬件配置

确定机器的硬件设备与Linux兼容。可以http://www.redhat.com/support/hardware检查支持的硬件列表(该步骤可以省略)。将主板的CMOS设置中的“病毒检测”项关闭。

二、开始安装Linux(采用本地光盘安装模式)

1. 用Linux安装启动光盘引导机器启动;

2.采用文本安装模式。在boot:提示符后输入text进行文本模式安装,使用Tab,空格,箭头和回车来控制安装界面。

3.开始安装

⑴、Language Selection(语言选择);选择中文

⑵、键盘的配置;

⑶、选择本地光盘安装;

⑷、鼠标的配置;

⑸、选择Custom(定制)系统安装;

⑹、分区(以80GB硬盘,1024MB内存RAM为例);

分区类型 最小空间尺寸 规范空间尺寸

/ 512MB 1024MB

/var 1024MB 2048MB

Swap 1024MB(RAM) 2048MB(2*RAM)

/home 1024MB MAX

⑺、配置LILO;

⑻、配置网络(逐一对所有网络适配器进行设置);

eth0 ***.***.***.*** 外网IP地址

eth(1、2、3..) ***.***.***.*** 内网IP地址

⑼、设置时区;

⑽、设置超级用户(root)口令和设置用户帐号

⑾、安装软件包;取消系统默认的所有安装软件包;选择Custom(定制)安装软件包; ssh(远程访问);

⑿、开始格式化分区和安装软件包;

⒀、创建起动盘,选择不创建;

⒁、安装完成。

4.配置Linux

三、实现网关代理功能

1.编写脚本文件rc.net以实现网关代理作用。次脚本文件保存路径为/etc/rc.d/rc.net。脚本文件内容如下:

#!/bin/sh

/sbin/modprobe ip_tables

/sbin/modprobe ip_nat_ftp

/sbin/modprobe ip_conntrack_ftp

/sbin/iptables -F

/sbin/iptables -F -t nat

/sbin/iptables -X

/sbin/iptables -Z

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -P FORWARD ACCEPT

/sbin/iptables -P OUTPUT ACCEPT

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

/sbin/iptables -A FORWARD -s 0/0 -j ACCEPT

/sbin/iptables -A FORWARD -d 0/0 -j ACCEPT

echo "1" >/proc/sys/net/ipv4/ip_forward

/sbin/iptables -t nat -A PREROUTING -p tcp --dport 445 -j DROP

/sbin/iptables -t nat -A PREROUTING -p tcp --dport 135 -j DROP

/sbin/iptables -t nat -A PREROUTING -p tcp --dport 139 -j DROP

/sbin/iptables -t nat -A PREROUTING -p udp --dport 6612 -j DROP

#IGMP

iptables -A INPUT -p ICMP -d ***.***.***.*** -m limit --limit 1/s --limit-burst 10 -j ACCEPT

iptables -A INPUT -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

#NMAP FIN/URG/PSH

iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

#Xmas Tree

iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP

#Another Xmas Tree

iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

#Null Scan(possibly)

iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP

#SYN/RST

iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

#SYN/FIN -- Scan(possibly)

iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

#synfoold

iptables -N synfoold

iptables -A synfoold -p tcp --syn -m limit --limit 1/s -j RETURN

iptables -A synfoold -p tcp -j REJECT --reject-with tcp-reset

iptables -A INPUT -p tcp -m state --state NEW -j synfoold

echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

iptables -N syn-flood

iptables -A INPUT -p tcp --syn -j syn-flood

iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN

iptables -A syn-flood -j REJECT

sysctl -w net.ipv4.icmp_echo_ignore_all=1

echo "1" >/proc/sys/net/ipv4/tcp_syncookies

注意:字母区分大小写;其中***.***.***.***为外网IP地址

2.在Linux引导文件/etc/rc.d/rc.local文件中加入命令行:/etc/rc.d/rc.net,使脚本文件在系统启动时能够自动执行。

3.重新启动机器。

四、网线的连接

1.代理服务器eth0网络适配器与Internet接入设备(如光猫)用网线直接连接;注意此网线需要特殊的跳线如下:

一端:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕

一端:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕

2.代理服务器的eth1、eth2…..等网络适配器与主干交换机用网线连接

五、维护

此代理服务器为免维护服务器,为了更好的良好运转,可以每半年时间将此代理服务器重新启动一次。

1网卡多网关的

一块网卡设置多个ip地址很简单

只要把配置文件复制多个

然后修改名字为 eth1:0 eth1:1 等就行了

注意设备文件名也要做相应的修改

问题是500个ip有些多了

一个linux网关带500台的话需要很好的优化才行

另外如果用一块网卡带500台 网卡的负载也很大

建议用多块网卡

Linux学习网收集整理 ,(如果您觉得本站不错,请告诉身边的朋友,或转载到论坛、百度知道、贴吧等,记得带网址哟,不胜感激!)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8348759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存