Juniper SRX 防火墙基础上网配置:SNAT 与安全策略 - 夜莺博客

Juniper SRX 防火墙基础上网配置:SNAT 与安全策略

给一台 SRX 做"能上网"的基础配置,真正的难点不在于敲命令,而在于理解 Junos 的两条规则:报文只有在不同安全区域之间流动时才会触发安全检查,同一个区域内的通信不受策略约束;以及接口的 IP 地址必须与 DHCP 池同网段,配置完成后才会自动关联。本文按可复现的顺序,把 SRX 从零到能上网的每一步拆开,包括 base 配置、接口与默认路由、安全区域、SNAT、安全策略与 DHCP。

Juniper SRX 防火墙基础上网实验拓扑:LAN 侧 PC、SRX01 与 ISP 路由器互联

1. 基础配置:root 密码、主机名、时区与 NTP

vSRX 默认没有 root 密码,首次登录会强制要求设置,这一步无法跳过:

set system root-authentication plain-text-password
set system host-name SRX01
set system time-zone Asia/Shanghai
set system ntp server 1.1.1.1
show | compare
commit

安全设备的时间非常重要:日志时间戳、证书校验、Kerberos 认证、IPsec 重放窗口全部依赖准确时间。时区文件可能需要手动导入。提交前先用 show | compare 看一遍差异,这是 Junos 里性价比最高的一个习惯。

2. 接口地址与默认路由

set interfaces ge-0/0/0 description LAN1
set interfaces ge-0/0/0 unit 0 family inet address 192.168.0.1/24
set interfaces ge-0/0/1 description WAN1
set interfaces ge-0/0/1 unit 0 family inet address 1.1.1.1/24
set routing-options static route 0.0.0.0/0 next-hop 1.1.1.2

验证路由表与连通性:

show route
ping 114.114.114.114

此时如果 ping 不通是正常的——接口还没有加入任何安全区域,SRX 对未归属区域的接口不做转发处理。这是初学者最容易误判为"配置错了"的一步。

3. 安全区域与 host-inbound-traffic

安全区域是一个或多个接口的集合,是防火墙区别于路由器的核心特性:防火墙上用它来划分网络、标识报文流动的路径,报文只有跨区域流动时才触发安全检查。

set security zones security-zone LAN
set security zones security-zone LAN host-inbound-traffic system-services all
set security zones security-zone LAN host-inbound-traffic protocols all
set security zones security-zone LAN interfaces ge-0/0/0.0

set security zones security-zone WAN
set security zones security-zone WAN host-inbound-traffic system-services ping
set security zones security-zone WAN interfaces ge-0/0/1.0

注意 LAN 区域放开了所有 system-services 与 protocols(实验环境),而 WAN 区域只允许 ICMP 进入。生产环境里 WAN 区域通常只放行必要的管理服务,绝不放 all——host-inbound-traffic 控制的是发往设备本身的流量,放行过多等于把设备管理面暴露在公网。

4. SNAT:让内网访问公网

set security nat source rule-set LAN_to_WAN_SNAT from zone LAN
set security nat source rule-set LAN_to_WAN_SNAT to zone WAN
set security nat source rule-set LAN_to_WAN_SNAT rule Default_NAT match source-address 0.0.0.0/0
set security nat source rule-set LAN_to_WAN_SNAT rule Default_NAT then source-nat interface

then source-nat interface 表示借用出接口地址做源地址转换,适合单出口、地址不固定的场景。若出口有固定公网地址池,应改为 then source-nat pool 指向配置好的地址池。

5. 安全策略:放行 LAN 到 WAN

set security policies from-zone LAN to-zone WAN policy ALLOW-TO-WAN match source-address any
set security policies from-zone LAN to-zone WAN policy ALLOW-TO-WAN match destination-address any
set security policies from-zone LAN to-zone WAN policy ALLOW-TO-WAN match application any
set security policies from-zone LAN to-zone WAN policy ALLOW-TO-WAN then permit

SNAT 与安全策略是两件事,缺一不可:SNAT 决定源地址怎么转换,安全策略决定这个方向的会话是否被允许。只配 SNAT 不配策略,表现就是"地址转换生效了但流量还是不通"。

6. DHCP 服务

set system services dhcp pool 192.168.0.0/24 address-range low 192.168.0.101
set system services dhcp pool 192.168.0.0/24 address-range high 192.168.0.200
set system services dhcp pool 192.168.0.0/24 name-server 114.114.114.114
set system services dhcp pool 192.168.0.0/24 router 192.168.0.1
set system services dhcp pool 192.168.0.0/24 default-lease-time 3600
set security zones security-zone LAN interfaces ge-0/0/0.0 host-inbound-traffic system-services dhcp

最后一行是关键:DHCP 属于发往设备自身的流量,必须在区域上显式放行。验证命令:

show system services dhcp pool
show system services dhcp binding
show system services dhcp statistics

show system services dhcp binding 能直接看到已分配的 IP、MAC 与租约到期时间,是排障时第一个该看的输出。

7. 排障顺序建议

  1. show route 确认默认路由存在。
  2. show security zones 确认两个接口都已在正确的区域里。
  3. show security policies 确认策略方向正确(from-zone / to-zone 反了是常见错误)。
  4. show security flow session 确认会话是否建立;没有会话就回到第 2、3 步。
  5. 抓包定位是 SNAT 前还是 SNAT 后丢包。

安全区域与策略的更完整说明见 Juniper SRX 安全区域与策略配置,会话级排障见 Junos SRX 会话调试。

8. 两个常见变体

多出口与固定公网地址池:出口有固定地址池时,把 SNAT 的动作改为指向地址池,其余配置不变:

set security nat source pool POOL_WAN address 1.1.1.10 to 1.1.1.20
set security nat source rule-set LAN_to_WAN_SNAT rule Default_NAT then source-nat pool POOL_WAN

地址池方式便于在上游做基于源地址的策略,代价是需要维护地址与端口映射关系,会话数上限也受地址数量限制。

只放行特定业务:把 application any 换成具体应用更安全。实验环境放行 any 没问题,生产环境建议按业务逐条放行,例如:

set applications application HTTP-80 protocol tcp destination-port 80-80
set security policies from-zone LAN to-zone WAN policy WEB match application HTTP-80
set security policies from-zone LAN to-zone WAN policy WEB then permit

注意自定义应用必须显式定义协议与端口,否则策略无法匹配;show security policies hit-count 可以确认每条策略是否真正命中,比反复抓包高效得多。

原文链接:https://songxwn.com/Juniper-SRX-snat/