Author Archives: campotang

Junos12.1 新增刷新小功能

#Junos# 12.1 新增 refresh功能。

例:lab@MX80> show interfaces fe-0/1/0 | refresh 1 即可每秒刷新一次,查看接口下的数据,不用再用上下箭头+Enter了,是不是非常的人性化呢?

Cisco MTU 和 Juniper MTU的不同

MTU Juniper
NOTE:实际传输的帧包含CRC位,这不计算在在media MTU内。例如,吉比特以太口的media MTU指定为1500字节,但是实际最大可以传输的帧大小1504字节。所以你在与其他厂家互联的时候,可能要考虑到计算额外的字节。以太口的物理MTU不包含4字节的以太帧FCS字段。
如果没有配置MPLS MTU,那么JUNOS会从物理接口MTU计算出MPLS MTU,根据这个值,Junos减去特定封装开销和PFE可能push最大数量的标签。目前Junos最多可以提供三层标签,每层标签4个字节总共12字节。

  • 默认物理接口MTU = 默认IP MTU + 二层封装开销
  • 默认IP MTU = 默认物理接口MTU – 二层封装开销
  • MPLS MTU = 物理接口MTU – 二层封装开销 – 12字节
  • 如果IP MTU设置了,那么MPLS MTU等于IP MTU+20字节IP包头

Note: IP MTU – 只有负载不包含IP头部
如果你想改变物理接口MTU,那么你要保证大小大于等于协议MTU+封装开销

Media MTU Sizes by Interface Type for M5, M7i, M10, M10i, M20, and M40 Routers
QQ截图20131203183601

MTU Cisco
Cisco也使用以下不同MTU值来用于不同用途

  • 接口MTU使用接口下的MTU命令来设置
  • IP MTU使用接口下的IP MTU命令来设置
  • MPLS MTU使用接口下的MPLS MTU命令来设置

使用接口下的MTU命令改变MTU值会改变相应协议的MTU值(也就ip mtu命令)。但是使ip mtu命令改变协议mtu值不会改变接口的MTU值。以下是Cisco计算MTU方法

  • Default media MTU –> Default IP MTU (L2 encapsulation overhead not included)
  • MPLS MTU –> MPLS overhead + Default IP MTU

 
Cisco 和Juniper路由器不同的ping实现
从Juniper路由器的以太接口使用ping加上size 1000命令
1042 bytes on wire
– 14 bytes Ethernet header
– 20 bytes IP header
– 8 bytes ICMP header
– 1000 bytes ICMP Data (使用size关键字指定)
Juniper实现方式与WinXP是一样的,IP和ICMP头部加上指定的size大小,所以1000变成了1028的IP包。
从Cisco路由器的以太接口使用ping加上size 1000命令
1014 bytes on wire
– 14 bytes Ethernet header
– 1000 bytes IP header, ICMP header and ICMP Data
->972 bytes ICMP Data(1000-20-8=972)

我们使用一台Juniper设备与一台Cisco直接连接来测试一下

interface FastEthernet0/0
ip address 12.1.1.1 255.255.255.0
ip mtu 1000
duplex auto
speed auto
Cisco#sh ip int f0/0 | i MTU
MTU is 1000 bytes

从Cisco使用 ping juniper设备带上DF位,最大的ping 大小你可以指定1000
Cisco#ping 12.1.1.2 size 1001 df-bit
Type escape sequence to abort.
Sending 5, 1001-byte ICMP Echos to 12.1.1.2, timeout is 2 seconds:
Packet sent with the DF bit set
.
Success rate is 0 percent (0/1)
Cisco#ping 12.1.1.2 size 1000 df-bit
Type escape sequence to abort.
Sending 5, 1000-byte ICMP Echos to 12.1.1.2, timeout is 2 seconds:
Packet sent with the DF bit set
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/16/36 ms
Cisco#
我们再从Juniper路由器上面ping Cisco。最大的大小为972。这样我们可以知道Juniper Ping的实现是指定ICMP大小而不是整个IP包的大小
root@Juniper> ping 12.1.1.1 size 973 do-not-fragment
PING 12.1.1.1 (12.1.1.1): 973 data bytes
^C
— 12.1.1.1 ping statistics —
2 packets transmitted, 0 packets received, 100% packet loss
root@olive> ping 12.1.1.1 size 972 do-not-fragment
PING 12.1.1.1 (12.1.1.1): 972 data bytes
980 bytes from 12.1.1.1: icmp_seq=0 ttl=255 time=27.549 ms
980 bytes from 12.1.1.1: icmp_seq=1 ttl=255 time=34.765 ms
^C
— 12.1.1.1 ping statistics —
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 27.549/31.157/34.765/3.608 ms

