交换机双工和接口速率,静态ARP和Proxy ARP配置

交换机配置

交换机之间通过以太网电接口对接时需要协商一些接口参数,比如速率、双工模式等。

配置双工模式

实验内容
某公司刚成立,新组建网络,购置了3台交换机。其中S1和S2为接入层交换机,S3为汇聚层交换机。现在网络管理员需要对3台新交换机进行基本配置,保证交换机间的接口使用全双工模式,并根据需要配置接口速率。

实验拓扑
交换机基础配置拓扑
配置交换机双工模式

[S1]interface g0/0/1
[S1-GigabitEthernet0/0/1]undo negotiation auto  关掉自协商功能
[S1-GigabitEthernet0/0/1]duplex full            指定全双工模式

S2、S3执行同样命令配置

配置接口速率

根据网络需要调整接口速率。由于网络用户较少,配置GE接口速率为100Mbit/s,配置Ethernet接口速率为10Mbit/s。

[S1]interface g0/0/1
[S1-GigabitEthernet0/0/1]undo negotiation auto   关闭接口自协商模式
[S1-GigabitEthernet0/0/1]speed 100               配置以太网接口速率

ARP工作原理

ARP(Address Resolution Protocol)地址解析协议,是用来将IP地址解析为MAC地址的协议。ARP表项可以分为动态和静态两种类型。
Proxy ARP,即代理ARP,当主机上没有配置默认网关地址,发送一个广播ARP请求,使具备Proxy ARP功能的路由器收到这样的请求后,在确认请求地址可达后,使用自身的MAC地址作为该ARP请求的回应,使得处于不同物理网络的同一网段的主机之间可以正常通信。

实验了解ARP

试验内容
本实验模拟公司网络场景。路由器R1是公司的出口网关,连接到外网。公司内所有员工使用10.1.0.0/16网段,通过交换机连接到网关路由器上。网络管理员通过配置静态ARP防止ARP欺骗攻击,保证通信安全。又由于公司内所有主机都没有配置网关,且分属于不同广播域,造成无法正常通信,网络管理员需要通过在路由器上配置ARP代理功能,实现网络内所有主机的通信。

实验拓扑
理解ARP及ARP Proxy
在PC主机上查看ARP表

PC>arp -a
Internet Address    Physical Address    Type
PC>
查看到ARP表项为空,没有任何条目在里面

配置路由器接口IP地址口,查看R1的ARP表

[R1]disp arp all
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        		INTERFACE   VPN-INSTANCE  VLAN/CEVLAN PVC                      
------------------------------------------------------------------------------
10.1.1.254      00e0-fc8d-36f0     I     -         GE0/0/1
10.1.2.254      00e0-fc8d-36f1     I     -         GE0/0/2
-----------------------------------------------------------------------------	-
Total:2         Dynamic:0       Static:0     Interface:2 
ARP表中仅含有R1的两个接口IP地址及其对应的MAC地址的ARP表项,没有其他条目

PC1执行ping R1命令,PC和R1都会从这一对信息中知道对方的IP地址和MAC地址的对应关系,并将它写到各自的ARP表中。

PC>ping 10.1.1.254

Ping 10.1.1.254: 32 data bytes, Press Ctrl_C to break
From 10.1.1.254: bytes=32 seq=1 ttl=255 time=47 ms
From 10.1.1.254: bytes=32 seq=2 ttl=255 time=31 ms
From 10.1.1.254: bytes=32 seq=3 ttl=255 time=32 ms
From 10.1.1.254: bytes=32 seq=4 ttl=255 time=46 ms
From 10.1.1.254: bytes=32 seq=5 ttl=255 time=32 ms

--- 10.1.1.254 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 31/37/47 ms

PC>
PC>arp -a

Internet Address    Physical Address    Type
10.1.1.254          00-E0-FC-8D-36-F0   dynamic

PC>

查看路由器的ARP表

[R1]disp arp all
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE VLAN/CEVLAN PVC                      
------------------------------------------------------------------------------
10.1.1.254      00e0-fc8d-36f0            I -         GE0/0/1
10.1.1.1        5489-981a-697e  19        D-0         GE0/0/1
10.1.2.254      00e0-fc8d-36f1            I -         GE0/0/2
------------------------------------------------------------------------------
Total:3         Dynamic:1       Static:0     Interface:2    
[R1]

