本篇文章纯属蛋疼+yy。
最近总结出了2点。关于日记和笔记的。
笔记和日记都是留给后人和别人的。
原因如下。
日记我以前写过不少,写的是什么现在都还记得基本可以精确到哪个本子的。只是时间不知道了,不过记得一个大概。
改不记得的早就不记得了,在写日记前就忘了。日记唯一的好处就是可以查出准确的时间,不过没什么用。除了写回忆录和留个后人外真的没什么用了。
我自己是从来不看写过的东西,因为一看第一句话就知道写的是什么了,在加上以前文笔很烂。。。所以更懒得看了。
所以说日记还是留给后人和别人的。
关于笔记。
我懒得记笔记,该知道的上课早就记下来了,不知道的那是我没听课,或者是我懒得知道。我回家也不看笔记所以记了就是浪费笔水。
不过别人的笔记很有用。我记得我曾及在上课之间看了我学长的笔记,然后在对照书一看,是什么都豁然开朗,基本那一张的知识掌握了8成。比看老师的ppt有用(ps在bs下老师,ppt上面的确写了很多知识点,不过没写具体的内容。。。我曾经找一个知识点是什么找了30分钟没找到。第二天老师上课用到那页了,然后说这是一个课外内容。。。然后写了2黑板。。。我 艹)。
所以说笔记是留给后人的,找到一本好笔记能让人受益匪浅呀。。。。。
end
本方法是基于路由器如果发现数据包的目的ip不存在于路由表中而且没有配置default-gateway就会丢弃此包和路由器的null0逻辑接口。
所有设置都是建立在cisco路由器上的。
模拟条件是cisco 3640 ios:c3640-js-mz.124-10.bin
模拟器是gns
ps 原来用ios:c3640-ik9o3s-mz.124-10.bin 不知道为什么路由表全对,但是ping不同。。。希望大家能够解答下。
注意这个封ip只是单向封锁。但是单向锁已经足够了 tcp无法建立 udp可以 但是收不到回复。做到双向封锁可以,也很简单 但是会有些问题 后面会去说。

