您的位置:首页 > 运维架构 > Linux

Linux-常用命令大全

2014-08-08 17:46 471 查看
数据包在网络上寻址时,需要靠OSI七层模型中的第二层数据链路层地址和第三层网络层地址来完成,只要完成这两个地址的封装,数据包便能够发往目的地,也必须完成这两个地址的封装,数据包才能发往目的地。
[align=left]在当前的网络中,第三层网络层地址就是IP地址,主机之间要通信,必须封装好双方的IP地址,这是无可争议的;IP地址在主机通信的过程中,不会因为网络设备或物理介质的改变而改变。而第二层数据链路层地址则会因为链路介质的不同而发生变化,并且在主机通信中,链路层地址会不断发生变化,因为链路层地址只在同一段介质中才有效,如果介质是多路访问类型,如以太网,则只在同一IP网段有效。在这里需要讨论的是代理ARP,故介质默认为以太网。[/align]
[align=left]如果通信的主机在同一网段,源主机则直接请求目标主机的二层链路地址(以太网为MAC地址),其它介质的网络同样也是直接请求目标主机的二层链路地址,只不过不叫MAC地址;如果得不到二层链路地址的回复,数据包就不能完成封装,就不能发送。如果通信的主机不在同一网段,必须经过路由后才能到达目标的话,那么源主机就无法直接请求目标主机的二层链路地址,因为请求是用广播发送的,所以,此时源主机就直接请求网关的二层链路地址,将数据包的目标地址封装为网关的二层链路地址,从而将数据包交给网关处理,如果是路由器需要发送数据包到远程网络,同样的道理,路由器将数据包的二层目标地址封装为下一跳的二层链路地址,从而交给下一跳路由器来处理。[/align]
[align=left]当向网络中发送广播请求目标的二层链路地址时,如果收到的路由器有去往目标网络的路由,那么路由器将会使用自己接口的二层链路地址来回复数据源,声称自己的二层链路地址就是目标的二层链路地址,这就是路由器的代理ARP功能。主机收到路由器的回复后,便将数据包的目标二层链路地址封装为路由器的二层链路地址,从而将数据包发到路由器,因为路由器是有到目标网络的路由的,所以通信不会有问题。[/align]
[align=left]不难发现,当主机需要将数据包发到远程网络时,因为开启了代理ARP的路由器会以自己的二层链路地址充当目标的二层链路地址,所以主机不需要配置网关,就能够将去往远程网络的数据包发到路由器,最终完成通信。[/align]
[align=left][/align]
[align=left]配置代理ARP[/align]
[align=left]说明:代理ARP在路由器接口上默认是开启的,并且是基于接口打开或关闭的。[/align]



