开始的时候,我们办公室拉了两条家庭百兆宽带,两条宽带分别接到路由器的wan1/wan2口上,我们愉快的工作愉快的上网。

后来,再拉了一条十兆企业专线,接到了路由器的wan3口上面,配了一些静态路由,希望办公室访问特定网段的时候,从wan3口出去,走企业专线。我们的故事也是从这里讲起。

part1,一些小伙伴反映网络断断续续。

然后,我们就开始各种猜测,各种折腾:ipconfig、ping、arp、抓包…… 然后再找到网络异常的小伙伴机房那边的端口,然后连到我们自己的电脑上面去(那时候我的电脑上网正常)调试……

网线拔来拔去拔来拔去之后,发现,其实是路由器连接到那个交换机的线路松了,所有那几排小伙伴都网络异常。

突然有种c*tv 10 《zou进*学》的感觉,一大堆专家做了好多假设,最后发现真相碉堡了。

part2,愉快n天之后,arp作死,这次是整个办公室。

再折腾,各种重启、调试、抓包…… 可是,连网关都ping不通!

连网关都ping不通?正是这句话让我灵机一动,想起了曾经相似的场景:局域网里面有很多傻瓜路由器,它们的IP地址都是192.168.1.1。而我们那时候机房的路由器IP地址也是192.168.1.1,然后,这就造成了我们的电脑不知道网关在哪里?这就叫arp攻击,我们还真在路由器的菜单里面找到了arp攻击记录。

这是在我们自己的电脑上面查到的

然后,我们把机房路由器的IP改一下就行了。

part3,你以为这就完了?呵呵,网络龟速中

网络龟速中,我们以为是哪个小伙伴在上传下载什么的,那么,限速,把某段IP给限速了,存点小私心,其实也是工作需要,自己的配置静态IP,在限速段之外。这个静态IP的配置,也是山路十八弯的曲折||-_-

不能在自己电脑上面配静态IP,自己的电脑还是要选择 [自动态获的IP地址],

因为我们整个局域网使用的DHCP来动态分配IP的,不要搞特殊,不然IP冲突不好解决。

可是我要跳出限速IP端,就必须使用静态IP才能保证啊,不然哪天给我DHCP到限速端的IP里面的怎么破?然后我就去路由器的DHCP服务器设置那里给自己的电脑分配一个静态IP。

然后,这就行了么?呵呵。之前DHCP给我IP租期还没过呢,所以我就去重启了路由器,本来这样就可以了。可是万万没想到,我给自己电脑mac地址分配的这个IP已经被DHCP租出去了,DHCP很和谐的,租出去的IP还在线就不会把别人挤下线的,也就是说我还是不能使用这个IP,那么我就只能等对方关电脑,然后,还要比对方早开机。

part4,静态路由引发的x案

我们有一个远程的Linux服务器,暂时把它叫做[小L]吧,访问经常断断续续,那时候,我们访问其它网站什么都正常,独独到这个[小L]连接异常,开始我怀疑是[小L]的配置问题,后来,我在外面找了个电脑来ping这个[小L],却一切正常。

然后,我在[小L]上traceroute回我们个办公室的某外网IP,或者在办公室tracerounte到[小L]发现都是在我们的办公室出去的时候请求超时。

那么,我断定问题出在我们的局域网,访问其它网站正常,访问[小L]异常,那么就应该是路由配置问题,后面发现了一条有关[小L]的IP的静态路由配置,然后,我就突然想起来,我们一个小伙伴超龙之前也遇到过这样的问题,删了这条路由就好了,然后我把路由规则截图之后就删了。

part5,到现在为止,问题还是没有根本解决。

part3说的网络龟速,又是为什么呢,两条百兆带宽一根十兆专线都是虚的么?part4说的那条针对[小L]的静态路由规则,其实写的是对的,那为什么呢?(答案在下方)

文章开始的时候就说了,我们的局域网接了三根网线,我们观察这三个wan的运行状态,发现三个wan加起来,才1000kByte,刚好是wan3企业专线的带宽,而且发现,wan1/wan2都没什么流量,主要流量都在wan3上面。

然后,我们断定办公室网络基本上都走wan3出去了,所以,上面的问题都有答案了:大家都走wan3,拥堵了,带宽不够用。

那为什么另外两根百兆带宽没使用到呢?不理解。然后,小伙伴华岭一句话,“看看那个多wan”,什么是真理,这就是真理!

然后,我们把wan1/wan2的比例调大,wan3比例调小,全世界都美好了。。

总结一下:

1.局域网里面的其它傻瓜路由器会造成arp攻击;

2.通过DHCP服务给主机的mac地址分配静态IP,注意:不能在自己的电脑设置静态IP;

3.关注wan的运行状态;

4.多wan设置;

part6,真理也有失效的时候,而且仅维持了一天

上面的part5说设置了多wan策略,网络就正常了,可是也仅仅是正常了一天,第二天依旧作死。后面超龙小伙伴提出了一个解决方案:设置ip分组,把某些IP强制划分到不同的wan口去,避免它们抢专线的流量。

.... 待续

办公室网络二三事 - chunyu的更多相关文章

  1. 亿级在线系统二三事-网络编程/RPC框架 原创: johntech 火丁笔记 今天

    亿级在线系统二三事-网络编程/RPC框架 原创: johntech 火丁笔记 今天

  2. Java并发编程二三事

    Java并发编程二三事 转自我的Github 近日重新翻了一下<Java Concurrency in Practice>故以此文记之. 我觉得Java的并发可以从下面三个点去理解: * ...

  3. linux杂记(十二?) 关于账号和密码的二三事

    关于密码的二三事 关于账号和密码的二三事 久了不更linux的相关知识,实在是懒得想内容点(纯粹是懒).那么今天就来谈谈关于linux密码和账号的重要概念. 假如你的主机遭到入侵,那么对方的第一个侵入 ...

  4. MySQL5.7关于密码二三事

    MySQL5.7关于密码二三事 第一个:update user set password=password('root') where user='root' and host='localhost' ...

  5. Java中的匿名内部类及内部类的二三事

    匿名内部类适合创建那些只需要使用一次的类,它的语法有些奇怪,创建匿名内部类会立即创建一个该类的实例,这个类定义立即消失,且不能重复使用. 定义匿名类的格式如下: new 实现接口() |父类构造器(实 ...

  6. Emacs 启动优化二三事

    Emacs 启动优化二三事 */--> div.org-src-container { font-size: 85%; font-family: monospace; } p {font-siz ...

  7. WinForm二三事(三)Control.Invoke&Control.BeginInvoke

    http://www.cnblogs.com/yuyijq/archive/2010/01/11/1643802.html 这个系列从2009年写到2010年,差点又成太监文.随着WPF/Silver ...

  8. iOS7下滑动返回与ScrollView共存二三事

    [转载请注明出处] = =不是整篇复制就算注明出处了亲... iOS7下滑动返回与ScrollView共存二三事 [前情回顾] 去年的时候,写了这篇帖子iOS7滑动返回.文中提到,对于多页面结构的应用 ...

  9. 一只代码小白git托管路上的二三事

    [经验]一只代码小白git托管路上的二三事 写在前面的话 寒假的时候,娄老师给我们布置了代码托管的作业,并要求把托管地址发给学委.因假期的时候没有带电脑回家,所以只是在手机上草草注册了,也稀里糊涂就将 ...

随机推荐

  1. 61. Rotate List

    题目: Given a list, rotate the list to the right by k places, where k is non-negative. For example:Giv ...

  2. 通过jcifs.jar 创建远程文件和文件夹

    package com.project.remoteUrl;import java.io.File;import java.io.InputStream;import java.io.OutputSt ...

  3. 开发板挂载nfs服务器错误解析

    输入mount -t nfs 192.168.1.110:/home/work /mnt,这时可能会出现 mount.nfs:access denied by server while mountin ...

  4. How to upgrade gcc using apt-get ?

    在toolchain/test下已经有打包好的gcc,版本有4.x.5.0.6.0等,用这个PPA升级gcc就可以啦! 首先添加ppa到库: 1 sudo add-apt-repository ppa ...

  5. DataGridView控件的使用---添加行

    最简单的方法 可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行. 假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控 ...

  6. BZOJ 3140 消毒(最小顶点覆盖)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=3140 题意:最近在生物实验室工作的小T遇到了大麻烦. 由于实验室最近升级的缘故,他的分格 ...

  7. git push --no-thin

    有时候我们执行 git push 将一个 new branch 推送到远程仓库的时候,会被远程仓库阻止. 可能是我们没有相应的权限吧.然而,我在 git push 的时候加上 --no-thin 参数 ...

  8. Asp.Net时间戳与时间互转

    /// <summary> /// 时间戳转成时间类型 /// </summary> /// <param name="timeStamp">& ...

  9. Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义

    转:http://blog.chinaunix.net/uid-26896647-id-3433968.html 问题描述:如果在一个表中的一个字段上存在'&',  '_',  '%'这样的特 ...

  10. rtp h264注意点(FU-A分包方式说明)

    前写过一篇文章,分析了h264使用rtp进行封包的格式介绍:RTP封装h264.但里面好像没有把拆分以及一些需要注意的情况说清楚,因此这里做补充,也作为自己的备忘(自己记性好像不太好). 关于时间戳, ...