请先看r1 r2 r3 r6, 忽略掉r4和r5, r2(core-route)是我们的核心路由。
然后r1 r2 r3 r6 中都配置相同的路由协议 ospf也 ripv2呀 ergip呀 bgp呀。 不过我用的是ergip 因为比较简单。 不用rip是因为rip 有点问题。 bgp我没做个实验正在想bgp的问题后面会详细的说下bgp的问题,这样 r1和r6是可以互相访问的。
然后我们在r6上开几个环回口(loopback)
int lo 0
ip ad 12.0.0.1 255.255.255.255
int lo 1
ip ad 12.0.0.10 255.255.255.255
r1也是能够访问到12.0.0.1和12.0.0.10的
出于一些原因我们不想让r1访问到 r6的地址(122.0.0.11)
变相的来说就是封锁r6的ip地址 但是我们想访问他的环回口。
一般情况下 我们可以用 access-list解决 在r1上设置
access-list 100 deny ip 122.0.0.11 0.0.0.0 any
access-list 100 premit ip any any
int fa0/0
ip access-group 100 out
ip access-group 100 in
这样 r6就被屏蔽了
如果ip在多点 写access会累死而且access的处理速度很慢的。
不限自己做做实验,写个2000条的access-list。
不用手写 用perl 写一个for循环。 直接telnet 输入。
好了解决的方法就是路由协议来封锁ip。 人畜无害,单一匹配 指哪打哪。
没有任何限制,占用cpu资源低。
目前公网上bgp路由器 都有30w条 条目了 ,他们依然能够在10ms内 把数据包转发出去。
我想3640这个路由器上配置个10000w条路由照样没问题吧?
不做bgp的话路由最多也就1000条 剩下9000条让你随便封ip。9000条还不够? 你就别internet了。 局域网的了。
好了开始介绍了。
r4 r5 出场。
r4和 r2上配置好 ospf ,如果 r1 r2 r3 r6是ospf 那么r4和 r2上的ospf as 要换另外的一个。
r4 r5 之间配置好rip v2. r4在配置好 rip 到ospf的重发布,优先级都调成最高。
这样就可以路由封锁ip了。
我们在r5上录入
ip route 122.0.0.11 255.255.255.255 null 0
tip:null 0 是一个逻辑接口 永远 up 发送过去的包等于直接丢弃,不会出现任何回复, 几乎不占用cup 。
几s 后 r2上就可以看到路由中 122.0.0.11/32的下一跳是r4了。
然后r1继续p r6
r1#p 122.0.0.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 122.0.0.11, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
tracert一下
r1#traceroute 12.0.0.11
Type escape sequence to abort.
Tracing the route to 12.0.0.11
1 1.0.0.2 20 msec 44 msec 32 msec
2 * * *
3 * * *
4 * * *
解释下这个traceroute为什么只有1条 其他都是*。
r2上 做了一条虚假路由 r6是永远到不了 现在变成了 r1 -》 r2 -》r4 -》r5-》丢弃
这样的话至少应该出现r4 和r5的信息呀?
因为r2上面没有做重分布 我也不想做重分布,所以r4的路由表只有r2和r5这2个直连路由和 r5 rip过来的虚假路由,他不知道r1怎么走,所以他先产生了一个icmp超时的数据包 然后丢弃了。
这样就保护了封锁路由器。
下面看看r6能不能访问 r1
r6#traceroute 1.0.0.1
Type escape sequence to abort.
Tracing the route to 1.0.0.1
1 122.0.0.1 44 msec 80 msec 32 msec
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8
p 1.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.0.0.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
在r1和r2之间抓包 看看
No. Time Source Destination Protocol Info
9 7.318000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
10 7.344000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
12 9.327000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
13 9.335000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
15 11.339000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
16 11.370000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
17 13.297000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
18 13.308000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
23 15.339000 122.0.0.11 1.0.0.1 ICMP Echo (ping) request
24 15.381000 1.0.0.1 122.0.0.11 ICMP Echo (ping) reply
r1 能够收到r6的请求 也恢复了请求 但是被r2无情的转发给了r4 然后r5 很高兴的把它丢掉了。。。
工作原理差不多了
开始解释 r4 r5为什么用ripv2
首先用rip就不能用v1 因为v1不支持可变掩码。就会导致ban ip 过多。
第二r5我一直将他当作一台服务器来用。哪位大牛编个程序想什么自动封锁ip呀的。这样不就需要r4做翻译了吗。ospf 难度很大 但是rip就简单多了。 比如gfw。。。
如果只想封锁固定ip 而且数量不多的话 就不用r5了 r4 了 直接在核心路由上面写静态路由到null0口就可以了。
但是如果出来路由很多呢? 3-4台 而且静态封锁ip经常变的话 就需要r4了 因为3-4台你能忙的来但是容易出错。随便找个2800做r4 多好。
如果出口路由在多点10+ 那就有的忙了。
其实我不建议在出口路由上做静态路由来封锁ip,因为出口路由最好不要动,动得越多出问题越多。
如果真要做静态路由还是在backbone上面做吧。
其实最好还是多加一台路由做基于路由协议的扩散吧。
关于双向封锁的问题。
双向封锁可以,
只要加入 ip verify unicast source reachable-via any就ok了
这个是大名鼎鼎的 urpf 简单的说,如果数据包不是从路由表中他应该走的端口发过来 那么这个数据包直接丢失。
但是这样会让路由出现很多问题。 只会出现在数量庞大的路由中。
现在的路由都是多条线路负载均衡的去走 ,很多情况下目前地址真的不是从路由器网这个目标端口发送的那个端口进入的的 而是从该路由的其他端口进来的。
这样那些正常的数据包就被丢掉了。
cisco的文档也说 这个设置会造成很多误杀。。。。
发现的问题 关于bgp的。
bgp我水平真的不好,承认。
但是bgp可以解决很多问题,单公司多地点办公,总部屏蔽其他分部也要屏蔽。
这个用ospf可以, tunnel就可以办到,但是bgp会更好一些。
如果墙呢? 肯定是bgp了。
bgp扩散问题好解决。只要不粗心屏蔽列表是不会外传的。(route map)
问题1 我记得bgp的更新好像是触发更新 但是有个延时。具体延时多少 我记得是1分钟。有人说bgp没有延时是实施更新。
11日更新 今天发现昨天保存的那些图片 都没了,,,,,不知道是什么原因 还好我下载了,,,下面大家看一看吧

不论2012是否为末日或者是一个新的开始,我们注定了都要去面对他。除非你再此之前挂了。
。。。。
最近炒得很热的nasa 太阳 ufo 图片事件 估计大家也都知道了。不知道的话 baidu吧。
最近发现了一个特别的图片

这是 3.8 早上2点5分的 不是-8就是-5.
发现太阳的右边都是噪点了吗?
先不要着急说那是什么。
这是3.8日的图片记录 进0-5点的
不知道你有没有发现 2.15的和2.25的没了。2.55的也没了 。这是很不寻常的 因为这是10分钟一张图片 电脑技术的然后传下来
再看看其他日期的图片 都没有出现这样的情况。
结论可能有如下2点
1.照片被人为删除了, 因为ufo是事实 那些是跃迁出来的。
2.照片压根就没照出来,因为设备有问题出现了大量的噪点。
具体是什么 我也不知道 我没有仔细研究过 大家可以自己分析下,。
发现好久没有写blog,那么闲着没事写一篇吧。
最近的确很忙,研究学校的topology 架构很强大 内接pix 学生网关居然是环路。。。。
目前找到了老师及服务器的出口 学生网络的出口没找到 核心交换机连接到一个hydro 然后就找不到任何ip了。。。。
闲着没事去学校的服务器溜达了一圈,一色linux 系统 debain的 硬盘很大。。。每台大概都是1t左右 一共20多台服务器。
网络设备都是cisco的 3层交换机。
很气人的是 居然用3550 12口交换机做学生的路由 fuk 。。妈的
教师网关是2800.
这几天研究cisco中 ,ccna快看完了 有时间去考个证的了。
昨天又下了1.8g的电子书+2g的视频资料。唉 学习呀。。。。。
还有一点气人的是 tudou的 电子科技大学 ccna 课程视频居然吓编号。。。 气死我了。
下周好像天天test。。。 然后就放假了 爽