如果你发现有人在Linux机器上配置了100个VLAN,并且这100个VLAN使用了同一个IP地址和地址前缀,那么结果不外乎两种:
1. 这个管理员在玩什么trick,奇技淫巧式的把戏;
2. 这个管理员对TCP/IP网络一窍不通。
划分VLAN的目的就是为了隔离广播域,即将网络划分为不同的三层,同一个三层意味着同一段IP,不同的三层使用同一个IP地址,谁这么教你的?!
我们看下流程:
通是通了,然而潜在的问题非常严重!这是典型的程序员式的网络配置!一般而言,程序员止步于ping得通。上述配置确实是通了。嗯,然后呢?然后就结束了,千万不要打扰已经可以ping通的程序员,人家毕竟还要编程。
如果有基于VLAN的conntrack怎么办?如果有基于VLAN的状态防火墙策略怎么办?同一个连接往返路径在不同的VLAN中,这个后果随便一个懂网络的都知道吧,如果说程序员止步于通,那么网络人员则把ping通看作仅仅是个开始!
这里还有一个原因,一般程序员面对的都是Eth0,而网络人员面对的都是e0,e1,e2,e3…Ether 0/1,Ether 1/1…S0,S1,S2….这种场景下,以上玩法一下子就露馅了:
程序员止步于通,甩锅开始编程,网络人员开始于通,接锅…非常默契的配合!
没有网络,程序员的代码就是空中楼阁!希望以后包括BAT在内的各大互联网公司在招聘的时候加强对网络技术能力的要求。TS这玩意儿还真不是烧锅炉的活儿!
另外,如果不是真的懂诸如rp_filter,arp_ignore这种参数到底代表什么意思,其执行逻辑到底什么样,就尽量不要去修改它们。