eco 发表于 2006-7-15 18:04:31

双线服务器怎么做啊? 这么长时间了也没人会?

去年就计划做一个了, 就是不会啊, 没人知道吗?


请赐教

nxpopo 发表于 2006-7-15 21:50:18

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

双线服务器,一直没有机会去做,我认为应该这样做:
既然是双线,你应该有两个路由器,一个电信一个网通之类的。这两个路由器的输出端,应该都接到一台交换机上,也就是你的核心层交换机,局域网里的机器使用一种网关切换软件,手动切换网关,并切换到相应的线路上去。
当你使用电信的路由器内网ip做网关的时候,就会使用电信的线路上网,使用网通的路由器的内网ip作网关的时候,就会使用网通的线路上网。
所以,你要做双线服务器就必须在cs服务器上使用双网卡,分别使用电信的路由器内网ip做网关和使用网通的路由器的内网ip作网关,也就是你吧其中的任何一个网卡禁用都可以上网。然后分别在你的两台路由器上作映射,分别指向使用自己内网ip作网关的那个网卡的ip,应该就可以了。
如果有问题,可以使用 route PRINT (注意大小写)命令看看,你会看到如下内容
Active Routes:
Network Destination      Netmask          Gateway       InterfaceMetric
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.5       20
      127.0.0.0      255.0.0.0      127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0      192.168.1.5   192.168.1.5       20
      192.168.1.5255.255.255.255      127.0.0.1       127.0.0.1       20
    192.168.1.255255.255.255.255      192.168.1.5   192.168.1.5       20
      224.0.0.0      240.0.0.0      192.168.1.5   192.168.1.5       20
255.255.255.255255.255.255.255      192.168.1.5   192.168.1.5       1
255.255.255.255255.255.255.255      192.168.1.5               3       1
Default Gateway:       192.168.1.1
===========================================================================

如果有两个
0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.3       20
0.0.0.0          0.0.0.0      192.168.1.2   192.168.1.4       20

说明就没问题,我的上面没有
192.168.1.1电信网关   192.168.1.3设置电信网关的网卡的ip 20 花费值

192.168.1.2网通网关   192.168.1.4 设置网通网关的网卡的ip 20 花费值

如果缺少一个就用如下命令添加,注意大小写
route ADD 0.0.0.0 MASK 0.0.0.0192.168.1.2 METRIC 20 IF 2
      destination^            ^mask      ^gateway   metric^      ^Interface
这就是添加缺省路由,让他们负载分担,第一个第二个0.0.0.0代表任何ip地址,192.168.1.2是你缺少的网关,METRIC 20 是花费值,两个缺省路由的花费值必须相同。IF 2 指的是哪块网卡,就像本地连接1 和本地连接2一样,1代表第一块 2代表第二块(我猜得)。

不知道我这样说,你明白不,我哪有说错的,会做得朋友给说一下。谢谢。

gearfox 发表于 2006-7-16 08:51:11

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

1:找个相当不错的机器装好2003,最好能打上SP1,因为我们只使用2003的NAT,稳定第一。
2,机器上要求有3个网卡,电信一个,网通一个,内网一个
3,给3个网卡设IP,电信:222.88.75.2掩玛:255.255.255.0    网卡名字改为DX
                   网通:218.26.6.2掩玛:255.255.255.0    网卡名字改为CNC
                  内网:192.168.0.1掩玛:255.255.255.0   网卡名字改为LAN



千万注意:电信网关为:222.85.75.1 ,,网通网关为:218.26.6.1,,2个外网卡都不能添加网关,切记!!!



此时:如果物理线路连接正确,在此电脑上是应该可以PING通这3个网段的



4:在服务里禁用ICS服务
5,打开管理工具里的路由和访问控制,添加NAT和基本防火墙
6,在NAT里添加新接口:LAN为专线到专网,DX和CNC为通过此接口连接到互联网,并选中下面的转换IP地址的复选框。
7,此时,在2003系统没有添加任何网关的情况下,如果在内网的机器上能PING通2个外网的网关,就是正常的,如果不通,检查是不是有错误,
8,最后一步:写批处理



