开始的时候,我们办公室拉了两条家庭百兆宽带,两条宽带分别接到路由器的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. class卸载、热替换和Tomcat的热部署的分析

    一 class的热替换 ClassLoader中重要的方法 loadClassClassLoader.loadClass(...) 是ClassLoader的入口点.当一个类没有指明用什么加载器加载的 ...

  2. JCIFS是很不稳定的

    我以前也试过这样登录失败,第二天就能登录成功了. JCIFS是很不稳定的. 如果是域登录可以这样 //DOMAIN_IP         域名服务(其实域名和域名服务器IP可以,不过用IP解析速度快很 ...

  3. 关于矩阵最通俗的解释-超级经典zz

    线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙.比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者 ...

  4. UVa 1402 Runtime Error 伸展树

    Runtime Error 到现在连样例也跑不出来!!! 调试了一晚上快要死了…… 知道错在哪里但是不会改,代码先扔在这里吧.看来不能太依赖模板啊orz…… #include <cstdio&g ...

  5. C#使用sharppcap实现网络抓包-----2

    虽然网上已经有了SharpSniffer 这一个SharpSniffer还是原创的无他,唯为学习工程文件下载:SharpSniffer.rar 1.创建套接字2.绑定到本机3.设置IOControl4 ...

  6. [leetcode72]Edit Distance(dp)

    题目链接:https://leetcode.com/problems/edit-distance/ 题意:求字符串的最短编辑距离,就是有三个操作,插入一个字符.删除一个字符.修改一个字符,最终让两个字 ...

  7. n人比赛,可轮空,比赛轮数和场数

    #include<stdio.h> int chang(int x,int s){ ) return s; ) ; !=){ s+=(x-)/; )/,s); } else{ s+=x/; ...

  8. 转:Android设置全局变量

    声明:本文转自feiyangxiaomi的博客:http://blog.csdn.net/feiyangxiaomi/article/details/9966215仅供学习使用,转载请指明原作者. 文 ...

  9. UVa 10870 (矩阵快速幂) Recurrences

    给出一个d阶线性递推关系,求f(n) mod m的值. , 求出An-dv0,该向量的最后一个元素就是所求. #include <iostream> #include <cstdio ...

  10. iOS开发实践:一个类微博客户端从启动到与用户交互的过程

    本文基于数据字典和数据流图两种工具讲述一个完整微博客户端的实现.数据字典和数据流图都可以用来表达线程的执行流程,同时定义了需要的类,是进一步设计类的基础. 数据字典实际上是一张表,表的第一个字段是程序 ...