Cisco路由器Archive的应用

111

记得我在刚开始接触JUNOS的时候,整个过程都让人感觉兴奋与激动;与IOS配置即时生效的特性相比,JUNOS的commit配置激活机制能更有效的降低人为失误所造成的网络故障。你所输入的所有配置对于JUNOS而言仅仅是一个待选配置(Candidate Configuration),仅当你确认全部配置无误而进行commit提交后,这份待选配置文件才被转变成为当前的活动配置文件(Active Configuration)生效,而你接着在它的副本基础上通过继续对路由器进行配置而创建新的一份待选配置。当然,虽然待选配置经过确认才会被commit激活,然而并不表示你的配置就一定会使得网络状态按照你设想的结果运行。你同样有可能会面临由于配置失误(不是输入失误)而造成的各种问题。此时你或者需要将配置回退到前一个活动配置的版本上面去。

JUNOS自动为你保存之前50次commit后创建的活动配置副本,其中最后一次被commnit的副本也就是当前运行的配置编号为0,而被取代的上一个活动配置编号为1,以此类推。因此假如你发现commit以后网络出现问题而希望回退到上一个配置版本的话,那么你只需要使用rollback 1,然后重新commit一次即可。
JUNOS中可以通过rollback回退到你之前的candidate configuration中
lab@ITAA-JUNOS-102-51# rollback ?
Possible completions:
Execute this command
0 2011-07-11 14:12:56 UTC by lab via cli
1 2011-07-11 14:12:42 UTC by lab via cli
2 2011-05-05 17:19:22 UTC by lab via cli
3 2011-05-05 17:18:37 UTC by lab via cli
4 2011-05-05 17:18:09 UTC by lab via cli
5 2011-04-27 07:54:29 UTC by lab via cli
6 2011-04-22 08:53:33 UTC by lab via cli
7 2011-04-14 06:51:29 UTC by lab via cli
8 2011-04-14 06:49:15 UTC by lab via cli
9 2011-04-14 06:49:04 UTC by lab via cli
10 2011-04-14 06:39:43 UTC by lab via cli
11 2002-03-08 18:41:54 UTC by lab via cli
12 2002-03-08 18:34:45 UTC by lab via cli
13 2002-03-08 18:34:32 UTC by lab via cli
14 2011-03-27 06:59:19 UTC by lab via cli
15 2011-03-19 18:19:05 UTC by lab via cli
16 2011-03-19 18:14:30 UTC by lab via cli
17 2011-03-19 18:12:18 UTC by lab via cli
18 2011-03-19 18:08:23 UTC by lab via cli
19 2011-03-19 18:06:59 UTC by lab via cli
20 2011-03-19 18:04:49 UTC by root via cli
21 2011-03-19 18:03:51 UTC by root via cli
22 2011-03-19 18:00:11 UTC by root via cli
23 2011-03-19 17:59:40 UTC by root via cli
24 2011-03-19 17:58:16 UTC by root via cli
25 2011-03-19 17:52:12 UTC by root via cli
26 2011-03-19 17:49:51 UTC by root via cli
27 2011-03-19 17:46:50 UTC by root via cli
28 2011-03-09 00:10:44 UTC by root via cli
29 2011-03-08 23:59:42 UTC by root via cli
30 2011-03-08 23:58:18 UTC by root via cli
—(more 62%)—
对于学习过JUNOS的会员来说,这个已经是陈词滥调了,我们想在备份功能比较弱的cisco上面做,是否可以实现呢?有!cisco的archive功能可以提供手工或者自动的配置文件到路由器本地的文件系统中,如flash、disk中。这个功能对于没有专门网管软件定期备份配置的小公司来说极其有用。
要想启用特性,我们进入到archive配置模式,指定archive配置存储的路径。在下面的例子中,我们在flash中创建一个叫archive的目录
1、
ITAA-TJ-GW2811#mkdir archive
Create directory filename [archive]?
Created dir flash:archive
ITAA-TJ-GW2811#dir
Directory of flash:/
1 -rw- 59455672 Jun 1 2010 00:03:20 +08:00 c2800nm-adventerprisek9-mz.124-24.T2.bin
65 drw- 0 Jul 19 2011 20:49:36 +08:00 archive
ITAA-TJ-GW2811(config)#archive
ITAA-TJ-GW2811(config-archive)#path flash:/archive/
ITAA-TJ-GW2811(config-archive)#maximum 14
ITAA-TJ-GW2811(config-archive)#?
Archive configuration commands:
default Set a command to its defaults
exit Exit from archive configuration mode
log Logging commands
maximum maximum number of backup copies
no Negate a command or set its defaults
path path for backups
rollback Rollback parameters
time-period Period of time in minutes to automatically archive the running-config
write-memory Enable automatic backup generation during write memory
ITAA-TJ-GW2811(config-archive)#time-period ?
Number of minutes to wait between archive creation
ITAA-TJ-GW2811(config-archive)#time-period 10080
这里,我们可以设置存储配置的最大数量,也可以使用time-period启动自动备份功能,本例中我们每周备份一次(24*7*60=10080分钟)

