JNCIS-ER 考试学习笔记【更新中】

term 是策略中的最基础,一个term中包含多个匹配条件或多个动作,当所有匹配条件都被匹配时,执行指定的所有动作。一个term可以认为是CISCO的一行。

一个策略中可以包含多个term,路由器按顺序执行这些term。可以在策略配置层次下使用insert命令调整各个term的顺序。一个term被被匹配并执行后,如果执行动作不是next term,则路由器停止策略评估,不再继续。

多个策略可以组成策略链。

在from中,一个匹配条件里的多个参数间是逻辑或(因此同一匹配条件里的各种参数至少要有一个被匹配才能认为被匹配),不同条件间是逻辑与。

与CISCO一样,策略中有默认缺省动作。丢弃。

策略链:

一个策略链中包含多个策略,每个策略都被集中放置在policy-option中,这些策略的顺序取决于应用时你组织的策略链,而不是在policy-option中的顺序。

策略链中,当被执行了一个终结动作时(接受、拒绝、丢弃等)策略链即中止。在策略链中最后还存在一个缺省策略。

路由策略:

导入策略,影响路由进入路由表及本地路由选择进程。

导出策略,影响出去的路由及进入转发表的条目。只有活动路由才有资格被导出策略影响。导出策略不影响本地路由表。

针对OSPF的路由策略,只能用在协议层次上,而不能用在邻居、group上,因为要维护全局LSA数据库。

路由器只会使用最精确的策略,只有当低层次没有明确的策略时才会继承高级别的策略。

RIP的导入导出策略:

默认接受所有明确的RIP邻居发来的路由,默认不发送任何路由给其他路由器。因此配置RIP,需要明确配置export策略。

rip的导入策略可以配置在协议或邻居级别层次,但导出策略只能配置在组级别。

OSPF的导入导出策略:

默认接受所有路由。由于OSPF属于链路状态协议,各路由器都维护这一致的LSA数据库,由LSA数据库来产生路由,因此无法对路由进行策略来限制路由被装入路由表,更不能对LSA进行限制,因此OSPF的导出策略仅仅是为了限制其他路由源通过OSPF发布到其他路由器上。

OPSF的路由策略只能设置在协议层次级别上。

BGP的导入导出策略:

接受所有,导出活动

—————

路由策略可匹配的选项有:协议类型、前缀列表、协议的属性、下一跳等。

前缀列表可以用在路由策略、firewall filters ,但是不能在基于状态的防火墙过滤上

前缀列表、路由过滤器可以采用的匹配参数:

longer,orlonger,exact

upto:一个连续的区间,包括头尾。注意匹配中并不是说是连续的IP地址,而是在那个范围的子网且掩码(前缀长度)也要在范围内。比如192.168.0.0/16 upto /24 中 192.168.65.22/32就不再这个范围内。

prefix-length-range :指定前缀的子网且前缀长度(掩码)是在指定的区间内的。注意不包括前缀自身,但区间长度的头尾都包括。例如:192.168.0.0/16 prefix-length-range /20-/24 ,192.168.0.0/16不包括,192.168.1.0/17不包括, 192.168.128.0/21包括,192.168.100.0/24也包括。

 through:  包括头尾,然后从头开始算,每一个都是前面一个的子网,直到尾部,尾部也是前一个的子网,且前缀还需在指定的范围内.

例如172.17.36.0/22 through 172.17.39.0/24

首先172.17.36.0/22是一个,其次看前缀22到24之间只有一个23,所以要找172.17.36.0/22的/23子网是多少:

172.17.36.0/22的/23子网包括172.17.36.0/23 和172.17.38.0/23. 在这2个子网中还要看哪个的子网又包括有172.17.39.0/24,显然172.17.38.0/23的子网包括172.17.39.0/24。所以中间的应该选172.17.38.0/23,所以172.17.36.0/22 through 172.17.39.0/24表示172.17.36.0/22,172.17.38.0/23,172.17.39.0/24三个。

路由策略的终结动作 accept reject. 未命名的term总是被执行,因此非常适合配置为缺省动作。

 prefix-list-filter中如果带有动作参数将导致这个参数被执行,term中then动作将不起效果。

firewall filter中,对于分片的TCP段,一般不处理第一个头,除非让路由器学习这种分片,有时这会带来不可预知的问题(后面的分段是不带TCP头的)。fragment-offset 0可以让路由器未分片段或分片中的第一个分片。

tcp-established,tcp-initial 是不检查单前数据包是否是TCP的,所以需要额外指定protocol tcp.

在firewall fileter动作的count, log ,syslog动作:

count统计匹配的计数器 。log记录匹配的数据。syslog以syslog日志记录下来。

show firewall filter 过滤器名  [counter 统计器名]

show firewall syslog

—————————————–

The preferred method for determining the maximum burst size is to multiply the
interface’s speed by the amount of time bursts should be allowed at that bandwidth
level. For example, to allow bursts on a Fast Ethernet link for 5 milliseconds (a
reasonable value), use the following calculation:
burst size = bandwidth (=100,000,000 bits/sec) x allowable burst time (=5/1000s)
This calculation yields a burst size of 500,000 bits. You can divide this number by 8 to
convert it to bytes, which gives you a burst size of 62500 bytes.
You specify the bandwidth as a number of bits using the bandwidth-limit
statement or as a percentage of interface bandwidth using the
bandwidth-percent statement. You specify the maximum burst size as a number
of bytes using the burst-size-limit statement.

限制端口速率的两种办法:

1.在firewall filter中调用一个策略,这个策略限制速率

2.直接在端口的逻辑单元配置限制策略,input,output命令。

两者都配的,路由器按2–1顺序

firewall filters中可以嵌套一层firewall filters

通过lo0进行过滤时,务必注意要先开放路由协议等必须使用的通信。

URPF:

默认情况下,路由器只检查当前活动的路由,所以当到一个网络有多个路径时,应特别注意非对称路由,此时应打开set routing-option forwarding-table unicast-reverse-path feasible-patho,容许路由器检查所有可用的路由。(CISCO对此问题好像没有解决方法)

DHCP and the bootstrap protocol (BOOTP) requests will always fail the RPF checks. To
allow these requests, you must configure a fail filter that permits traffic with a source
address of 0.0.0.0 and destination address of 255.255.255.255. (对于这个问题CISCO是默认容许dhcp的)

fail filters  当URPF检测包是违规后,再由该filter对这些违规包进行动作 如记录等。类似于CISCO的带ACL和log的RPF命令。

——————————–

…………..中间有很多service set的没有记录,因为没有很弄明白。。。。。。。。。。。。。。。汗

———————————–

基于状态的防火墙及NAT:

当同时执行statefull firewall 和NAT时候,JUNIPER设备能够自动根据配置在statefull firewall中的ALG来自动执行合适的NAT。如果只执行NAT,则需要在NAT rules中设置ALG。

statefull firewall的动作有 accept,discard,reject,modifiers.其中接受和丢弃与无状态一样,reject动作对UDP协议发送ICMP错误信息,对TCP发送RST。

与无状态的不同,有状态的必须在每个term中有终结动作。

对目标地址只能作静态NAT。AS PIC不能对同一连接同时做源和目的NAT。这与CISCO不同,CISCO可以同时进行,而且都可是动态的。

基于状态的防火墙规则:

rules需要匹配方向

对]
]>

juniper控制带宽策略

[edit firewall family inet]
user@Shiraz# show
filter limit-ftp {
policer policer-1 {
if-exceeding {
bandwidth-limit 400k; /**正常使用带宽 **/
burst-size-limit 100k; /**超出正常带宽后带宽 **/
}
then discard; /*** 如果应用超过500k 后丢弃 ***/
}
term ftp {
from {
source-address {
10.2.3/24;
}
protocol tcp;
destination-port [ftp ftp-data];
}
then {
policer policer-1; /*** 应用FTP **/
accept;
}
}
term accept-all {
then accept;
}
}
直接应用到interface,来限制流量
[edit firewall]
user@Shiraz# show
policer police-all-traffic {
if-exceeding {
bandwidth-limit 10m;
burst-size-limit 100k;
}
then {
discard;
}
}
[edit interfaces fe-0/0/0]
user@Shiraz# show
description "Connection to Customer-A";
unit 0 {
family inet {
policer {
input police-all-traffic;
output police-all-traffic;
}
address 10.100.1.1/24;
}
}

JNCIA-ER 考试学习笔记

J系列适合中小公司

M系列适合大型公司或运营商

T系列适合运营商

M系列:

1.使用标准JUNOS软件

2.硬件转发数据,提供了更好的稳定性和可预测的转发性能

3.独立的控制平台和转发平台,避免数据的不稳定性

4.容易使用,基于WEB的图形化界面;rescue configuration(安全配置,可以方便的恢复配置).

J系列:

1.带集成服务的 JUNOS

2.基于软件的控制和转发,通过软件保持具有可预测的转发性能

3.易使用,缺省基于WEB的图形化界面管理

4.一键恢复配置

5.自动安装

JUNOS的特性:

1.功能多、模块化、业界领先的性能和可扩展性。

2.独立的转发和控制平台,可以最大化可靠性和稳定性

3.J,M,T系列平台的软件都是独立培训。

4.OS功能可以划分为多软件处理,每个处理都不相互干扰。拥有独立的内存空间。逻辑路由器。

M系列硬件:

X86处理器,支持CM卡和硬盘,使用独立的硬件ASIC执行转发。通过PIC支持物理接口,灵活丰富。

J系列硬件:

使用PC组件,X86体系,INTEL IXP4XX网络卡提供接口,CF卡存储。

J系列版权保护,J系列使用PC硬件,但并意味着可以将JUNOS装到PC设备上,因为JUNIPER公司对此使用了公钥加密。在其ERPROM中写入了特殊信息。如果是非法的,则不会转发数据。

路由引擎RE:

1。智能化的,维护和管理路由表,并维护主转发表。

2.控制和监控硬件平台、PFE、执行配置工作等。

包转发引擎PFE:

1.自定义的高集成ASIC,传输可与光线媲美。

2.原传统意义的软交换完全不同,可以不用考虑启用其他服务而导致的性能下降。

3.自定义的ASIC,可提供各种增强特性如组播、QOS队列、过滤等。

4.采用分而治之的方法,各ASIC负责不同的功能,相互协作。

管理:

1.传统命令行

2.J-WEB,提供图形化配置,有些命令行下的功能无法实现

3.SDX  services deployment system ,JunoScope,提供简单的服务管理

4.SNMP管理

5.RPM 实时性能监控,图形化显示一个设备是否工作在SLA级别以内,类似PRTG,SOLARWINDS等监控工具

6.JUNOscript,提供访问JUNOS的API接口,使用XML语音实现,CLI其实就是JUNOscript的一种客户端,CLI可以实现的JUNOscrip都可以实现。PERL模块可以简化JUNOscript部署,JUNOscript可以方便自己开发管理程序。

7.JUNOscope,一个管理框架FOR S M T系列,包含多个工具的集合,可以执行系统管理、配置管理、资产管理等,提供了WEB接口,它可以同时管理多台设备,而J-WEB只能管理单台

 8. J系列的普通网口可以自动作为管理口用。M T系列管理口与其他网口是分开的。

9.用户认证:支持本地认证、radius、tacacs+等认证

   本地认证,密码要符合复杂性 最少6个字符,且包含 数字 字母 特殊字符

  可以定义认证方式的顺序,一个被拒绝或失败,还可以使用下一个方式。如果没有定义本地作为最后认证行为,则当:

  radius,tacacs+都返回明确拒绝的时候,不会使用本地认证。

  radius,tacacs+都没能响应的时候(服务器故障等),会使用本地认证。

通过认证的用户可以映射到本地的某个帐号,该帐号配置了权限级别,以便进行权限控制。一个用户使用某种class,该class定义了一组命令集合,可以作什么,不可以作什么等。

活动配置、候选配置:

活动配置是当前正在被路由器用的,也是路由器下一次启动配置

候选配置,是当进行配置修改的时候,对当前活动配置的一个快照,然后提供给用户修改,当用户执行了commit命令后,该候选配置升级为活动配置。

编号0是当前的活动配置,/config/juniper.conf.gz是当前的活动配置

候选配置保存在以下2格位置:

/config/juniper.conf.n.gz   (n=1-3)

/var/db/config/juniper.conf.n.gz (n=4-49)

多人同时编辑一个候选配置的时候,一个人的commit会导致所有人的修改都被确认。

当确认一个配置的时候,该配置变成活动配置,并且之前的活动的配置变成了候选配置1,之前的候选配置1变成候选配置2。。。类推 一共保存到49号,所以数字越小,配置越新。

J-WEB验证和授权与CLI一样,J-WEB不支持同时在多个窗口浏览器中浏览。

J-WEB可以系统管理、系统监控、配置维护、快速配置、故障隔离

操作模式:执行show clear monitor ping traceroute test等工作,连接到其他设备,系统级操作,重起等。

help topic *** 命令: 查看某个命令的介绍

help reference *** 命令:查看某个命令的用法,语法

命令支持管道,具体管道参数 可以 | ? 来查看

普通configuration可以容许多人同时配置

排他configuration只容许自己一个人配置

私有configuration 容许多人配置,但各自都修改各自的东西, 此时进行回滚也是只对自己的侯选配置进行回滚。

在私有配置下,如果多人对同一个要素的配置,后执行commit 的人会收到错误信息,但是后执行的却会最终生效。

 operational和confiuration模式下的命令和层次是相互独立的。junos的配置是层次化、树状结构的。

up  以层为单位    exit 以级别为单位

show | compare 中 + 表示侯选中有的而活动中没有的,-表示侯选中没有的而活动中有的。

show | compare save  可以保存配置的差异,使用load patch filename 可以将差异部分合并入侯选配置

操作模式下,show configuration | compare rollbak num  可以将当前活动配置与备份配置比较,show configuration | compare filename 可以比较活动配置和指定文件间的差异。在配置模式下则执行show | compare rollback num, show | compare filename 来比较当前侯选配置和指定文件间的差异。

操作模式下的任意文件间的比较 file compare file

使用set命令设置的 可以用delete 来删除,delete命令删除陈述语句及以下层次的配置。删除后相关属性等效于缺省值。

deactive 可以让设备或略被deactive指定的配置,当commit后,这些配置不被显示。可以用active恢复回来。

对于接口 还可以用disable来管理性禁用某个口,此时disable是以set命令设置上的,要想恢复 必须使用delete。

commit confirmed 适合用在远程设备管理上,防止错误的配置导致无法远程再连接上修改,当执行这个命令后,设备立即让配置生效,单等待一个确认时间,在该时间内如果没有被确认的话,则设备恢复上一次配置rollback 1. 这样就可以再次连接上了,再次连接后可以查看rollback 1来查看上一次的错误配置。这个功能类似于CISCO的定时重启命令。

commit at  设置在某个时间点进行确认,可以使用clear system commit取消确认

commit comment 用来注释某次确认

show system commit 显示过往的确认

save 命令可以保存候选配置,保存当前执行save命令所在层次以下的。默认保存到当前用户所在的宿主目录/var/home/username

使用file list /var/home/username 可以查看保存的文件.

也可以手工指定保存路径,比如保存打TFTP.FTP服务器上等。

show | display set 将当前配置转换成set设置命令,然后可以拷贝这些命令,以方便在
其他路
由器上配置。 >

set system archival configuration transfer-interval  时间 archive-sites ftp://….  定时将配置拷贝到某个地方

set system archival configuration transfer-on-commit   archive-sites ftp://… 当执行commit时候 自动保存配置到某个地方

load命令:

从某个文件或者终端上的输入来加载一个配置进来,只影响候选配置,具体的参数有:

1。merge 混合,将当前候选配置和被加载的配置累加起来。

2。voverride,完全覆盖,执行这个参数必须在最顶层次

3。replace ,替换,从被加载配置中查找有replace 标记部分来替换候选配置中相同名称层次的。

4。terminal ,将当前终端上你输入的字符作为配置的输入,写入配置中,此种情况适合通过原样拷贝其他配置,而不需要再去执行set命令来单独配置。此时需要注意当前所在的层次要一致。ctrl-d结束输入。

5。relative 参数,一般merge ,replace 需要被加载的配置拥有和当前层次相关的完全的层次路径。而使用该参数后,指示路由器或略层次检查,假设被加载的配置都被加到当前的层次下。

run 相当于CISCO的do命令

request system configuration rescue save 产生一个安全配置

request system configuration rescue delete 删除一个安全配置

rollback rescue 使用安全配置恢复,J系列可以短按面板上的reset config 按钮 不要大于15秒,如果按住时间大于15秒,将会删除活动配置、安全配置、所有rollback配置

设备最初的自动安装功能将在commit之后被自动取消,因为默认缺省配置包含了delete-upon-commit

load factory-default 加载缺省配置

使用J-web进行初始配置后,最初自动启用的DHCP-服务将被终止 。

在操作模式下 set 命令有2个参数 cli 属性,date时间

要容许TELNET SSH 则需要启动这些服务

[edit system]

set services telnet

set services ssh

—————————–

show chassis ? 显示硬件、环境等方面信息 类似CISCO的show module show envir show invent等

var/db23
dcd.snmp_ix file. 存储的是snmp index索引,类似的 CISCO 也是存在一个叫DB当中的  可以在那里修改。

monitor 是一个非常不错的命令,可以查看接口实时状态,也可以监控实时信息并存储到log文件中

monitor traffic interface ××× layer2-headers no-resolve write-file /var/log/my 后面的是隐藏命令。

juniper的syslog信息是标准的unix日志信息,存储于/var/log/下。

配置syslog,在系统层次下可以执行set syslog命令,在routing-option层次下可以使用set options syslog命令

help syslog 消息代码 可以查看该日志意义。

deactive 可以让一个对象被标记为inactive,从而忽略这个对象。

disable则是对象中的一个配置命令,他存在于配置当中,但设备认为是禁用状态。

traceoptions类似于CISCO的debug,不过juniper可以把这些信息保存到一个文件里,然后用show log **来查看。juniper的调试不用太多关心性能问题。但是还是建议不要随便开启。这个命令同样存在层次关系。

Configuration options for tracing are the following:
• file filename: Specifies the name of the file in which to store
information.
• size size: Specifies the maximum size of each trace file, in kilobytes
(KB), megabytes (MB), or gigabytes (GB). When a trace file named
trace-file reaches this size, it is renamed trace-file.0. When
the trace file again reaches its maximum size, trace-file.0 is
renamed trace-file.1, and trace-file is renamed
trace-file.0. This renaming scheme continues until the maximum
number of trace files is reached. Then the oldest trace file is overwritten.
If you specify a maximum file size, you also must specify a maximum
number of trace files with the files option. The default size is 1 MB.
• files number: Specifies the maximum number of trace files. When a
trace file named trace-file reaches its maximum size, it is renamed
trace-file.0, then trace-file.1, and so on, until the maximum
number of trace files is reached. Then the oldest trace file is overwritten.
The default is ten files.
• no-stamp: Prevents timestamp information from being placed at the
beginning of each line in the trace file. By default, if you omit this option,
timestamp information is placed at the beginning of each line of the
tracing output.
• replace: Replaces an existing trace file if one exists. By default, if you
omit this option, tracing output is appended to an existing trace file.

Including the traceoptions statement at the [edit interfaces
interface-name] hierarchy level allows you to trace the operations of individual
router interfaces. You can also trace the operations of the interface process, which is
the device-control process (dcd).
When tracing a specific interface, the specification of a trace file is not supported. The
JUNOS software kernel does the logging in this case, so the tracing information is
placed in the system’s messages file. In contrast, global interface tracing supports
an archive file; by default /var/log/dcd is used for global interface tracing.

monitor start +log文件名(或者自定义的追踪文件名)可以将消失实时输出到屏幕上,esc+q临时决定输出或不输出,monitor stop则停止所有输出。

配置了trace 同时配合monitor start   ,则完全等效于debug了~~

清除trace方面配置,则停止了记录debug信息。

To truncate files used for logging, use the clear log filename command.
To delete a file, use the file delete command. If you want, you can also use
wildcards with the file command’s delete, compare, copy, list, and rename
operations.

备份license的命令requet system license save

———–

juniper启动引导顺序

1.CF卡 /dev/ad0

2.usb 或 HD (J系列用USB,M系列用HD)

3.还没启动成功 则挂起

request system reboot  media可以配置启动顺序

root@mylab> request system reboot ?
Possible completions:
  <[Enter]>            Execute this command
  at                   Time at which to perform the operation
  in                   Number of minutes to delay before operation
  media                Boot media for next boot
  message              Message to display to all users
  |                    Pipe through a command

• /dev/ad0s1a: Primary compact flash drive;
• /dev/ad1s1a: M-series hard drive;
• /dev/ad2s1a: J4300/J6300 removable compact flash drive; and
• /dev/da0s1a: USB storage device.

———

J系列的OS只能用在J系列上,且对美国以外的只有56位加密版本,且只支持DES。

M T系列则支持3DES。

M T系列可以根据情况安装更新需要的OS功能部分,但是J系列则是要求进行完整的OS升级或替换。

show version detail

升级JUNOS]

]>

Junos下的路由优先级

对比,CISCO IOS下的管理距离

路由来源 管理距离
直连接口 0
使用出站接口配置的静态路由 0
使用下一跳地址配置的静态路由 1
外部BGP 20
内部BGP 200
IGRP 100
OSPF 110
IS-IS 115
RIP 120
内部EIGRP 90
外部EIGRP 170
汇总EIGRP 5
ODR 160