办公室网络二三事 - chunyu
开始的时候,我们办公室拉了两条家庭百兆宽带,两条宽带分别接到路由器的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的更多相关文章
- 亿级在线系统二三事-网络编程/RPC框架 原创: johntech 火丁笔记 今天
亿级在线系统二三事-网络编程/RPC框架 原创: johntech 火丁笔记 今天
- Java并发编程二三事
Java并发编程二三事 转自我的Github 近日重新翻了一下<Java Concurrency in Practice>故以此文记之. 我觉得Java的并发可以从下面三个点去理解: * ...
- linux杂记(十二?) 关于账号和密码的二三事
关于密码的二三事 关于账号和密码的二三事 久了不更linux的相关知识,实在是懒得想内容点(纯粹是懒).那么今天就来谈谈关于linux密码和账号的重要概念. 假如你的主机遭到入侵,那么对方的第一个侵入 ...
- MySQL5.7关于密码二三事
MySQL5.7关于密码二三事 第一个:update user set password=password('root') where user='root' and host='localhost' ...
- Java中的匿名内部类及内部类的二三事
匿名内部类适合创建那些只需要使用一次的类,它的语法有些奇怪,创建匿名内部类会立即创建一个该类的实例,这个类定义立即消失,且不能重复使用. 定义匿名类的格式如下: new 实现接口() |父类构造器(实 ...
- Emacs 启动优化二三事
Emacs 启动优化二三事 */--> div.org-src-container { font-size: 85%; font-family: monospace; } p {font-siz ...
- WinForm二三事(三)Control.Invoke&Control.BeginInvoke
http://www.cnblogs.com/yuyijq/archive/2010/01/11/1643802.html 这个系列从2009年写到2010年,差点又成太监文.随着WPF/Silver ...
- iOS7下滑动返回与ScrollView共存二三事
[转载请注明出处] = =不是整篇复制就算注明出处了亲... iOS7下滑动返回与ScrollView共存二三事 [前情回顾] 去年的时候,写了这篇帖子iOS7滑动返回.文中提到,对于多页面结构的应用 ...
- 一只代码小白git托管路上的二三事
[经验]一只代码小白git托管路上的二三事 写在前面的话 寒假的时候,娄老师给我们布置了代码托管的作业,并要求把托管地址发给学委.因假期的时候没有带电脑回家,所以只是在手机上草草注册了,也稀里糊涂就将 ...
随机推荐
- Java API —— 泛型
1.泛型概述及使用 JDK1.5以后出现的机制 泛型是一种特殊的类型,它把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候进行.也被称为参数化类型,可以把类型当作参数一样传递过来,在传递过来之 ...
- flex布局全解析
前言 很长一段时间, 我知道有flex这个布局方式, 但是始终没有去学它. 3点原因: 感觉还比较新, 担心兼容性不好. 普通的布局方式能满足我的绝大多数需求. 好像蛮复杂的. 最近由于开发需要, 学 ...
- HDU 2836 Traversal 简单DP + 树状数组
题意:给你一个序列,问相邻两数高度差绝对值小于等于H的子序列有多少个. dp[i]表示以i为结尾的子序列有多少,易知状态转移方程为:dp[i] = sum( dp[j] ) + 1;( abs( he ...
- HDU 4549 M斐波那契数列(矩阵幂)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4549 题意:F[0]=a,F[1]=b,F[n]=F[n-1]*F[n-2]. 思路:手算一下可以发现 ...
- TUXEDO错误解决方案
错误1: root@tfjus:/opt/tuxedo/simpapp# buildclient -f simpcl.c -o simpcl simpcl.c: In function 'main': ...
- 文件大小转换成可显示的Mb,Gb和kb方法
public static String unitConversion(float resource) { String[] unit = new String[] { "B", ...
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
转:http://blog.chinaunix.net/uid-26896647-id-3433968.html 问题描述:如果在一个表中的一个字段上存在'&', '_', '%'这样的特 ...
- “main cannot be resolved or is not a field”解决方案
.layout.main总是在layout上有错误提示波浪线. 解决方法: (1) 删除"import android.R;". (2) 勾选上Eclipse中的"Pro ...
- java常量池
Java的堆是一个运行时数据区,类的(对象从中分配空间.这些对象通过new.newarray. anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放.堆是由垃圾回 ...
- DataGuard相同SID物理Standby搭建
Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...