我们可以通过archive config备份当前配置
ITAA-TJ-GW2811#archive config
查看当前archive
ITAA-TJ-GW2811#show archive
The maximum archive configurations allowed is 14.
There are currently 1 archive configurations saved.
The next archive file will be named flash:/archive/-1
Archive # Name
1 flash:/archive/-0 <- Most Recent
2
3
4
5
6
7
8
9
10
11
12
13
14
ITAA-TJ-GW2811#dir flash:/archive
Directory of flash:/archive/
67 -rw- 27918 Jul 19 2011 21:01:04 +08:00 -0
ITAA-TJ-2011-GW2811(config)#hostname ITAA-TJ-2811
我们更改一下主机名,来测试
ITAA-TJ-2811(config)#end
ITAA-TJ-2811#archive config
我们可以通过命令查看两个配置的差异
ITAA-TJ-2811#show archive config differences flash:/archive/-0 flash:/archive/-1
Contextual Config Diffs:
+hostname ITAA-TJ-2811
-hostname ITAA-TJ-GW2811
表明archive/-1的配置多了hostname ITAA-TJ-2811,少了ITAA-TJ-GW2811
通过more命令查看配置文件
ITAA-TJ-2811#more flash:/archive/-0
!
! Last configuration change at 21:00:54 GMT Tue Jul 19 2011 by admin01
! NVRAM config last updated at 14:57:28 GMT Mon Jul 18 2011 by root
!
version 12.4
parser config cache interface
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ITAA-TJ-GW2811
!
boot-start-marker
boot-end-marker
!
(下配置省略)
如果我们想回退的之前,最快的方法就是使用下面的命令
ITAA-TJ-2811#configure replace flash:/archive/-0
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: y 注意:cisco路由器及时生效,常用JUNOS的人做这步的时候请慎重。
Total number of passes: 1
Rollback Done
ITAA-TJ-GW2811#
这时我们看到主机名已经改回来了。
当然这个只是running configuration更改了,如果更改start-up configuration,还得保存一下
ITAA-TJ-GW2811#copy running-config startup-config

在本日志的最后,我们再介绍一个非常用的archive特性,它能够记录用户敲的每条命令
Hidekeys命令会检查密码以及其他一些敏感信息
ITAA-TJ-GW2811(config)#archive
ITAA-TJ-GW2811(config-archive)#log
ITAA-TJ-GW2811(config-archive-log-cfg)#logging enable
ITAA-TJ-GW2811(config-archive-log-cfg)#logging size 500
ITAA-TJ-GW2811(config-archive-log-cfg)#hidekeys
ITAA-TJ-GW2811#show archive log config all
idx sess user@line Logged command
1 1 admin01@vty0 | logging enable
2 1 admin01@vty0 | logging size 500
3 1 admin01@vty0 | hidekeys