1、 Juniper SRX防火墙简明配置手册卞同超Juniper 服务工程师Juniper Networks, Inc.北京市东城区东长安街1号东方经贸城西三办公室15层1508室邮编:100738电话:65288800目录一、JUNOS操作系统介绍31.1 层次化配置结构31.2 JunOS配置管理41.3 SRX主要配置内容4二、SRX防火墙配置对照说明52.1 初始安装52.1.1 登陆52.1.2 设置root用户口令52.1.3 设置远程登陆管理用户52.1.4 远程管理SRX相关配置62.2 Policy62.3 NAT72.3.1 Interface based NAT82.3.2
2、 Pool based Source NAT82.3.3 Pool base destination NAT92.3.4 Pool base Static NAT102.4 IPSEC VPN112.5 Application and ALG122.6 JSRP12三、SRX防火墙常规操作与维护153.1 设备关机153.2设备重启153.3操作系统升级153.4密码恢复163.5常用监控维护命令16Juniper SRX防火墙简明配置手册SRX系列防火墙是Juniper公司基于JUNOS操作系统的安全系列产品,JUNOS集成了路由、交换、安全性和一系列丰富的网络服务。目前Juniper公司的
3、全系列路由器产品、交换机产品和SRX安全产品均采用统一源代码的JUNOS操作系统,JUNOS是全球首款将转发与控制功能相隔离,并采用模块化软件架构的网络操作系统。JUNOS作为电信级产品的精髓是Juniper真正成功的基石,它让企业级产品同样具有电信级的不间断运营特性,更好的安全性和管理特性,JUNOS软件创新的分布式架构为高性能、高可用、高可扩展的网络奠定了基础。基于NP架构的SRX系列产品产品同时提供性能优异的防火墙、NAT、IPSEC、IPS、SSL VPN和UTM等全系列安全功能,其安全功能主要来源于已被广泛证明的ScreenOS操作系统。 本文旨在为熟悉Netscreen防火墙Scr
4、eenOS操作系统的工程师提供SRX防火墙参考配置,以便于大家能够快速部署和维护SRX防火墙,文档介绍JUNOS操作系统,并参考ScreenOS配置介绍SRX防火墙配置方法,最后对SRX防火墙常规操作与维护做简要说明。一、JUNOS操作系统介绍1.1 层次化配置结构JUNOS采用基于FreeBSD内核的软件模块化操作系统,支持CLI命令行和WEBUI两种接口配置方式,本文主要对CLI命令行方式进行配置说明。JUNOS CLI使用层次化配置结构,分为操作(operational)和配置(configure)两类模式,在操作模式下可对当前配置、设备运行状态、路由及会话表等状态进行查看及设备运维操作
5、,并通过执行config或edit命令进入配置模式,在配置模式下可对各相关模块进行配置并能够执行操作模式下的所有命令(run)。在配置模式下JUNOS采用分层分级模块下配置结构,如下图所示,edit命令进入下一级配置(类似unix cd命令),exit命令退回上一级,top命令回到根级。1.2 JunOS配置管理JUNOS通过set语句进行配置,配置输入后并不会立即生效,而是作为候选配置(CandidateConfig)等待管理员提交确认,管理员通过输入commit命令来提交配置,配置内容在通过SRX语法检查后才会生效,一旦commit通过后当前配置即成为有效配置(Active config)
6、。另外,JUNOS允许执行commit命令时要求管理员对提交的配置进行两次确认,如执行commit confirmed 2命令要求管理员必须在输入此命令后2分钟内再次输入commit以确认提交,否则2分钟后配置将自动回退,这样可以避免远程配置变更时管理员失去对SRX的远程连接风险。在执行commit命令前可通过配置模式下show命令查看当前候选配置(Candidate Config),在执行commit后配置模式下可通过run show config命令查看当前有效配置(Active config)。此外可通过执行show | compare比对候选配置和有效配置的差异。SRX上由于配备大容量
7、硬盘存储器,缺省按先后commit顺序自动保存50份有效配置,并可通过执行rolback和commit命令返回到以前配置(如rollback 0/commit可返回到前一commit配置);也可以直接通过执行save configname.conf手动保存当前配置,并执行load override configname.conf / commit调用前期手动保存的配置。执行load factory-default / commit命令可恢复到出厂缺省配置。SRX可对模块化配置进行功能关闭与激活,如执行deactivate security nat/comit命令可使NAT相关配置不生效,并可通
8、过执行activate security nat/commit使NAT配置再次生效。SRX通过set语句来配置防火墙,通过delete语句来删除配置,如delete security nat和edit security nat / delete一样,均可删除security防火墙层级下所有NAT相关配置,删除配置和ScreenOS不同,配置过程中需加以留意。1.3 SRX主要配置内容部署SRX防火墙主要有以下几个方面需要进行配置:System:主要是系统级内容配置,如主机名、管理员账号口令及权限、时钟时区、Syslog、SNMP、系统级开放的远程管理服务(如telnet)等内容。Interfa
9、ce:接口相关配置内容。Security: 是SRX防火墙的主要配置内容,安全相关部分内容全部在Security层级下完成配置,如NAT、Zone、Policy、Address-book、Ipsec、Screen、Idp等,可简单理解为ScreenOS防火墙安全相关内容都迁移至此配置层次下,除了Application自定义服务。Application:自定义服务单独在此进行配置,配置内容与ScreenOS基本一致。routing-options: 配置静态路由或router-id等系统全局路由属性配置。二、SRX防火墙配置对照说明2.1 初始安装2.1.1 登陆Console口(通用超级终端缺
10、省配置)连接SRX,root用户登陆,密码为空login: rootPassword:- JUNOS 9.5R1.8 built 2009-07-16 15:04:30 UTCroot% cli /*进入操作模式*/root root configureEntering configuration mode /*进入配置模式*/editRoot#2.1.2 设置root用户口令设置root用户口令root# set system root-authentication plain-text-passwordroot# new password : root123root# retype new
11、 password: root123密码将以密文方式显示root# show system root-authentication encrypted-password $1$xavDeUe6$fNM6olGU.8.M7B62u05D6.; # SECRET-DATA注意:强烈建议不要使用其它加密选项来加密root和其它user口令(如encrypted-password加密方式),此配置参数要求输入的口令应是经加密算法加密后的字符串,采用这种加密方式手工输入时存在密码无法通过验证风险。注:root用户仅用于console连接本地管理SRX,不能通过远程登陆管理SRX,必须成功设置root口令
12、后,才能执行commit提交后续配置命令。2.1.3 设置远程登陆管理用户root# set system login user lab class super-user authentication plain-text-passwordroot# new password : lab123root# retype new password: lab123注:此lab用户拥有超级管理员权限,可用于console和远程管理访问,另也可自行灵活定义其它不同管理权限用户。2.1.4 远程管理SRX相关配置run set date YYYYMMDDhhmm.ss/*设置系统时钟*/set syste
13、m time-zone Asia/Shanghai/*设置时区为上海*/set system host-name SRX3400-A/*设置主机名*/set system name-server 1.1.1.1 /*设置DNS服务器*/set system services ftpset system services telnet set system services web-management http /*在系统级开启ftp/telnet/http远程接入管理服务*/set interfaces ge-0/0/0.0 family inet address 10.1.1.1/24或s
14、et interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.1/24set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1/*配置逻辑接口地址及缺省路由,SRX接口要求IP地址必须配置在逻辑接口下(类似ScreenOS的子接口),通常使用逻辑接口0即可*/set security zones security-zone untrust interface
15、s ge-0/0/0.0/*将ge-0/0/0.0接口放到untrust zone去,类似ScreenOS*/set security zones security-zone untrust host-inbound-traffic system-services pingset security zones security-zone untrust host-inbound-traffic system-services httpset security zones security-zone untrust host-inbound-traffic system-services tel
16、net/*在untrust zone打开允许远程登陆管理服务,ScreenOS要求基于接口开放服务,SRX要求基于Zone开放,从SRX主动访问出去流量开启服务,类似ScreenOS*/2.2 PolicyPolicy配置方法与ScreenOS基本一致,仅在配置命令上有所区别,其中策略的允许/拒绝的动作(Action)需要额外配置一条then语句(将ScreenOS的一条策略分解成两条及以上配置语句)。Policy需要手动配置policy name,policy name可以是字符串,也可以是数字(与ScreenOS的policy ID类似,只不过需要手工指定)。set security zo
17、nes security-zone trust address-book address pc1 10.1.1.10/32 set security zones security-zone untrust address-book address server1 10.0.2.1/32#配置策略里面会使用到这些address-book可以定义一个address-set把多个address放到里面,这样做policy的时候就不需要针对每一个address写一个了。/*与ScreenOS一样,在trust和untrust zone下分别定义地址对象便于策略调用,地址对象的名称可以是地址/掩码形式*
18、/set security zones security-zone trust address-book address-set addr-group1 address pc1/*在trust zone下定义名称为add-group1的地址组,并将pc1地址放到该地址组中*/set security policies from-zone trust to-zone untrust policy 001 match source-address addr-group1 destination-address server1 application anyset security policies
19、 from-zone trust to-zone untrust policy 001 then permit/*定义从trust 到untrust方向permit策略,允许addr-group1组的源地址访问server1地址any服务*/2.3 NATSRX NAT较ScreenOS在功能实现方面基本保持一致,但在功能配置上有较大区别,配置的主要差异在于ScreenOS的NAT与policy是绑定的,无论是MIP/VIP/DIP还是基于策略的NAT,在policy中均要体现出NAT内容(除了缺省基于untrust接口的Souec-NAT模式外),而SRX 的NAT则作为网络层面基础内容进行
20、独立配置(独立定义地址映射的方向、映射关系及地址范围),Policy中不再包含NAT相关配置信息,这样的好处是易于理解、简化运维,当网络拓朴和NAT映射关系发生改变时,无需调整Policy配置内容。SRX NAT和Policy执行先后顺序为:目的地址转换目的地址路由查找执行策略检查源地址转换,结合这个执行顺序,在配置Policy时需注意:Policy中源地址应是转换前的源地址,而目的地址应该是转换后的目的地址,换句话说,Policy中的源和目的地址应该是源和目的两端的真实IP地址,这一点和ScreenOS存在区别,需要加以注意。SRX中不再使用MIP/VIP/DIP这些概念,其中MIP被Sta
21、tic静态地址转换取代,两者在功能上完全一致;DIP被Source NAT取代;基于Policy的目的地址转换及VIP被 Destination NAT取代。ScreenOS中基于Untrust zone接口的源地址转换被保留下来,但在SRX中不再是缺省模式(SRX中Trust Zone接口没有NAT模式概念),需要手工配置。类似ScreenOS,Static属于双向NAT,其他类型均属于单向NAT,此外,SRX还多了一个proxy-arp概念,如果定义的IP Pool(可用于源或目的地址转换)与接口IP在同一子网时,需配置SRX对这个Pool内的地址提供ARP代理功能,这样对端设备能够解析到
22、IP Pool地址的MAC地址(使用接口MAC地址响应对方),以便于返回报文能够送达SRX。下面是配置举例及相关说明:2.3.1 Interface based NATNAT:set security nat source rule-set 1 from zone trustset security nat source rule-set 1 to zone untrustset security nat source rule-set 1 rule rule1 match source-address 0.0.0.0/0 destination-address 0.0.0.0/0set se
23、curity nat source rule-set 1 rule rule1 then source-nat interface上述配置定义NAT源地址映射规则,从Trust Zone访问Untrust Zone的所有流量用Untrust Zone接口IP做源地址转换。Policy:set security policies from-zone trust to-zone untrust policy 1 match source-address 10.1.2.2set security policies from-zone trust to-zone untrust policy 1 ma
24、tch destination-address anyset security policies from-zone trust to-zone untrust policy 1 match application anyset security policies from-zone trust to-zone untrust policy 1 then permit上述配置定义Policy策略,允许Trust zone 10.1.2.2地址访问Untrust方向任何地址,根据前面的NAT配置,SRX在建立session时自动执行接口源地址转换。2.3.2 Pool based Source
25、NATNAT:set security nat source pool pool-1 address 100.1.1.10 to 100.1.1.20 (可以增加多个)set security nat source rule-set 1 from zone trustset security nat source rule-set 1 to zone untrustset security nat source rule-set 1 rule rule1 match source-address 0.0.0.0/0 destination-address 0.0.0.0/0set securi
26、ty nat source rule-set 1 rule rule1 then source-nat pool pool-1set security nat proxy-arp interface ge-0/0/2 address 100.1.1.10 to 100.1.1.20 (可以增加多个)上述配置表示从trust方向(any)到untrust方向(any)访问时提供源地址转换,源地址池为pool1(100.1.1.10 -100.1.1.20),同时ge-0/0/2接口为此pool IP提供ARP代理。需要注意的是:定义Pool时不需要与Zone及接口进行关联。配置proxy-arp
27、目的是让返回包能够送达SRX,如果Pool与出接口IP不在同一子网,则对端设备需要配置指向100.1.1.1的Pool地址路由。Policy:set security policies from-zone trust to-zone untrust policy 1 match source-address 10.1.1.2set security policies from-zone trust to-zone untrust policy 1 match destination-address anyset security policies from-zone trust to-zone
28、 untrust policy 1 match application anyset security policies from-zone trust to-zone untrust policy 1 then permit上述配置定义Policy策略,允许Trust zone 10.1.2.2地址访问Untrust方向任何地址,根据前面的NAT配置,SRX在建立session时自动执行源地址转换。2.3.3 Pool base destination NATNAT:set security nat destination pool 111 address 192.168.1.100/32s
29、et security nat destination rule-set 1 from zone untrustset security nat destination rule-set 1 rule 111 match source-address 0.0.0.0/0set security nat destination rule-set 1 rule 111 match destination-address 100.100.100.100/32set security nat destination rule-set 1 rule 111 then destination-nat po
30、ol 111上述配置将外网any访问100.100.100.100地址映射到内网192.168.1.100地址,注意:定义的Dst Pool是内网真实IP地址,而不是映射前的公网地址。这点和Src-NAT Pool有所区别。Policy:set security policies from-zone untrust to-zone trust policy 1 match source-address anyset security policies from-zone untrust to-zone trust policy 1 match destination-address 192.1
31、68.1.100 #192.168.1.100是一个地址名词,需要在set security zones security-zone trust address-book address 192.168.1.100 192.168.1.100/32#set security policies from-zone trust to-zone untrust policy 1 match application anyset security policies from-zone trust to-zone untrust policy 1 then permit上述配置定义Policy策略,允许
32、Untrust方向任何地址访问Trust方向192.168.1.100,根据前面的NAT配置,公网访问100.100.100.100时,SRX自动执行到192.168.1.100的目的地址转换。同时在执行policy的时候是按照前后顺序执行的,所有要把default的policy删除掉ScreenOS VIP功能对应的SRX Dst-nat配置:set security nat destination pool 222 address 192.168.1.200/32 port 8000set security nat destination rule-set 1 from zone untr
33、ustset security nat destination rule-set 1 rule 111 match source-address 0.0.0.0/0set security nat destination rule-set 1 rule 111 match destination-address 100.100.100.100/32set security nat destination rule-set 1 rule 111 match destination-port 8000set security nat destination rule-set 1 rule 111
34、then destination-nat pool 222上述NAT配置定义:访问100.100.100.100地址8000端口映射至192.168.1.200地址8000端口,功能与ScreenOS VIP端口映射一致。2.3.4 Pool base Static NATNAT:set security nat static rule-set static-nat from zone untrustset security nat static rule-set static-nat rule rule1 match destination-address 100.100.100.100se
35、t security nat static rule-set static-nat rule rule1 then static-nat prefix 192.168.1.200Policy:set security policies from-zone untrust to-zone trust policy 1 match source-address anyset security policies from-zone untrust to-zone trust policy 1 match destination-address 192.168.1.200set security po
36、licies from-zone untrust to-zone trust policy 1 match application anyset security policies from-zone untrust to-zone trust policy 1 then permitStatic NAT概念与ScreenOS MIP一致,属于静态双向一对一NAT,上述配置表示访问100.100.100.100时转换为192.168.1.200,当192.168.1.200访问Internet时自动转换为100.100.100.100。2.4 IPSEC VPNSRX IPSEC VPN支持S
37、ite-to-Site VPN 和基于NS-remote的拨号VPN,和ScreenOS一样,site-to-site VPN也支持路由模式和Policy模式,在配置方面也和ScreenOS基本一致。SRX中的加密/验证算法在命名上和ScreenOS存在一些区别,配置过程中建议选择ike和ipsec的proposal为 standard模式,standard中包含SRX支持的全部加密/验证算法,只要对端设备支持其中任何一种即可。SRX中通道接口使用st0接口,对应ScreenOS中的tunnel虚拟接口。下面是图中左侧SRX基于路由方式Site-to-site VPN配置:set interf
38、aces st0 unit 0 family inet address 10.2.0.1/24set security zones security-zone untrust interfaces st0.0 set routing-options static route 10.1.2.0/24 next-hop st0.0 定义st0 tunnel接口地址/Zone及通过VPN通道到对端网络路由set security ike policy ABC mode mainset security ike policy ABC proposal-set standardset security
39、ike policy ABC pre-shared-key ascii-text juniper定义IKE Phase1 policy参数,main mode,standard proposal及预共享密钥方式set security ike gateway gw1 ike-policy ABCset security ike gateway gw1 address 10.0.2.1set security ike gateway gw1 external-interface ge-0/0/1.0定义IKE gaeway参数,预共享密钥认证,对端网关10.0.2.1,出接口ge-0/0/1(位
40、于untrust zone)set security ipsec policy AAA proposal-set standardset security ipsec vpn vpn1 bind-interface st0.0set security ipsec vpn vpn1 ike gateway gw1set security ipsec vpn vpn1 ike ipsec-policy AAAset security ipsec vpn vpn1 establish-tunnels immediately定义ipsec Phase 2 VPN参数:standard proposal
41、、与st0.0接口绑定,调用Phase 1 gw1 ike网关。set security policies from-zone untrust to-zone trust policy vpn-policy match source-address anyset security policies from-zone untrust to-zone trust policy vpn-policy match destination-address anyset security policies from-zone untrust to-zone trust policy vpn-policy
42、 match application anyset security policies from-zone untrust to-zone trust policy vpn-policy then permit set security policies from-zone trust to-zone untrust policy vpn-policy match source-address anyset security policies from-zone trust to-zone untrust policy vpn-policy match destination-address
43、anyset security policies from-zone trust to-zone untrust policy vpn-policy match application anyset security policies from-zone trust to-zone untrust policy vpn-policy then permit开启双向policy以允许VPN流量通过2.5 Application and ALGSRX中自定义服务及ALG使用方法与ScreenOS保持一致,系统缺省开启FTP ALG,为TCP 21服务提供FTP应用ALG。自定义服务如果属于FTP类
44、应用,需要将此自定义服务(非TCP 21端口)与FTP应用进行关联。下面举例定义一个FTP类服务ftp-test,使用目的端口为TCP 2100,服务超时时间为3600秒,并将此自定义服务与FTP应用关联(ALG),系统将识别此服务为FTP应用并开启FTP ALG来处理该应用流量。set applications application ftp-test protocol tcp destination-port 2100 inactivity-timeout 3600set applications application ftp-test application-protocol ftp2
45、.6 JSRPJSRP是Juniper SRX的私有HA协议,对应ScreenOS的NSRP双机集群协议,支持A/P和A/A模式,JSRP对ScreenOS NSRP协议和JUNOS Cluster集群技术进行了整合集成,熟悉NSRP协议有助于对JSRP协议的理解。JSRP和NSRP最大的区别在于JSRP是完全意义上的Cluster概念,两台设备完全当作一台设备来看待,两台设备的接口板卡顺序编号、运维变更将对两台设备同时进行操作,无需额外执行ScreenOS的配置和会话同步等操作,而ScreenOS NSRP可看作在同步配置和动态对象(session)基础上独立运行的两台单独设备。JSRP要求
46、两台设备在软件版本、硬件型号、板卡数量、插槽位置及端口使用方面严格一一对应。由于SRX 是转发与控制层面完全分裂架构,JSRP需要控制层面 (配置同步)和数据层面(Session同步)两个平面的互联,建议控制和数据层面互联链路使用光纤链路直连(部分平台强制要求光纤链路直连)。JSRP接口命名方式采用多个机箱抽象成一个逻辑机箱之后再统一为各个槽位进行编号,如上所示的SRX5800,每个SRX5800机箱有12个业务槽位,节点0槽位号从0开始编号,节点1槽位号从12开始往后编。整个JSRP配置过程包括如下7个步骤l 配置Cluster id和Node id (对应ScreenOS NSRP 的cluster id并需手工指定设备使用节点id)l 指定Control Port (指定控制层面使用接口,用于配置同步及心跳)l 指定Fabric Link Port (指定数据层面使用接口,主要session等RTO同步)l 配置Redundancy Group (类似NSRP的VSD group,优先级与抢占等配置)l 每个机箱的个性化配置 (单机无需同步的个性化配置,如主机名、带外管理口IP地址等)l 配置Redundant Ethernet Interface (类似NSRP的Redundant冗余接口)l 配置Interface Monitoring (类似NSRP