[align=left] [/align]
[align=left][/align]
[align=left]说明:以上图为例,测试代理ARP,其中R3和R4的接口F0/1在10.1.2.0/24网段,而R1,R2和R3的接口F0/0在10.1.1.0/24网段,但由于R1的接口F0/0的掩码为16位,所以R1会认为整个10.1.0.0/16都是接口F0/0的直连网段,其中包含10.1.2.0/24;但是R2的接口F0/0的掩码为24位,所以R2会认为10.1.2.0/24是在远程网络。[/align]
[align=left][/align]
[align=left]1.配置基础网络环境[/align]
[align=left](1)配置R1:[/align]
[align=left]r1(config)#int f0/0[/align]
[align=left]r1(config-if)#ip add 10.1.1.1 255.255.0.0[/align]
[align=left]r1(config-if)#no sh[/align]
[align=left]说明:R1配置网段10.1.0.0/16,其中包含网段10.1.1.0/24和10.1.2.0/24。[/align]
[align=left][/align]
[align=left](2)配置R2:[/align]
[align=left]r2(config)#int f0/0[/align]
[align=left]r2(config-if)#ip add 10.1.1.2 255.255.255.0[/align]
[align=left]r2(config-if)#no sh[/align]
[align=left]r2(config-if)#exit[/align]
[align=left]r2(config)#ip route 10.1.2.0 255.255.255.0 f0/0[/align]
[align=left]说明:R2直连网段10.1.1.0/24,并且通过配置静态路由将去往远程网段10.1.2.0/24定义为直连网段。[/align]
[align=left][/align]
[align=left](3)配置R3:[/align]
[align=left]r3(config)#int f0/0[/align]
[align=left]r3(config-if)#ip add 10.1.1.3 255.255.255.0[/align]
[align=left]r3(config-if)#no sh[/align]
[align=left]r3(config-if)#exit[/align]
[align=left]r3(config)#int f0/1[/align]
[align=left]r3(config-if)#ip add 10.1.2.3 255.255.255.0[/align]
[align=left]r3(config-if)#no sh[/align]
[align=left]r3(config-if)#exit[/align]
[align=left]说明:R3同时与10.1.1.0/24和10.1.2.0/24直连。[/align]
[align=left][/align]
[align=left](4)配置R4:[/align]
[align=left]r4(config)#int f0/1[/align]
[align=left]r4(config-if)#ip add 10.1.2.4 255.255.255.0[/align]
[align=left]r4(config-if)#no sh[/align]
[align=left]r4(config-if)#exit[/align]
[align=left]r4(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.3[/align]
[align=left]说明:R4连10.1.2.0/24。[/align]
[align=left][/align]
[align=left]2.测试开启代理ARP的情况[/align]
[align=left]说明:路由器接口默认已经开启代理ARP,无需再开。[/align]
[align=left](1)查看R1的路由情况:[/align]
[align=left]r1#sh ip route [/align]
[align=left]Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP[/align]
[align=left]D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area [/align]
[align=left]N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2[/align]
[align=left]E1 - OSPF external type 1, E2 - OSPF external type 2[/align]
[align=left]i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2[/align]
[align=left]ia - IS-IS inter area, * - candidate default, U - per-user static route[/align]
[align=left]o - ODR, P - periodic downloaded static route[/align]
[align=left][/align]
[align=left]Gateway of last resort is not set[/align]
[align=left][/align]
[align=left]10.0.0.0/16 is subnetted, 1 subnets[/align]
[align=left]C 10.1.0.0 is directly connected, FastEthernet0/0[/align]
[align=left]r1#[/align]
[align=left]说明:可以看见,R1与10.1.0.0/16直连,R1会认为10.1.2.0/24也是自己的直连网段,所以我们不用写到10.1.2.0/24的静态路由。[/align]
[align=left](2)测试R1到10.1.2.0/24的连通性:[/align]
[align=left]r1#ping 10.1.2.4[/align]
[align=left][/align]
[align=left]Type escape sequence to abort.[/align]
[align=left]Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:[/align]
[align=left]!!!!![/align]
[align=left]Success rate is 100 percent (5/5), round-trip min/avg/max = 48/79/180 ms[/align]
[align=left]r1#[/align]
[align=left]说明:因为R1认为自己直连10.1.0.0/16网段,所以在向10.1.2.0/24发送数据包时,直接在本网段广播请求目标二层链路地址,这个广播被R3收到,又因为R3能够到达10.1.2.0/24,并且开启代理ARP功能,所以R3将自己接口的二层链路地址回复给R1,最终R1将去往10.1.2.0/24的数据包封装为R3的二层链路地址,从而将数据包交给R3处理,最后网络通信成功。[/align]
[align=left][/align]
[align=left](3)查看R4(10.1.2.4)的F0/1的MAC地址与R3(10.1.1.3)的F0/0的MAC地址,并且查看R1去往10.1.2.4的ARP表:[/align]
[align=left][/align]
[align=left]R4:[/align]
[align=left]r4#sh interfaces f0/1[/align]
[align=left]FastEthernet0/1 is up, line protocol is up [/align]
[align=left]Hardware is Gt96k FE, address is c000.1370.0001 (bia c000.1370.0001)[/align]
[align=left]Internet address is 10.1.2.4/24[/align]
[align=left][/align]
[align=left]R3:[/align]
[align=left]r3#sh int f0/0[/align]
[align=left]FastEthernet0/0 is up, line protocol is up [/align]
[align=left]Hardware is Gt96k FE, address is c000.1124.0000 (bia c000.1124.0000)[/align]
[align=left]Internet address is 10.1.1.3/24[/align]
[align=left][/align]
[align=left]R1:[/align]
[align=left]r1#sh arp [/align]
[align=left]Protocol Address Age (min) Hardware Addr Type Interface[/align]
[align=left]Internet 10.1.1.3 8 c000.1124.0000 ARPA FastEthernet0/0[/align]
[align=left]Internet 10.1.1.1 - c000.141c.0000 ARPA FastEthernet0/0[/align]
[align=left]Internet 10.1.2.4 4 c000.1124.0000 ARPA FastEthernet0/0[/align]
[align=left]r1#[/align]
[align=left][/align]
[align=left]说明:从结果中可以看出,R1获得的10.1.2.4的MAC地址并非目标R4的MAC地址,而是R3的接口F0/0的MAC地址,这就是由于R3的代理ARP功能,使得R3会代替目标R4回复源主机的二层链路地址请求。[/align]
[align=left][/align]
[align=left](4)查看R2的路由表并测试到10.1.2.0/24的连通性:[/align]
[align=left]r2#sh ip route [/align]
[align=left]Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP[/align]
[align=left]D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area [/align]
[align=left]N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2[/align]
[align=left]E1 - OSPF external type 1, E2 - OSPF external type 2[/align]
[align=left]i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2[/align]
[align=left]ia - IS-IS inter area, * - candidate default, U - per-user static route[/align]
[align=left]o - ODR, P - periodic downloaded static route[/align]
[align=left][/align]
[align=left]Gateway of last resort is not set[/align]
[align=left][/align]
[align=left]10.0.0.0/24 is subnetted, 2 subnets[/align]
[align=left]S 10.1.2.0 is directly connected, FastEthernet0/0[/align]
[align=left]C 10.1.1.0 is directly connected, FastEthernet0/0[/align]
[align=left]r2#r2#ping 10.1.2.4[/align]
[align=left][/align]
[align=left]Type escape sequence to abort.[/align]
[align=left]Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:[/align]
[align=left]!!!!![/align]
[align=left]Success rate is 100 percent (5/5), round-trip min/avg/max = 12/80/156 ms[/align]
[align=left]r2#[/align]
[align=left]说明:因为R2路由表中的静态路由指示去往10.1.2.0/24为直连网段,所以同上原因,因为R3代理ARP的功能,最后与10.1.2.0/24的网络通信正常。[/align]
[align=left][/align]
[align=left]3.测试关闭代理ARP的情况[/align]
[align=left](1)关闭R3接口F0/0的代理ARP功能:[/align]
[align=left]r3(config)#int f0/0[/align]
[align=left]r3(config-if)#no ip proxy-arp[/align]
[align=left]说明:关闭了R3接口F0/0的代理ARP功能,要开启,输入命令ip proxy-arp。[/align]
[align=left][/align]
[align=left](2)查看R1与10.1.2.0/24的连通性和ARP情况:[/align]
[align=left]r1#ping 10.1.2.4 [/align]
[align=left][/align]
[align=left]Type escape sequence to abort.[/align]
[align=left]Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:[/align]
[align=left].....[/align]
[align=left]Success rate is 0 percent (0/5)[/align]
[align=left]r1#[/align]
[align=left]r1#sh arp [/align]
[align=left]Protocol Address Age (min) Hardware Addr Type Interface[/align]
[align=left]Internet 10.1.1.3 0 c000.1124.0000 ARPA FastEthernet0/0[/align]
[align=left]Internet 10.1.1.1 - c000.141c.0000 ARPA FastEthernet0/0[/align]
[align=left]Internet 10.1.2.4 0 Incomplete ARPA [/align]
[align=left]r1#[/align]
[align=left]说明:可以看见,当R3关闭了代理ARP功能后,R1不能与10.1.2.0/24通信,因为R1认为目标与自己直连,所以会在直连网段直接请求目标的二层链路地址,但R3关闭了代理ARP功能,即使自己与目标可达,但也不会使用自己的MAC地址去回复R1,最后R1也无法获得任何目标的MAC地址,ARP表中显示10.1.2.4的记录为Incomplete,最终与10.1.2.0/24的通信以失败告结。[/align]
[align=left][/align]
[align=left](3)查看R2与10.1.2.0/24的连通性:[/align]
[align=left]r2#ping 10.1.2.4[/align]
[align=left][/align]
[align=left]Type escape sequence to abort.[/align]
[align=left]Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:[/align]
[align=left].....[/align]
[align=left]Success rate is 0 percent (0/5)[/align]
[align=left]r2#[/align]
[align=left]r2#sh arp [/align]
[align=left]Protocol Address Age (min) Hardware Addr Type Interface[/align]
[align=left]Internet 10.1.1.2 - c000.13e8.0000 ARPA FastEthernet0/0[/align]
[align=left]Internet 10.1.1.3 4 c000.1124.0000 ARPA FastEthernet0/0[/align]
[align=left]Internet 10.1.2.4 0 Incomplete ARPA [/align]
[align=left]r2#[/align]
[align=left]说明:虽然R2拥有到10.1.2.0/24的静态路由,但因为静态路由指定去往目标为直连接口,所以R2会认为10.1.2.0/24与接口F0/0直连,由于R3关闭了代理ARP,R2与R1一样,不能与10.1.2.0/24通信。[/align]
[align=left][/align]
[align=left](4)更改R2的静态路由方式,并查看路由表:[/align]
[align=left]r2(config)#no ip route 10.1.2.0 255.255.255.0 f0/0[/align]
[align=left]r2(config)#ip route 10.1.2.0 255.255.255.0 10.1.1.3 [/align]
[align=left]r2(config)#exi[/align]
[align=left]r2#sh ip route [/align]
[align=left]Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP[/align]
[align=left]D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area [/align]
[align=left]N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2[/align]
[align=left]E1 - OSPF external type 1, E2 - OSPF external type 2[/align]
[align=left]i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2[/align]
[align=left]ia - IS-IS inter area, * - candidate default, U - per-user static route[/align]
[align=left]o - ODR, P - periodic downloaded static route[/align]
[align=left][/align]
[align=left]Gateway of last resort is not set[/align]
[align=left][/align]
[align=left]10.0.0.0/24 is subnetted, 2 subnets[/align]
[align=left]S 10.1.2.0 [1/0] via 10.1.1.3[/align]
[align=left]C 10.1.1.0 is directly connected, FastEthernet0/0[/align]
[align=left]r2#[/align]
[align=left]说明:R2将去往目标10.1.2.0/24的静态路由改为下一跳指向10.1.1.3(R3),所以R2并不会再认为10.1.2.0/24是自己的直连网段,因此在需要与10.1.2.0/24通信时,会请求下一跳地址10.1.1.3的二层链路地址,最终将数据包交给10.1.1.3(R3)处理。[/align]
[align=left][/align]
[align=left](5)查看更改静态路由后R2与10.1.2.0/24的通信情况:[/align]
[align=left]r2#ping 10.1.2.4[/align]
[align=left][/align]
[align=left]Type escape sequence to abort.[/align]
[align=left]Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:[/align]
[align=left]!!!!![/align]
[align=left]Success rate is 100 percent (5/5), round-trip min/avg/max = 12/68/192 ms[/align]
[align=left]r2#[/align]
[align=left]说明:更改静态路由到达目标网络为下一跳地址后,R2不再直接请求目标10.1.2.4的二层链路地址,而是改为请求下一跳地址的二层链路地址,因为请求的地址10.1.1.3,所以R3作出了回应,最后R2与目标通信成功。[/align]
[align=left][/align]
[align=left]说明:由以上情况可以看出,当配置静态路由时,如果指定远程目标为直连,则可能因为下一跳路由器关闭了代理ARP而造成通信失败,但静态路由指定为下一跳地址时,通信不会受到任何影响。[/align]
[align=left]代理ARP在没有配置默认网关或不使用路由的网络中,比较有优势。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: