分类目录归档:杂文杂载

本地入手解决双线路由设置

    众所周知目前我国国内网络接入服务提供商基本由中国网通和中国电信两家垄断,在线路和站点互访方面存在一定的问题,那就是如果你的网络属于中国网通的线路,那么访问中国电信的资源会比较慢,而如果你的网络是中国电信提供的,同样访问中国网通的资源会比较慢。这也是为什么很多企业用户开始申请双线路来解决这种问题的原因,但是身为网络管理员的我们是否了解合理分配网络访问出口和链路方向呢?通过合理分配目的地IP地址可以让我们更好的利用网络资源,让访问电信网络的数据可以发送到电信链路,同理让访问网通的数据可以顺利发送到网通链路,下面就请各位跟随笔者一起学习如何从本地入手解决双线路由设置问题。

 

一,网络环境介绍:

 

这里我们虚拟一个网络环境,通过这个虚拟环境来讲解如何从本地入手解决双线路由设置问题。当我们企业有两条单独的宽带线时,一条是普通宽带中国电信1M,另一条是中国网通的ADSL线路,员工计算机有两张网卡都是Realtek RTL8139 Family PCI Fast Ethernet NIC,分别有两个modem,型号依次为ZyXEL的PRESTIGE 600 series,上海贝尔的ADSL Home Plus Plus 500,我们想两条宽带线路都利用好,可以保证访问网通和电信线路的地址速度都比较快。

 

二,需求讲解:

 

我们首先要明确的就是双线路由设置的目的是什么,一般企业用户遇到的问题实际上是想把两条线路合并到一起,并且可以实现访问电信网络通过电信ADSL,而访问网通网络则通过网通ADSL。如果简单的通过一些网卡合并软件将两块网卡绑定到一起是无法满足这种智能选择路由的目的的。实际上我们需要解决的和利用策略路由让网络数据包智能传输有类似之处,而本文主要讲解的是从本地计算机入手而不是从路由器入手解决线路问题。

 

 三,具体实施办法:

 

在单机网络环境下是否也有诸如策略路由这样的解决技术和方案呢?答案是肯定的,我们可以通过计算机自身的路由表功能实现。对于每个连接到网络的计算机来说自身都有一个路由表,他类似于路由器的路由表,帮助计算机发送网络请求到指定的IP地址。我们可以通过“开始->运行”进入命令行窗口然后执行route print来查看本机的路由表信息。

     计算机中的路由表和路由器上的一样,也可以由我们根据需要添加和删除。因为解决读者问题的关键就放到了如何更合理的规划路由信息,让电信网络访问走电信网卡,让网通网络访问走网通网卡呢?笔者以自己的计算机为例进行介绍。

第一步:笔者计算机有两块网卡,假设连接了不同的线路。连接网通的网卡,ip设置为192.168.1.111,网关设置为192.168.1.1,连接电信的网卡,ip设置为192.168.0.111,网关设置为192.168.0.1。

第二步:通过route print命令查询当前计算机的默认网关,显示在Default Gateway后面的就是默认网关地址。如果显示为192.168.1.1则说明默认以网通线路为出口,如果是192.168.0.1则说明默认以电信线路为出口。

 

    第三步:如果默认网关是电信出口,则我们要手工添加网通的路由信息,如果默认是网通线路对应的网关,则需要我们手工添加电信路由信息。至于网通或者电信的IP地址范围是多少,我们可以通过询问ISP获得。这里假设默认网关是电信出口,那么我们需要手工添加网通线路的地址段路由信息。笔者以61.156.0.0网通IP段为例进行介绍。进入到命令行模式输入route add -p 61.156.0.0 mask 255.255.0.0 192.168.1.1,这句指令将规定凡是传输到61.156.0.0这个地址段的数据都发送到192.168.1.1这个网通出口网卡。

 

小提示:

 

route add命令是添加临时的路由记录,重启后就将清空所有添加记录,所以如果想永久生效需要象上文那样加一个“-p”参数,这样添加的路由信息不随重新启动而消失。相应的删除路由用“route delete IP段”指令。

 

第四步:依次添加所有网通地址段到本机路由表,设置完毕后我们访问网通线路和电信线路的速度都将有所保证。

      四,总结:

 

实际上本文讲解的主要方法都是在本地计算机上执行的,通过为本地计算机添加不同的路由信息,从而实现了访问不同线路发送目的地不同的功能,这样我们才可以顺利的将访问电信网络的数据可以发送到电信链路,让访问网通的数据可以顺利发送到网通链路。不过本方法也存在一定的缺点,那就是当本地计算机上网卡硬件更换后,之前设置的路由信息也将自动消失。我们不得不再次针对设置信息进行添加。另外本方法只是针对单个计算机进行设置的,如果需要让整个企业各个员工计算机都能够完成这种智能路由的功能的话,除了编写批处理文件添加路由信息外,恐怕还是利用路由器中的路由策略更加方便。
 

中继和带宽汇聚,带宽合并相关知识

当访问端口接受到一个帧时,交换机根据VLAN的端口配置为这个帧内部分配一个VLAN标签,一旦参考网桥做出了帧转发的策略,该帧便被转发到合适的输出端口,这时帧的内部VLAN标签被去掉,还原为原始帧,然后从输出端口发送出去

中继封装:

Cisco ISL                           26字节头部*包含10比特vlan-id和4字节尾部对原始帧的循环冗余检验和

IEEE802.1Q                        头部位于帧内部,2字节的802.1Q标签,16比特Tag Protocol Identifier (0x8100),3比特Priority(802.1p),1比特Canonical Format Indicator,12比特vlan-id

配置VTP服务器

VLAN配置模式           Switch(vlan)# vtp { domain domain-name | password password | pruning*禁用 | v2-mode | { server | client | transparent } }

                                   v2-mode *启动VTP版本2         要用exit保存配置

验证配置                     Switch# show vtp status

                                   每次修改VTP域名,其数据库配置修订号会复位至零

全局配置模式              Switch(config)# vtp version 2

                                   启动VTP版本2不同,其他相同

配置VTP客户机          与配置VTP服务器相同

VTP的建议

优点:中央化配置和管理,减少开销;确保交换机VLAN数据库相同;VTP修剪允许VLAN进行动态清楚,提高网络效率

缺点:服务器错误将对整个网络产生影响;修订号高的客户机,会重写服务器的VTP配置;没有配置VTP密码,容易受DoS攻击;不允许VTP对中继手动修剪,而这是有益的

VLAN1协议:             VTP*VLAN中继协议;       CDP*Cisco发现协议;

PagP*端口汇聚协议;        DTP*动态中继协议

对ISL中继,DTP消息总是在VLAN1上传送;对802.1Q中继,DTP消息总是在native VLAN上传送。当VLAN1被清楚,除四种协议外其余被阻塞

native VLAN:属于native VLAN的所有流量在被中继传送时不需要802.1Q标签,为了与非802.1Q端口进行相互操作,因为在native VLAN中流量没有被标记,所以如果一个被配置成802.1Q中继的端口接收到未标记的流量,交换机就会假定流量属于native VLAN并转发

配置端口DTP模式      Switch(config-if)# switchport mode { access | dot1q-tunnel | dynamic { auto | desirable} | trunk* }

*若设置trunk必须       Switch(config-if)# switchport nonegotiate

配置中继参数              Switch(config-if)# switchport trunk { allowed vlan vlan-list } | { encapsulation*中继封装 { dot1q | isl | negotiate*协商封装 } } | { native*只用在802.1Q,定义中继的native VLAN vlan vlan-id } | { pruning*VTP剪裁 vlan vlan-list}

启用VTP修剪             Switch(config)# vtp pruning

配置prune eligible表     Switch(config)# interface interface-id

                                   Switch(config)# switchport trunk pruning vlan vlan-list*允许清除list

验证配置                     Switch# show interface interface-id switchport

                                   Switch# show interface trunk

配置EtherChannel

EtherChannel:Cisco的私有带宽汇聚协议,所有交换机都支持,通过使用PagP*端口汇聚协议 形成束,束中每个端口运行在一个特定的PagP模式下

PagP协商:只有两端模式组合为desirable和desirable、desirable和auto、on和on才成功形成通道;推荐使用desirable和desirable,确保不会产生ErrDisable状态,还确保场景所描述的链路故障不会影响生成树拓扑

配置物理端口参数:端口速度/双工设置;VLAN配置;中继配置;生成树配置;SPAN目的端口;安全端口;动态VLAN端口;协议过滤;服务质量(QoS)配置;超长帧(Jumbo frame)

例子                            Switch(config)# interface range FastEthernet0/1-2

                                   Switch(config-if-range)# speed 100

                                   Switch(config-if-range)# dulex full

                                   Switch(config-if-range)# switchport trunk encapsulation dot1q

                                   Switch(config-if-range)# switchport mode dynamic desirable

Switch(config-if-range)# switchport trunk native vlan 10

Switch(config-if-range)# switchport trunk allowed vlan 2-5

Switch(config-if-range)# switchport trunk pruning vlan 2-4

配置EtherChannel束     Switch(config)# port-channel load-balance { src-mac | dst-mac | src-dst-mac | src-ip | dst-ip | src-dst-ip | src-port | dst-port | src-dst-port }

l         29/35系列只支持基于第二层MAC地址的负载分配方法

l         带PFC1的60/65系列支持基于第二层MAC地址和第三层IP地址的负载分配方法

l         40的Supervisor3/4和带PFC2的60/65系列支持第二层MAC地址、第三层IP地址和第四层TCP/UDP端口的负载分配方法

验证EtherChannel         Switch# show etherchannel { summary*束 | port*端口 }

验证负载分担和冗余    Switch# show interfaces counters
 

对两个宽带的合并方法

1.PPPOE 拨号+蹭网,要2个路由器,都是要DD-WRT。
2。2个普通陆由器(PPPOE 或蹭网)+DD-WRT 路由器。

先讲第一种。蹭网路由—(以下为A)设IP 为:192.168.2.1. dd-wrt 路由(以下为B)设192.168.1.1 。
B 要DD-WRT V-24 SP2 .将上传的jffs 文件用winscp 上传致B的 /root /jffs 文件夹内。
将/jffs 文件夹内的WAN2.FIREWALL 文件中的 MAC 地址改为你的路由器的MAC地址。
在administartion选项中的backup页面的Restore Settings。browse我上传的BACKUP.bin文件。

将要拨号的modem网线连到B的wan口,蹭网路由的LAN口连到B路由的第4个LAN 口。
重启。

相关资料:
http://www.dd-wrt.com/phpBB2/vie … 595e5ea66aea2d1f432

再讲第2种情况,要3个路由
 

双网合并,共用宽带的方法【转载,整理】

 

TOMATO蹭网+ADSL带宽合并(ROM已放出)(教程已上)

邻居家1M有线通+我家3M ADSL = 4M合并带宽(负载平衡)!终于搞定了,稍后会上教程
硬件配置:
   P7231+WE800G(这个网桥是连接邻居家WIFI的网关)

软件配置:
    1.17 + ADVANDED ROUTING

非常感谢hotwjp的热心帮助

不好意思,回来晚了,TOMATO 1.17 With Advanced Routing 标准版已经放出,手头还有USB,USB+OPENVPN整理后,会继续放出.

