Juniper为人所熟悉的一定是从netscreen开始的,作为一线防火墙品牌,还是有很高的地位。但是以前玩netscreen,都是用的网页版去配置,而且网页版做得很不错。但是现在netscreen要开始淘汰,取而代之的是SRX系列防火墙,这个家伙的网页版就是个渣,没事卡一下已经算是客气的了,很有可能卡完以后,他就再也进不去了,必须去重启这个进程,而且页面逻辑性极差,所以我也开始了SRX命令配置的学习。
这里我提几点学习中遇到的问题(我现在还在学习中。。。)
1、资料极其少
我搜索了一下百度,发现网上流传的几乎就是2个PDF,并且都是简单配置。不同网页,就是这两个PDF的复制黏贴大法。
2、书籍资料很难搞到
这是第二个很大的问题,我个人只买到过一本书,而且还是纯英文,订货,将近700rmb。
3、没有培训机构
这个真的是太吊吊的了,作为一个一线厂商,并且还有系统性的认证,居然会没有培训机构
--------------------------------------------------------------------------------------------------------------------
以上这三点,打击了我好长时间。而且我还正好需要配置一台Juniper,再度搜索,我发现一套明教教主录制的SRX教学视频,但是真的真的很基础(比网上流传的PDF好多了),但是也就草草配完了,也没遇到什么大问题。但是这始终是一个心结。通过不断的努力和搜索,终于找到了组织,大侠唐在飞---51CTO金牌讲师。这里我不推销啥,有需求就去上面找他的课程,一切都会好的。
--------------------------------------------------------------------------------------------------------------------
废话说的有点多,正片开始
这一篇讲的是简单命令,我会罗列一些平时会用到的初始化啊,清空配置啊,设置ip啥的,方便加快对junos的了解(我这里使用GNS3 2.0以上版本,进行模拟srx 12.1x47-d20.7,如果你的GNS3,模拟不了srx,可以给我留言,如果比较多,我就单独出个教程)
配置模式说明:
Junos就是srx的系统名字,他是一个深度定制的linux/unix
1、root@%-----------------shell模式,这里你可以使用一些linux的命令去做一些操作
root@% ls
.cshrc .login .profile
root@% pwd
/cf/root
root@% cat .profile
# $FreeBSD: src/etc/root/dot.profile,v 1.20 1999/08/27 23:24:09 peter Exp $
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/opt/sbin:/opt/bin:/usr/local/bin
export PATH
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
怎么样?熟悉吧
2、root>-------本机模式,这里就类似与cisco的特权模式,主要用来查看一些主机状态
root@% cli =》 root>
反之用exit
3、root#--------配置模式,该模式下可以对当前设备正在运行的配置的副本,进行修改。(看清楚这句话,之后会解释的)
root> configure =》 root#
反之用exit
--------------------------------------------------命令集锦---------------------------------------------------
1、恢复出厂配置
root> request system zeroize media
*media这个参数在模拟器上是没有办法配置的。
这条命令会清空除了系统os以外的所有配置,(包括日志,许可等等)一台新的机器或者一台恢复了出厂设置的设备,默认用户名为root,没有密码。
2、加载出厂配置
root# load factory-default
注意模式变换:读取出厂配置,不会删除日志、许可、本地文件等等,但会重置root。
3、配置ROOT密码
第一种:root# set system root-authentication plain-text-password
这是交互式配置,你试一下就知道了
第二种:root# set system root-authentication encrypted-password ?
Possible completions:
<encrypted-password> Encrypted password string
看我打问号显示的内容
这里后面需要加一个参数,一个已经加密的密码,什么意思?
这里后面需要跟的是已经经过MD5加密的密文(复制黏贴配置用,他不用交互)
4、覆盖当前修改的配置副本,到运行中的配置
root# commit
我之前有一句话提到,配置模式下修改的是副本,这代表,你做的一切配置都不一定会生效,commit就是把副本覆盖到当前配置的命令,顺便说一下,srx会自动保存这些配置,并且进行编号,编号从0开始,越小时间越近
5、设置主机名
root@SRX1# set system host-name SRX1
6、查看版本
root@SRX1> show version
7、删除当前级别下所有的配置
root@SRX1# delete
8、创建用户
set system login user AAA uid 2001
set system login user AAA class super-user
set system login user AAA authentication plain-text-password
"$1$JjTpAOWR$Qdo4LZbv6vIH.9Lfrnmtp1"----这一段就是密文,也就是上面第二种秘密配置方法里要填的东西
这个大家自己看下,太简单了
------------------------------------------第一段尝试---------------------------------------------------
上面这些如果大家实验过,就会慢慢上手了,这里我总结一下
set是配置命令,后面后面跟的是配置内容
set system login user AAA uid 2001
set system login user AAA class super-user
set system login user AAA authentication plain-text-password
这里我们就会发现前面“system login user AAA”这一段是重复的
这里可以使用edit
[edit]
root@SRX1# edit system login user AAA
[edit system login user AAA]
root@SRX1#
发现没有,上面那个中括号,这个其实是当前路径,而edit可以配置的同时进入该路径,然后就可以在当前路径下的配置参数,这个就是junos的层级配置,试试就知道了。
--------------------------------------------------------------------------------------------------------------------
上面大家都了解以后,后面我就减少注释啦
1、设置接口ip
[edit]
root@SRX1# set interfaces ge-0/0/0 unit 0 family inet address 1.1.1.2/24
这里注意几点
===========================================
1、unit就类似与子接口,srx是不允许直接在接口上配ip的
2、如果一个接口ip代表这个物理接口的ip,必须是unit 0
===========================================
2、替换IP
[edit]
root@SRX1# edit interfaces ge-0/0/0
[edit interfaces ge-0/0/0]
root@SRX1# replace pattern 1.1.1.2/24 with 1.1.1.3/24
自己体会一下哈
3、不启用(配置不生效)
deactivate interfaces ge-0/0/0
可以多种多样,自己尝试下就会知道
4、启用
active interfaces ge-0/0/0
5、多个端口同时设置
[edit]
root@SRX1# wildcard range set interfaces ge-0/0/[0-1,3] link-mode full-duplex
interfaces {
ge-0/0/0 {
link-mode full-duplex;
unit 0 {
family inet {
address 1.1.1.2/24;
}
}
}
ge-0/0/1 {
link-mode full-duplex;
}
ge-0/0/3 {
link-mode full-duplex;
}
6、删除多个
[edit]
root@SRX1# wildcard delete interfaces ge-0/0/[0-1,3]
7、保护配置
protect关键字
unprotect关键字
这两个直接加层级就好,除非使用system zeroize media,不然在保护状态,是干不掉他的。
8、查看登录情况
root@SRX1# run show system users
7:00AM up 4:04, 1 user, load averages: 0.02, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE WHAT
root d0 - 2:59AM - cli
9、查看谁正在配置
root@SRX1# status
Users currently editing the configuration:
root terminal d0 (pid 1291) on since 2017-07-04 03:35:02 UTC
[edit]
10、回滚配置
root@SRX1# rollback ?
Possible completions:
<[Enter]> Execute this command
0 2017-07-04 06:34:34 UTC by root via cli
1 2017-07-04 05:48:28 UTC by root via cli
2 2017-07-04 03:37:11 UTC by root via cli
3 2017-07-04 03:32:07 UTC by root via cli
4 2017-07-04 03:29:17 UTC by root via cli
5 2017-07-04 03:27:59 UTC by root via cli
6 2017-07-04 03:25:04 UTC by root via cli
7 2017-07-04 02:56:05 UTC by root via other
| Pipe through a command
一共存多少个,可以设置
11、提交检查(不生效)
commit check
基本就是检查语法
12、给提交的配置打上标记
root@SRX1# commit comment TEST1
13、查看rollback
root@SRX1# run show system commit
0 2017-07-04 08:09:03 UTC by root via cli
TEST1
1 2017-07-04 06:34:34 UTC by root via cli
2 2017-07-04 05:48:28 UTC by root via cli
3 2017-07-04 03:37:11 UTC by root via cli
4 2017-07-04 03:32:07 UTC by root via cli
5 2017-07-04 03:29:17 UTC by root via cli
6 2017-07-04 03:27:59 UTC by root via cli
7 2017-07-04 03:25:04 UTC by root via cli
8 2017-07-04 02:56:05 UTC by root via other
可以看到标记
14、设置rollback数量
root@SRX1# set system max-configurations-on-rollbacks 50
root@SRX1# set system max-configurations-on-flash 100
^
Value 100 is not within range (0..49) at '100'
可以发现最多一共可以存50个
这两条命令,其实只配第一条也是可以的,他是用来确认rollback的数量的,第二条on-flush是用来设置你有多少个配置保存在设备的config文件所属的文件夹下,但是并不是说剩下的配置他不保存,不保存的话你怎么恢复呢?剩下的其实是保存再var的一个目录下,可以去官网查一下,我看有人也提问这个问题,回复的还是很准确的。
15、查看设备时间
root@SRX1# run show system uptime
Current time: 2017-07-04 08:19:01 UTC
System booted: 2017-07-04 02:55:50 UTC (05:23:11 ago)
Protocols started: 2017-07-04 02:56:07 UTC (05:22:54 ago)
Last configured: 2017-07-04 08:09:03 UTC (00:09:58 ago) by root
8:19AM up 5:23, 1 user, load averages: 0.01, 0.00, 0.00
16、默认回退(后悔机制)
root@SRX1# commit confirmed
commit confirmed will be automatically rolled back in 10 minutes unless confirmed
commit complete
# commit confirmed will be rolled back in 10 minutes
默认是10分钟,如果在10分钟内没有再commit,他就会自动回滚
17、重启
root@SRX1> request system reboot
18、关机
root@SRX1> request system power-off