route –f(清楚所有路由信息,包括网关,只保留直连网络的路由)
route add 0.0.0.0 mask 0.0.0.0 %1%(引入第一个变量为网关)
route add 58.32.0.0 mask 255.248.0.0 %2%(引入第二个变量为下一跳)
route add 58.40.0.0 mask 255.254.0.0 %2%
route add 58.42.0.0 mask 255.255.0.0 %2%
route add 58.43.0.0 mask 255.255.0.0 %2%
(这是电信IP段的一部分,其他的还有好多,我这里也不太全,大家自己找找)
保存为GW.BAT



在运行里输入:GW 218.26.6.1 222.85.75.1 (2个网关的先后顺序不能错)



如果在批处理里用%3%来引入第3个变量,就会支持3个线路,以此类推,如果有条件的话,这个路由可以支持N个线路。



意思是:网通线路为主线,电信线路为副线,就是所有电信的数据走电信的网络,其他所有的数据走网通的线



如果网通掉线:在运行里输入:GW 222.85.75.1 222.85.75.1让全网走电信,这里最好输入2个,其实一个也可以,不过有时候记不清的话会出错



如果电信掉线:则运行:GW 218.26.6.1 218.26.6.1 让全网走网通,同样也 输入2个。



而且切换可以在2秒内完成。

hzbl775 发表于 2006-7-16 21:49:20

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

太经典了 受益匪浅~~~

yirenzhe 发表于 2006-7-17 09:34:54

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

我是这样做双线服务器的:

我这里用linux架设的双线(电信、网通)代理服务器,cs服务器是win2003系统(系统随便了),用端口映射把电信、网通的cs端口映射到cs服务器。

简单高效。

gearfox 发表于 2006-7-17 09:48:29

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

linux做双线步骤我也写出来吧。。
我用的是RED9版本,其他的也是大同小异了
安装过程非常简单,安装完毕之后,我们需要修改的文件主要有下面几个:
network 这个文件的意思是主网络设置文件
ifcfg-eth0 eth0 这个文件的意思是网卡设置文件
ifcfg-eth1 eth1 这个文件的意思是网卡设置文件
hosts 这个文件的意思是网络主机名配置
static-routes 这个文件的意思是静态路由表文件
rc.local IPTABLES 这个文件的意思是脚本
sysctl.conf Linux 这个文件的意思是内核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和网关。
这是里面的内容:
DEVICE=eth1硬件设备名
BOOTPROTO=static 配置方式
BROADCAST=192.168.0.255 广播地址
IPADDR=192.168.0.1 是你的IP地址
NETMASK=255.255.255.0 子网掩码
NETWORK=192.168.0.0 整个网段的地址
GATEWAY=192.168.0.1 的网关
ONBOOT=yes 是否启用网卡(一般默认是开启的)
其他的网卡设置都是差不多的,我就不说废话了。
设置完了之后我们设置host文件,也就是设置好工作组
上面的工作做完了之后我们修改sysctl.conf,也就是IP转发文件。在这里我们一定要起用IP转发才可以。里面可以这样写:
net.ipv4.ip_forward=1
net.ipv4.conf.default.rp_filter=1
kernel.sysrq=0

然后就是static-routes文件。这个文件是静态路由表文件!这个文件记得一定添加才可以!里面的语法是这样的:
eth0(设备名) net(网络地址) 192.168.0.0 (子网)netmask 255.255.255.0 (网关地址)gw 192.168.0.1
接下来该修改resolv文件。这个文件是你DNS服务器的地址文件,语法是:
nameserver(DNS服务器) 10.0.0.1
这上面这些是大体上的设置问题,其实很简单。下面这些就要大家好好看了,也就是我们需要的双线接入的策略了。
首先将从两个WAN口出去的数据包进行IP伪装masquerade
/sbin/iptables -t nat -A postrouting -o eth1 -j masquerade
/sbin/iptables -t nat -A postrouting -o eth2 -j masquerade
(上面提到的A的意思是append,是追加,当然也可以用-I,不过I是insert,是插入,默认插入到第一条 )

然后,给系统增加一个标示为11的路由表,增加一个默认网关,这个默认网关是网通提供的网关。
ip route add 0/0 via 11.11.11.11table 11
然后给系统主路由表配置网关,这个网关是电信的网关
ip route add 0/0 via 22.22.22.22
然后添加路由规则,让所有通向网通的数据查询标示为11的路由表:
ip rule add to 60.0.0.0/13 table 11
ip rule add to 60.8.0.0/15 table 11
ip rule add to 60.10.0.0/16 table 11
..........
这些规则,大家可以借鉴一下routeros的,网上很多,我就不说了,没有的可以跟我要。我的是MMS的,应该是比较全了
经过我们的设置所有通向网通的数据会查询路由表11,而通向其他的地方的数据,通向电信。(如果还有其他的线路,再增加路由表,再增加策略就可以了)
要注意的是,在配置网卡的时候,先不要配置网关,不要使用老的ifconfig命令来配置网关,而要使用iproute2来配置网关,否则会造成冲突,或者 使用 ip route replace 命令来替换 ip route add 命令。

      还有一个做法是:
                                                Internet
                                                      | |
                                                      | |
                                                电信 网通
                                                      | |
                                                       |
                                                   交换机
                                                      |
                                                 eth1 eth2
                                                    Server
                                                      eth0
                                                         |
                  客户机 客户机 客户机 客户机192.168.0.0/24 网关192.168.0.254

其中eth0 ip 192.168.0.0/24
eth1 222.168.1.3/255.255.255.252
eth2 218.62.3.3/255.255.255.252
默认网关为网通的218.62.3.2
加上ip route add的电信网关 222.168.1.2
部分脚本为
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -d $电信ip -j SNAT --to 222.168.1.3
***
***
***
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 218.62.3.3
这样呢就实现了一个网段的电信网通自动切换
前期测试:如果单独切换ip,内网同时并存192.168.0.254/24 192.168.2.254/24两个网关,速度很稳定,可以实现预期效果

# echo "200 DIANXIN" >;>; /etc/iproute2/rt_table(这个是添加到文件,执行一次即可)
# ip route replace default via 222.168.1.2 table DIANXIN
# ip rule add fwmark 1 table DIANXIN(这个注意顺序,用ip rule可以查看)
# iptables -t nat -F
# iptables -t mangle -F
# iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.222.5.0/15 -j MARK --set-mark 1
# iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.240.0.0/13 -j MARK --set-mark 1
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.222.5.0/15 -j SNAT --to $DIANXIN
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.240.0.0/13 -j SNAT --to $DIANXIN
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to $接网通线路网卡的地址
# ip route flush cache
这样的结果,是访问222.222.5.0/15和222.240.0.0/13走电信网卡、电信路由,伪装成电信出口地址,其他默认网通。

cfans 发表于 2006-7-17 13:09:43

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

嗯,gearfox这妞的确是个高手,哈:sweet_kis

gearfox 发表于 2006-7-17 13:16:30

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

:embarrass :embarrass :embarrass :embarrass 。。。。。。。。谢谢夸奖。

一直挺喜欢弄路游

eco 发表于 2006-7-19 12:37:36

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

太感谢2,3楼的两位大哥了,

啥都不说了,眼泪哗哗的..:sweet_kis

zhengtianshu001 发表于 2006-7-21 16:38:56

回复: 双线服务器怎么做啊? 这么长时间了也没人会?

我觉得用个双线路由器 不就简单多了! 价格也不是很贵在2300 元左右吧!
页: [1] 2 3
查看完整版本: 双线服务器怎么做啊? 这么长时间了也没人会?