1、第 1 页 共 33 页Juniper SRX 防火墙简明配置手册第 2 页 共 33 页目录一、JUNOS 操作系统介绍 31.1 层次化配置结构 .31.2 JunOS 配置管理 41.3 SRX 主要配置内容 .4二、SRX 防火墙配置说明 .52.1 初始安装 .52.1.1 登陆 52.1.2 设置 root 用户口令 52.1.3 JSRP 初始化配置 .52.1.4 设置远程登陆管理用户 92.1.5 远程管理 SRX 相关配置 102.1.6 ZONE 及相关接口的配置 .112.2 Policy112.3 NAT122.3.1 Interface based NAT132.3
2、.2 Pool based Source NAT142.3.3 Pool base destination NAT152.3.4 Pool base Static NAT162.4 IPSEC VPN162.5 Application and ALG .18三、SRX 防火墙常规操作与维护 .183.1 单机设备关机 .183.2 单机设备重启 183.3 单机操作系统升级 193.4 双机模式下主备 SRX 关机 193.5 双机模式下主备设备重启 193.6 双机模式下操作系统升级 203.7 双机转发平面主备切换及切换后恢复 203.8 双机控制平面主备切换及切换后恢复 213.9 双机
3、模式下更换备 SRX .213.10 双机模式下更换主 SRX .223.11 双机模式更换电源 223.12 双机模式更换故障板卡 233.13 配置备份及还原方法 233.14 密码修改方法 243.15 磁盘文件清理方法 243.16 密码恢复 243.17 常用监控维护命令 25四、SRX 防火墙介绍 .27第 3 页 共 33 页Juniper SRX 防火墙简明配置手册SRX 系列防火墙是 Juniper 公司基于 JUNOS 操作系统的安全系列产品,JUNOS 集成了路由、交换、安全性和一系列丰富的网络服务。目前 Juniper 公司的全系列路由器产品、交换机产品和 SRX 安全
4、产品均采用统一源代码的 JUNOS 操作系统,JUNOS 是全球首款将转发与控制功能相隔离,并采用模块化软件架构的网络操作系统。JUNOS 作为电信级产品的精髓是 Juniper 真正成功的基石,它让企业级产品同样具有电信级的不间断运营特性,更好的安全性和管理特性,JUNOS 软件创新的分布式架构为高性能、高可用、高可扩展的网络奠定了基础。基于 NP 架构的 SRX 系列产品产品同时提供性能优异的防火墙、NAT、IPSEC、IPS、SSL VPN 和 UTM 等全系列安全功能,其安全功能主要来源于已被广泛证明的 ScreenOS 操作系统。本文旨在为熟悉 Netscreen 防火墙 Scree
5、nOS 操作系统的工程师提供 SRX 防火墙参考配置,以便于大家能够快速部署和维护 SRX 防火墙,文档介绍 JUNOS 操作系统,并参考 ScreenOS 配置介绍 SRX 防火墙配置方法,最后对 SRX 防火墙常规操作与维护做简要说明。一、JUNOS 操作系统介绍1.1 层次化配置结构JUNOS 采用基于 FreeBSD 内核的软件模块化操作系统,支持 CLI 命令行和 WEBUI 两种接口配置方式,本文主要对 CLI 命令行方式进行配置说明。JUNOS CLI 使用层次化配置结构,分为操作(operational )和配置(configure)两类模式,在操作模式下可对当前配置、设备运行
6、状态、路由及会话表等状态进行查看及设备运维操作,并通过执行 config 或 edit 命令进入配置模式,在配置模式下可对各相关模块进行配置并能够执行操作模式下的所有命令(run) 。在配置模式下 JUNOS 采用分层分级模块下配置结构,如下图所示,edit 命令进入下一级配置(类似 unix cd 命令),exit 命令退回上一级, top 命令回到根级。第 4 页 共 33 页1.2 JunOS 配置管理JUNOS 通过 set 语句进行配置,配置输入后并不会立即生效,而是作为候选配置(CandidateConfig)等待管理员提交确认,管理员通过输入 commit 命令来提交配置,配置内
7、容在通过SRX 语法检查后才会生效,一旦 commit 通过后当前配置即成为有效配置(Active config) 。另外,JUNOS 允许执行 commit 命令时要求管理员对提交的配置进行两次确认,如执行 commit confirmed 2 命令要求管理员必须在输入此命令后 2 分钟内再次输入 commit 以确认提交,否则2 分钟后配置将自动回退,这样可以避免远程配置变更时管理员失去对 SRX 的远程连接风险。在执行 commit 命令前可通过配置模式下 show 命令查看当前候选配置(Candidate Config) ,在执行 commit 后配置模式下可通过 run show c
8、onfig 命令查看当前有效配置(Active config) 。此外可通过执行 show | compare 比对候选配置和有效配置的差异。SRX 上由于配备大容量硬盘存储器,缺省按先后 commit 顺序自动保存 50 份有效配置,并可通过执行 rolback 和 commit 命令返回到以前配置(如 rollback 0/commit 可返回到前一 commit配置) ;也可以直接通过执行 save configname.conf 手动保存当前配置,并执行 load override configname.conf / commit 调用前期手动保存的配置。执行 load factory
9、-default / commit 命令可恢复到出厂缺省配置。SRX 可对模块化配置进行功能关闭与激活,如执行 deactivate security nat/comit 命令可使 NAT相关配置不生效,并可通过执行 activate security nat/commit 使 NAT 配置再次生效。SRX 通过 set 语句来配置防火墙,通过 delete 语句来删除配置,如 delete security nat 和 edit security nat / delete 一样,均可删除 security 防火墙层级下所有 NAT 相关配置,删除配置和ScreenOS 不同,配置过程中需加以
10、留意。1.3 SRX 主要配置内容部署 SRX 防火墙主要有以下几个方面需要进行配置:System:主要是系统级内容配置,如主机名、管理员账号口令及权限、时钟时区、Syslog、 SNMP、系统级开放的远程管理服务(如 telnet)等内容。Interface:接口相关配置内容。Security: 是 SRX 防火墙的主要配置内容,安全相关部分内容全部在 Security 层级下完成配置,如 NAT、Zone、Policy、Address-book、Ipsec 、Screen、Idp 等,可简单理解为 ScreenOS 防火墙安全相关内容都迁移至此配置层次下,除了 Application 自定
11、义服务。Application:自定义服务单独在此进行配置,配置内容与 ScreenOS 基本一致。routing-options: 配置静态路由或 router-id 等系统全局路由属性配置。第 5 页 共 33 页二、SRX 防火墙配置说明2.1 初始安装2.1.1 硬件安装说明1. SRX3600SRX3600 前面板 Slot 1-6 可安装 IOC 或者 SPC 板卡, 后面板 Slot7-9 安装 SPC 板卡, Slot10-12 安装 NPC 或者 SPC 板卡。第 6 页 共 33 页建议:此次 SRX3600 防火墙配置两个 SPC、一个 NPC,为了设备能有更好的散热性,
12、让设备空出中间槽位,建议把 SPC 板卡安装在设备的后面板的 Slot7 与 Slot9 槽位上(下图红色方框位置) ,NPC 板卡安装在后面板的 Slot12 槽位上(下图蓝色方框) 。2. SRX5800第 7 页 共 33 页SRX5800 机箱标配有 2 块 SCB 插槽,除 SCB 以外设备左右方 0-5 和 6-11 共有 12 个扩展插槽,其中插槽 6 比较特殊,可作为冗余 SCB 插槽 SCB2 或插槽 6 来使用。IOC 与 SPC 共用相同的接口插槽, 可安装在从左至右编号为 0 到 5 或 7 到 11 的任意插槽中。第 8 页 共 33 页建议:此次 SRX5800 防
13、火墙配置两个 SPC,建议把 SPC 板卡安装在设备的 Slot10 与 Slot11 槽位上,IOC 板卡安装在 0-5 上。2.1.2 登陆Console口(通用超级终端缺省配置)连接SRX,root用户登陆,密码为空login: rootPassword:- JUNOS 9.5R1.8 built 2009-07-16 15:04:30 UTCroot% cli /*进入操作模式*/root root configureEntering configuration mode /*进入配置模式*/editRoot#第 9 页 共 33 页2.1.3 设置 root 用户口令设置root用户
14、口令root# set system root-authentication plain-text-passwordroot# new password : root123root# retype new password: root123密码将以密文方式显示root# show system root-authentication encrypted-password “$1$xavDeUe6$fNM6olGU.8.M7B62u05D6.“; # SECRET-DATA注意:强烈建议不要使用其它加密选项来加密root和其它 user口令(如encrypted-password加密方式),此配
15、置参数要求输入的口令应是经加密算法加密后的字符串,采用这种加密方式手工输入时存在密码无法通过验证风险。注:root用户仅用于console连接本地管理SRX,不能通过远程登陆管理SRX,必须成功设置root口令后,才能执行commit提交后续配置命令。2.1.4 JSRP 初始化配置JSRP 是 Juniper SRX 的私有 HA 协议,对应 ScreenOS 的 NSRP 双机集群协议,支持 A/P 和A/A 模式,JSRP 对 ScreenOS NSRP 协议和 JUNOS Cluster 集群技术进行了整合集成,熟悉NSRP 协议有助于对 JSRP 协议的理解。JSRP 和 NSRP
16、最大的区别在于 JSRP 是完全意义上的Cluster 概念,两台设备完全当作一台设备来看待,两台设备的接口板卡顺序编号、运维变更将对两台设备同时进行操作,无需额外执行 ScreenOS 的配置和会话同步等操作,而 ScreenOS NSRP 可看作在同步配置和动态对象(session)基础上独立运行的两台单独设备。JSRP 要求两台设备在软件版本、硬件型号、板卡数量、插槽位置及端口使用方面严格一一对应。由于 SRX 是转发与控制层面完全分裂架构,JSRP 需要控制层面 (配置同步) 和数据层面(Session 同步)两个平面的互联 ,建议控制和数据层面互联链路使用光纤链路直连(部分平台强制要
17、求光纤链路直连) 。1. SRX3600 JSRP 配置第 10 页 共 33 页JSRP 接口命名方式采用多个机箱抽象成一个逻辑机箱之后再统一为各个槽位进行编号,如上所示的 SRX3600,每个 SRX3600 机箱可扩展有 12 个槽位,节点 0 槽位号从 0 开始编号,节点1 槽位号从 13 开始往后编。防火墙的的心跳连线分为两种,一个是控制心跳线(Control Plane connection) ,一个是数据心跳线(Data Plane Connection)。SRK3000 系列 的 SFB 上已设计有专门的 Control Port (通过内部总线直接连接到 RE),不需要单独指
18、定,目前版本只支持 port 0 互连,如下图:2. SRX5800 JSRP 配置JSRP 接口命名方式采用多个机箱抽象成一个逻辑机箱之后再统一为各个槽位进行编号,如上所示的 SRX5800,每个 SRX5800 机箱有 12 个业务槽位,节点 0 槽位号从 0 开始编号,节点 1槽位号从 12 开始往后编。防火墙的的心跳连线分为两种,一个是控制心跳线(Control Plane connection) ,一个是数据心跳线(Data Plane Connection)。采用一个 16 口千兆板卡+一个 4 口万兆的防火墙对接方式:控制心跳线的连接,是通过 SPC 卡上的接口互联,采用一条千兆
19、光纤互联。由于插在标号较小的槽位上的 SPC 同时要负责总体协调所有其他 SPC 的流量分担工作,为了减少对此 SPC 的压力,建议采用标号较大槽位上的 SPC 卡用来做控制心跳线的互联。第 11 页 共 33 页数据心跳线的连接,是通过 16 口千兆接口卡上的接口互联,采用两条千兆光纤互联。为了便于识别,不会与业务连接线混淆,建议采用千兆板卡上的最后两个接口。采用两个 4 口万兆板卡的防火墙对接方式:控制心跳线的连接,是通过 SPC 卡上的接口互联,采用一条千兆光纤互联。由于插在标号较小的槽位上的 SPC 同时要负责总体协调所有其他 SPC 的流量分担工作,为了减少对此 SPC 的压力,建议
20、采用标号较大槽位上的 SPC 卡用来做控制心跳线的互联。数据心跳线的连接,是通过 4 口万兆接口卡上的接口互联,采用两条万兆光纤互联。为了便于识别,不会与业务连接线混淆,建议采用两个万兆板卡上的最后一个接口。另外,SRX5800 为分区供电,编号为 0 号和 2 号电源为 6-11 槽及右边的 SCB、下方的风扇供电,编号 1 号和 3 号的电源为 0-5 槽及左边的 SCB、上方的风扇供电。所以在连接电源线时,请确保 0 号和 1 号连接同一路电源;2 号和 3 号连接另外一路电源,这样确保同一个区域的电源不会同时失效。整个 JSRP 配置过程包括如下 7 个步骤 配置 Cluster id
21、 和 Node id (对应 ScreenOS NSRP 的 cluster id 并需手工指定设备使用节点id) 指定 Control Port (指定控制层面使用接口,用于配置同步及心跳) 指定 Fabric Link Port (指定数据层面使用接口,主要 session 等 RTO 同步) 配置 Redundancy Group (类似 NSRP 的 VSD group,优先级与抢占等配置) 每个机箱的个性化配置 (单机无需同步的个性化配置,如主机名、带外管理口IP 地址等) 配置 Redundant Ethernet Interface (类似 NSRP 的 Redundant 冗余
22、接口) 配置 Interface Monitoring (类似 NSRP interface monitor,是 RG 数据层面切换依据)SRX JSRP 配置样例如下: 配置 Cluster id 和 Node id第 12 页 共 33 页在主墙 operational 模式下执行:SRX-Aset chassis cluster cluster-id 1 node 0 reboot(注意该命令需在 operational 模式下输入,Cluster ID 取值范围为 1 15,当 Cluster ID = 0 时将忽略 JSRP 功能)在备墙 operational 模式下执行:SRX-
23、Bset chassis cluster cluster-id 1 node 1 reboot以上两句配置后,设备自动重启,命令不显示。 指定 Control Port(如果主控板 RE 上有固定 control-ports,则无需指定,SRX5800 需配置,SRX3600 无需配置 ):在主防火墙上在 configure 模式下执行, 在备防火墙上用 configure shared 分别执行如下两条命令:set chassis cluster control-ports fpc 11 port 0 set chassis cluster control-ports fpc 23 port
24、 0(11 是指 SPC 板卡的槽位,0-11) (主备执行)(23 是指 SPC 板卡的槽位,12-23,主+12 ) (主备执行) 指定 Fabric Link Port 在主防火墙上在 configure 模式下执行, 在备防火墙上用 configure shared 分别执行如下两条命令:set interfaces fab0 fabric-options member-interfaces ge-0/1/0set interfaces fab1 fabric-options member-interfaces ge-12/1/0注:Fabric Link 中的 Fab0 固定用于 n
25、ode 0,Fab1 固定用于 node 1端口需要按实际情况改为实际端口。保存提交以上配置,等待双机协商完成后进行下面的操作。待双机协商成功后,以下命令在一台墙上执行即可 配置 Redundancy GroupRG0 固定用于主控板 RE 切换, RG1 以后用于 redundant interface 切换,RE 切换独立于接口切换set chassis cluster reth-count 10 (指定整个 Cluster 中 redundant ethernet interface 最多数量)set chassis cluster redundancy-group 0 node 0 p
26、riority 200 (高值优先,与 NSRP 相反)set chassis cluster redundancy-group 0 node 1 priority 100set chassis cluster redundancy-group 1 node 0 priority 200 (高值优先,与 NSRP 相反)set chassis cluster redundancy-group 1 node 1 priority 100 每个机箱的个性化配置,便于对两台设备的区分与管理set groups node0 system host-name SRX-Aset groups node0
27、interfaces fxp0 unit 0 family inet address 1.1.1.1/24 (带外网管口名称为 fxp0,区别 ScreenOS 的 MGT 口)set groups node1 system host-name SRX-Bset groups node1 interfaces fxp0 unit 0 family inet address 1.1.1.2/24第 13 页 共 33 页set apply-groups $node (应用上述 groups 配置) 配置 Redundant Ethernet InterfaceRedundant Ethernet
28、 Interface 类似 ScreenOS 里的 redundant interface,只不过 Redundant Ethernet interface 是分布在不同的机箱上 (这一特性又类似 ScreenOS 的 VSI 接口)。这里面的举例是配置两个业务端口。set interface ge-0/1/4 gigether-options redundant-parent reth0 (node 0 的 ge-0/0/0 接口)set interface ge-12/1/4 gigether-options redundant-parent reth0 (node 1 的 ge-0/0/
29、0 接口)set interface reth0 redundant-ether-options redundancy-group 1 (reth0 属于 RG1)set interface reth0 unit 0 family inet address 192.168.0.1/24set interface ge-0/1/5 gigether-options redundant-parent reth1 (node 0 的 ge-0/0/0 接口)set interface ge-12/1/5 gigether-options redundant-parent reth1 (node 1
30、的 ge-0/0/0 接口)set interface reth1 redundant-ether-options redundancy-group 1 (reth1 属于 RG1)set interface reth1 unit 0 family inet address 192.168.1.1/24 配置 Interface Monitoring,被监控的接口 Down 掉后,RG1 将自动进行主备切换(与ScreenOS 类似) 。set chassis cluster redundancy-group 1 interface-monitor ge-0/1/4 weight 255set
31、 chassis cluster redundancy-group 1 interface-monitor ge-12/1/4 weight 255set chassis cluster redundancy-group 1 interface-monitor ge-0/1/5 weight 255set chassis cluster redundancy-group 1 interface-monitor ge-12/1/5 weight 255set chassis cluster control-link-recovery如果控制心跳中断,备件会自动进入disable状态;配置此命令后
32、,如果控制心跳恢复,备件会自动重启恢复backup状态 配置 track ip,被监控的 IP 地址无法连通后,RG1 将自动进行主备切换(与 ScreenOS 类似) 。set chassis cluster redundancy-group 1 ip-monitoring family inet 11.168.146.25 weight 255 (指定要监控的IP地址的权重)set chassis cluster redundancy-group 1 ip-monitoring family inet 11.168.146.25 interface reth0.31 secondary-i
33、p-address 11.168.146.30 (11.168.146.25为被监控的IP地址,绑定的接口为reth0.31,主机使用reth0.31 的IP 地址去探测被监控IP地址的连通性,备机使用secondary-ip-address 探测)可选配置:set chassis cluster redundancy-group 1 ip-monitoring global-weight 255(IP地址监控全局权重)set chassis cluster redundancy-group 1 ip-monitoring global-threshold 255 (IP地址监控全局阀值)se
34、t chassis cluster redundancy-group 1 ip-monitoring retry-count 5 (IP地址重试计数)set chassis cluster redundancy-group 1 ip-monitoring retry-interval 1 (IP地址重试时间间隔,单位为秒)第 14 页 共 33 页 检查双机状态:查看cluster 节点状态、主备关系show chassis cluster status手工进行防火墙主备切换request chassis cluster failover redundancy-group 0 node 12.
35、1.5 设置远程登陆管理用户执行如下命令,创建超级用户 class 和只读用户 class。set system login class read-only-local idle-timeout 10set system login class read-only-local permissions accessset system login class read-only-local permissions adminset system login class read-only-local permissions firewallset system login class read-
36、only-local permissions interfaceset system login class read-only-local permissions routingset system login class read-only-local permissions secretset system login class read-only-local permissions secret-controlset system login class read-only-local permissions securityset system login class read-o
37、nly-local permissions snmpset system login class read-only-local permissions viewset system login class read-only-local permissions view-configurationset system login class read-only-local allow-commands “request support information“set system login class super-user-local idle-timeout 30set system l
38、ogin class super-user-local permissions allcommit 后,创建需要的超级用户和只读用户:root# set system login user admin class super-user-local authentication plain-text-passwordroot# new password : lab123root# retype new password: lab123注:此 lab 用户拥有超级管理员权限,可用于 console 和远程管理访问,另也可自行灵活定义其它不同管理权限用户。root# set system login
39、 user monitor class read-only-local authentication plain-text-passwordroot# new password : lab123root# retype new password: lab123注:此 lab 用户拥有超级管理员权限,可用于 console 和远程管理访问,另也可自行灵活定义其它不同管理权限用户。第 15 页 共 33 页2.1.6 远程管理 SRX 相关配置run set date YYYYMMDDhhmm.ss /*设置系统时钟*/set system time-zone Asia/Shanghai /*设置
40、时区为上海*/set system ntp server x.x.x.x preferset system ntp server y.y.y.y/*在系统级开启 ssh/https 远程接入管理服务*/set system services ssh protocol-version v2set system services web-management https system-generated-certificateset system login message “Warning: Unauthorized access are forbidden!All rights reserve
41、d.“/*当 console 线缆拔出时,自动结束当前 session*/set system ports console log-out-on-disconnect/*设置路由*/set routing-options static route x.x.x.x/x next-hop y.y.y.y2.1.7 ZONE 及相关接口的配置/*定义各个区域的接口*/set interfaces ge-0/1/4 gigether-options redundant-parent reth0set interfaces ge-0/1/5 gigether-options redundant-pare
42、nt reth1 set interfaces ge-12/1/4 gigether-options redundant-parent reth0set interfaces ge-12/1/5 gigether-options redundant-parent reth1/*将接口加入 RG1 中*/set interfaces reth0 redundant-ether-options redundancy-group 1set interfaces reth1 redundant-ether-options redundancy-group 1/*配置接口的 IP 地址*/set int
43、erfaces reth0 unit 0 family inet address 192.168.0.1/24set interfaces reth1 unit 0 family inet address 192.168.1.1/24第 16 页 共 33 页/*将接口加入 zone*/set security zones security-zone trust interfaces reth0.0set security zones security-zone untrust interfaces reth1.0/*在 untrust zone 打开允许远程登陆管理服务*/set secur
44、ity zones security-zone trust host-inbound-traffic system-services pingset security zones security-zone trust host-inbound-traffic system-services tracerouteset security zones security-zone untrust host-inbound-traffic system-services pingset security zones security-zone trust host-inbound-traffic s
45、ystem-services traceroute2.2 PolicyPolicy 配置方法与 ScreenOS 基本一致,仅在配置命令上有所区别,其中策略的允许/拒绝的动作(Action)需要额外配置一条 then 语句(将 ScreenOS 的一条策略分解成两条及以上配置语句)。Policy 需要手动配置 policy name,policy name 可以是字符串,也可以是数字(与 ScreenOS 的policy ID 类似, 只不过需要手工指定) 。定义地址或者地址组set security zones security-zone trust address-book address
46、 pc1 10.1.1.10/32set security zones security-zone untrust address-book address server1 10.0.2.1/32/*与 ScreenOS 一样,在 trust 和 untrust zone 下分别定义地址对象便于策略调用,地址对象的名称可以是地址/掩码形式*/set security zones security-zone trust address-book address-set addr-group1 address pc1/*在 trust zone 下定义名称为 add-group1 的地址组,并将
47、pc1 地址放到该地址组中*/定义 applicationset applications application app_name protocol tcpset applications application app_name source-port 1-65535set applications application app_name destination-port xxxset applications application app_name inactivity-timeout xx定义策略set security policies from-zone trust to-zo
48、ne untrust policy 001 match source-address addr-group1 destination-address server1 application anyset security policies from-zone trust to-zone untrust policy 001 then permit/*定义从 trust 到 untrust 方向 permit 策略,允许 addr-group1 组的源地址访问 server1 地址any 服务*/第 17 页 共 33 页或者:set security policies from-zone tr
49、ust to-zone untrust policy policy_name match source-address addressname / address_group_nameset security policies from-zone trust to-zone untrust policy policy_name match destination-address addressname / address_group_nameset security policies from-zone trust to-zone untrust policy policy_name match application application_name / application-set_nameset security policies from-zone trust to-zone untrust policy policy_name then permit添加策略的选项set security policies from-zone trus