可以观察到,上述出现在PC和R1里面的条目都是动态生成的,如果一段时间之后没有更新,便会从上述ARP表中删除。

配置静态ARP

ARP协议的工作行为往往被攻击者利用。如果主机对网关R1进行ARP攻击,向网关R1通告含错误影像的ARP通告,导致网关路由器上使用不正确的动态ARP映射条目,会造成其他主机无法与网关正常通信。

模拟ARP攻击
使用命令假设路由器是通过一个ARP攻击报文获得的映射条目

[R1]arp static 10.1.1.1 5489-981a-697d
[R1]dis arp all
IP ADDRESS      MAC ADDRESS     EXPIRE(M) TYPE        INTERFACE   VPN-INSTANCE   VLAN/CEVLAN PVC                      
------------------------------------------------------------------------------
10.1.1.254      00e0-fc8d-36f0            I -         GE0/0/1
10.1.2.254      00e0-fc8d-36f1            I -         GE0/0/2
10.1.1.1        5489-981a-697d            S--
------------------------------------------------------------------------------
Total:3         Dynamic:0       Static:1     Interface:2    
[R1]
[R1]ping 10.1.1.1
  PING 10.1.1.1: 56  data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out

  --- 10.1.1.1 ping statistics ---
    5 packet(s) transmitted
    0 packet(s) received
    100.00% packet loss
    可以观察到,PC-1与网关之间无法通信

公司网络中出现ARP攻击的情况是比较常见的,防御的方法之一是在ARP表中手工添加ARP映射。此种方法的有点是简单易操作,不足之处是工作量大。

配置Proxy ARP

默认情况下,路由器的ARP代理功能是关闭的。
查看PC2和PC3之间的连接情况

PC>ping 10.1.2.3

Ping 10.1.2.3: 32 data bytes, Press Ctrl_C to break
From 10.1.1.2: Destination host unreachable
From 10.1.1.2: Destination host unreachable
From 10.1.1.2: Destination host unreachable
From 10.1.1.2: Destination host unreachable
From 10.1.1.2: Destination host unreachable

--- 10.1.2.3 ping statistics ---
  5 packet(s) transmitted
  0 packet(s) received
  100.00% packet loss
  可以观察到,PC-2和PC-3无法连通

但R1如果开启ARP代理之后,能否解决这个问题?

[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]arp-proxy enable

配置完成后,测试PC2和PC3之间的连通情况

PC>ping 10.1.2.3

Ping 10.1.2.3: 32 data bytes, Press Ctrl_C to break
From 10.1.2.3: bytes=32 seq=1 ttl=127 time=78 ms
From 10.1.2.3: bytes=32 seq=2 ttl=127 time=47 ms
From 10.1.2.3: bytes=32 seq=3 ttl=127 time=62 ms
From 10.1.2.3: bytes=32 seq=4 ttl=127 time=78 ms
From 10.1.2.3: bytes=32 seq=5 ttl=127 time=63 ms

--- 10.1.2.3 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 47/65/78 ms

可以观察到,通信正常。但是PC-2的ARP表PC-3的MAC地址并非是PC-3的MAC地址,而是网关R1的GE0/0/1接口的MAC地址。

在PC-2上查看ARP表
PC>arp -a

Internet Address    Physical Address    Type
10.1.1.254          00-E0-FC-51-64-23   dynamic
10.1.2.3            00-E0-FC-51-64-23   dynamic

开启ARP代理后,PC-2访问PC-3的工作过程如下:
R1的接口GE0/0/1开启了ARP代理后,收到PC-2的ARP广播请求报文后,R1根据ARP请求中的目标IP地址10.1.2.3查看自身的路由表中是否有对应的目标网络,R1的GE0/0/2接口就是10.1.2.0/24网络,所以R1直接把自身的GE0/0/1接口的MAC地址通过ARP响应返回给PC-2,PC-2接收到此ARP响应后使用该MAC作为目标硬件地址发送报文给R1,R1收到后再把报文转发给PC-3。
同理,PC-3要能访问R1连接的其他广播域的PC,需要在R1的GE0/0/2接口上开启ARP代理功能。