提示:脚本要用到策略路由,TOMATO默认是不支持的,只有重新编译把Advanced Routing编译进去才可以,如果大家有能力编译的话,请自己编译,如果不行,晚上我会把tomato.trx发上来
线路的配置:
        线路1:
                自家ADSL,没什么好说的,原来怎么配现在就怎么配
        线路2:
                蹭来的无线,这个有点讲究,首先我们需要一个无线网桥,应为P7321上的无线我是做自家无线AP的,所以不能做邻居WIFI的CLIENT,所以我就搞了一个MOTO WE800G来实现,以下主要是WE800G上的方法(如果直接使用P7231上的AP也可以,只要调成CLIENT模式,并配好路由表,方法我以后会介绍):
                先将WE800G单独脸上电脑,通过管理界面配置为CLIENT连上邻居家的AP,然后将电脑网卡调成DHCP方式,获得远程AP分配的IP,记下此IP(如:192.168.1.123 网关:192.168.1.1).
                在P7231上开一个VLAN(我们用端口0,开VLAN3):
                nvram set vlan0ports="1 2 3 5*"
                nvram set vlan3ports="0 5t"
                nvram set vlan3hwname="et0"
                nvram commit
                reboot
                重启完成后:
                ifconfig vlan3 192.168.1.123 netmask 255.255.255.0
                ifconfig vlan3 up
               
        到这里线路的配置已经完成,你可以测试一下线路2,在路由器上输入ping 192.168.1.1如果成功,则说明线路2已经连接成功.

负载平衡的配置:
        这个简单,只要你运行一下我提供的脚本(startNLB.sh)就可以搞定!
        脚本的配置:
        #————自行修改———–
        wan1_if=ppp0
        wan1_ipaddr=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
        wan1_gateway=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $3}’|awk -F " " ‘{print $1}’)

        wan2_if=vlan3
        wan2_ipaddr=$(ifconfig $wan2_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
        wan2_gateway=192.168.1.1
        #——————————-
        如果你按照我上面的方法做,只要你调整一下        wan2_gateway的地址就可以

脚本要用到策略路由,TOMATO默认是不支持的,只有重新编译把Advanced Routing编译进去才可以,如果大家有能力编译的话,请自己编译,如果不行,晚上我会把tomato.trx发上来

 

以上来源地址:http://www.right.com.cn/forum/viewthread.php?tid=14465&extra=page%3D1&page=1

belkin7231路由—双WAN负载均衡PPP0E拨号

看到论坛上已经有网友利用TOMATO实现是双WAN宽带叠加,也提供了教程可惜都是基于静态ip的
我也不懂! 幸好有boy516 这位DX的指点 勉强实现了!   稳定还是不行!尤其断线以后的问题
本文在belkin7231路由上 测试成功

首先到http://www.right.com.cn/forum/viewthread.php?tid=14465&extra=page%3D1 下载 已经编译好的TOMATO 刷上路由 后再复一下位

1.在WEB上 设置第一条 PPP0E线路 这个不多说了

2.telnet上路由 输入一下内容:

nvram set vlan0ports="1 2 3 5*"
nvram set vlan3ports="0 5*"
nvram set vlan3hwname="et0"
nvram commit
reboot

路由会自动重启

3.在WEB页面上 Administration —–>Scripts—–>WAN Up 输入以后内容 ADSL的帐号密码按实际修改   (如帐号:gzdslxxxx 密码:123456789) 保存重启

ifconfig vlan3 up
pppoecd vlan3 -u gzdslxxxx -p 123456789 -r 1492 -t 14

#!/bin/sh
#——————————-
#      Created by Tommy.Liu
#      eijiliu@hotmail.com
#——————————-

#————自行修改———–
wan1_if=ppp0
wan1_ipaddr=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
wan1_gateway=$(ifconfig $wan1_if|grep "inet addr"|awk -F ":" ‘{print $3}’|awk -F " " ‘{print $1}’)

wan2_if=ppp1
wan2_ipaddr=$(ifconfig $wan2_if|grep "inet addr"|awk -F ":" ‘{print $2}’|awk -F " " ‘{print $1}’)
wan2_gateway=$(ifconfig $wan2_if|grep "inet addr"|awk -F ":" ‘{print $3}’|awk -F " " ‘{print $1}’)
#——————————-

echo "Wan1 IP:$wan1_ipaddr"
echo "Wan1 Gateway:$wan1_gateway"
echo "Wan2 IP:$wan2_ipaddr"
echo "Wan2 Gateway:$wan2_gateway"

echo "Set adv routing…"
#设定策略路由
ip rule flush
ip rule add lookup main prio 32766
ip rule add lookup default prio 32767
ip rule add from $wan1_ipaddr table 100 prio 100
ip rule add fwmark 0x100 table 100 prio 101
ip rule add from $wan2_ipaddr table 200 prio 200
ip rule add fwmark 0x200 table 200 prio 201
ip route flush table 100
ip route flush table 200
for TABLE in 100 200
do
   ip route | grep link | while read ROUTE
   do
      ip route add table $TABLE to $ROUTE
   done
done
ip route add table 100 default via $wan1_gateway
ip route add table 200 default via $wan2_gateway

echo "Set PREROUTING…"
#清除PREROUTING
iptables -t mangle -F PREROUTING
#所有wan1进入的包(NEW)都标记为0x100,走Wan1策略路由(101)
iptables -t mangle -A PREROUTING -i $wan1_if -m state –state NEW -j CONNMARK –set-mark 0x100
#所有wan2进入的包(NEW)都标记为0x200,走Wan2策略路由(201)
iptables -t mangle -A PREROUTING -i $wan2_if -m state –state NEW -j CONNMARK –set-mark 0x200
#所有LAN进入并且已经建立连接的包,恢复MARK
iptables -t mangle -A PREROUTING -i br0 -m state –state RELATED,ESTABLISHED -j CONNMARK –restore-mark

echo "Set POSTROUTING…"
#清除POSTROUTING
iptables -t mangle -F POSTROUTING
#所有WAN1出去的包
iptables -t mangle -A POSTROUTING -o $wan1_if -m state –state NEW -j CONNMARK –set-mark 0x100
#所有WAN2出去的包
iptables -t mangle -A POSTROUTING -o $wan2_if -m state –state NEW -j CONNMARK –set-mark 0x200

#DNS默认走WAN1(应为双线的线路如果不是同一个ISP,那么DNS就不能混用,只能指定一个)
iptables -t mangle -A POSTROUTING -p udp –dport 53 -j CONNMARK –set-mark 0x100

echo "Set QOS…"
#QOS
iptables -t mangle -F OUTPUT
iptables -t mangle -A OUTPUT -o $wan1_if -j QOSO
iptables -t mangle -A OUTPUT -o $wan2_if -j QOSO

iptables -t mangle -F FORWARD
iptables -t mangle -A FORWARD -o $wan1_if -j QOSO
iptables -t mangle -A FORWARD -o $wan2_if -j QOSO

echo "Set Nat…"

echo "Set default gateway…"
#负载平衡
ip route change default equalize nexthop via $wan1_gateway nexthop via $wan2_gateway

echo "finished."

4.重启后TELNET上路由运行:ip rout
查看ppp0 和 PPP1

看到类似的提示第1,2行能获取公网IP 代表已经成功
# ip rout
218.19.168.1 dev ppp1 proto kernel scope link src 218.19.173.212
116.22.151.1 dev ppp0 proto kernel scope link src 116.22.151.61
192.168.2.0/24 dev br0 proto kernel scope link src 192.168.2.1
127.0.0.0/8 dev lo scope link
default equalize
        nexthop via 116.22.151.1 dev ppp0 weight 1
        nexthop via 218.19.168.1 dev ppp1 weight 1
default via 116.22.151.1 dev ppp0

这时你可以使用迅雷下载测试一下速度 在WEN页面上看看WAN (ppp0) 和WAN (ppp1)的流量

以上来源地址:http://www.right.com.cn/forum/viewthread.php?tid=15689&highlight=7231

 

2009年7月22日 日全食照片

     明天就要日全食啦,先为自己留个帖子记录,免得明天睡懒觉的时候忘记了,有可能都日全食过了 才起来呢,这里记录下,为自己提个醒,明天要早点起来,随便也不要忘记拍个照片,虽然可能不太好拍,也没过滤的东西,但是日全食的时候,应该可以拍到。

 刚刚拍的现场照片地址:http://www.maqie.com/archives/2240/

2009年7月22日日全食 最佳观测地点地图

       在2009年7月22日,将会出现21世纪以来最大规模一次日全食,食份为1.0799,全食最长持续时间为6分38.8秒。月球的本影覆盖范围包括亚洲东部各区、太平洋及夏威夷,在中国的成都、乐山、重庆、宜昌、武汉、合肥、铜陵、上海、嘉兴、苏州、杭州等地都可以观测到。

明天就要到来了,哈哈,我们这还在这次日全食的最佳观测地带上,就在那个地图的往西的中间线上。

自制制冷冰箱,DIY半导体制冷小冰箱【转】

自制迷你小冰箱

夏日炎炎,一人独居的你是否需要一个实用的小冰箱呢?
材料准备:
1、半导体制冷片(以下简称制冷片),电压12V(可在电子市场买到,视情况选用,最常用的有制冷性饮水机使用的那种,功率不大,如果能买到功率稍大的更好,限于半导体特性,不建议使用100W以上的制冷片)
2、12V电源(可用计算机电源)
3、CPU散热片及风扇(根据需要选用)
4、泡沫箱(农贸市场上用来装水果的,不要太大,太大了制冷功率跟不上)
5、导热硅胶

制作过程:
1、首先分清半导体制冷片的热端和冷端,一般的制冷片电源引脚有黑和红两根,分别对应正、负极,再将制冷片加上12V直流电,用手可立即感觉出冷端和热端,分别标记出来。将半导体制冷片两端涂上硅胶,夹在两个散热片中间,热端使用大型的并带由稍大功率风扇的散热片,我使用的就是P4常用的那种,冷端可选用稍小的散热片(是否需要风扇根据自己需要),然后将两个散热片固定住(我用的是双绞线里面的线芯,给两个散热片扎起来)。接通制冷片以及散热风扇电源(如果是计算机电源,有12V、5V两种电压输出,只用12V电就可以了),通电试验,运行正常后继续下一步。
2、在泡沫箱上开孔,孔大小为冷端散热片大小,以便能将散热片放下。安装好散热制冷装置。
3、开机,恭喜你,你的迷你小冰箱制作成功了。

改进分析:
1、冷端的制冷如果仅仅安装了散热片,运时时间长了你就会发现散热片上结霜结冰,而整个泡沫箱下降的温度比较有限(只能低于室温5~8度),解决的办法是使用一个功率较小的风扇装在冷端散热片上,这样下来散热片就不会结霜了,温度可以低于室温14度左右。更好的办法是使用热管或者重新设计冷端风道,可以将冷空气均匀的分布。
2、可以设计制冷的高低档及自动控制,高低档的设计可以结合计算机电源输出的12V和5V电压,高档使用12V电压供电、低挡使用5V电压供电(试验有效);自动控制,可以买一个旧的冰箱使用的温控器装在箱内,用来控制制冷片机散热风扇的电源,以达到自动控制的目的。

无压缩机的冰箱 制冷原理

无压缩机的半导体制冷冰箱,现在流行的很多小冰箱就用这个原理制冷的

 

 半导体致冷器是由半导体所组成的一种冷却装置,於1960左右才出现,然而其理论基础,可追溯到19世纪。通上电源之后,冷端的热量被移到热端,导致冷端温度降低,热端温度升高,这就是著名的帕贴尔效应。这现象最早是在1821年,由一位德国科学家Thomas Seeback首先发现,不过他当时做了错误的推论,并没有领悟到背后真正的科学原理。到了1834年,一位法国表匠,同时也是兼职研究这现象的物理学家Jean Peltier,才发现背后真正的原因,这个现象直到近代随著半导体的发展才有了实际的应用,也就是“致冷器”的发明(注意,这种叫致冷器,还不叫半导体致冷器)。
这种冰箱没有机械运转部件,用低压直流电工作,主要用在汽车冰箱上。