网络安全

NAT、防火墙与 VPN(S615)配置教程

W734 NAPT、S615 NETMAP、IPsec VPN 以及 S7 通信穿越 NAT 的排查方法。

基于 02_NAT_VPN.md 中 3 条对话内容整理 对话涵盖:NAT 穿越 S7 通信、地址冲突 NETMAP 解决、S615 IPsec VPN


一、W734 NAT 穿越 S7 通信#

场景描述#

PLC-A(192.168.10.10)通过 W734 NAT 访问 PLC-B(真实 192.168.0.10,映射 192.168.10.11)。PLC-B 主动 GET PLC-A 成功,但 PLC-A 主动 PUT PLC-B 失败。

根因分析#

  • B 发 GET 属于"内网设备主动访问外网",W734 做源 NAT 自动维护会话
  • A 发 PUT 属于"外部设备主动访问内网 PLC",必须依赖 W734 的目的 NAT/NAPT 端口转发

配置步骤#

Step 1:配置 W734 NAPT 端口转发

Layer 3 → NAT → NAPT
  Traffic Type = TCP
  Global IP    = 192.168.10.11    (映射到主干网的地址)
  Global Port  = 102              (S7 ISO-on-TCP 端口)
  Local IP     = 192.168.0.10     (PLC-B 真实地址)
  Local Port   = 102
  启用该条目

Step 2:S7 连接改为未指定伙伴

  • PLC-A 中 PUT 连接的目标 IP 填转换地址 192.168.10.11,非真实地址
  • 不要两端都指定伙伴,建议用单边连接(Unspecified Partner)
  • 对端 TSAP 常用资源 03(如 03.01

Step 3:PLC 侧检查清单

  • [ ] PLC-B 启用"允许来自远程伙伴的 PUT/GET 通信访问"
  • [ ] PLC-B 默认网关指向 W734 内侧接口 IP(如 192.168.0.1
  • [ ] 从主干网电脑测试 TCP 连通性:telnet 192.168.10.11 102

排查顺序#

1. 主干网电脑能否连通 192.168.10.11:102?
   ├─ 能通但 PUT 报错 → TIA 连接/TSAP/PUT 权限问题
   └─ TCP 102 不通   → W734 NAPT 或防火墙/ACL 问题

二、S615 NETMAP 解决 PLC 地址冲突#

场景描述#

两台 S7-1215 PLC 使用相同 IP 192.168.20.10,一台在 S615 后(VLAN20,有网关),另一台在 XM408C P8 口(VLAN20,无网关),地址和网关均不可更改,需建立 S7 通信。

配置步骤#

Step 1:规划映射地址

设备 真实地址 映射地址 所在 VLAN
PLC-A 192.168.20.10 192.168.80.10 VLAN80
PLC-B 192.168.20.10 192.168.80.20 VLAN80

Step 2:S615 上配置 NETMAP

Security → NAT → NETMAP
  添加两条 1:1 映射规则:
  规则 1: 真实 192.168.20.10 → 映射 192.168.80.10
  规则 2: 真实 192.168.20.10 → 映射 192.168.80.20
  启用 Bidirectional Rule(双向访问)
  启用 Auto Firewall Rule(自动放行)

Step 3:通信验证

  • PLC 之间通过映射后的别名地址互相访问
  • 无需修改 PLC 原始 IP 地址和工程配置
  • 注意 S615 与 XM408 之间的回程路由

三、S615 IPsec VPN 配置#

场景描述#

两台 S615 防火墙之间建立站点到站点 IPsec VPN,连接两个异地工业网络。

完整配置流程#

Step 1:前置条件

  • 两端内网网段必须不同(如 192.168.1.0/24 和 10.10.0.0/24)
  • 两端外网接口互通
  • UDP 500/4500 端口在中间网络上开放

Step 2:S615 VPN 基本设置

Security → IPsec VPN → General Settings
  启用 IPsec VPN
  模式: Standard(站点到站点)
  隧道模式: Tunnel Mode

Step 3:IKE Phase 1 配置

参数 推荐值
认证方式 PSK 或 证书
加密算法 AES-256
完整性 SHA-256
DH Group Group 14 (2048-bit)
生命周期 86400 秒

Step 4:IKE Phase 2 配置

PFS: 启用(DH Group 14)
本端子网: 192.168.1.0/24
远端子网: 10.10.0.0/24

Step 5:防火墙放行规则

创建规则允许 VPN 隧道流量:
  源: 本端内网子网
  目的: 远端子网
  动作: Allow
  接口: VPN 隧道接口

Step 6:NAT Keep Alive

启用 NAT Keep Alive(如果中间有 NAT 设备)
发送间隔: 10 秒

排查要点#

1. VPN 连接建立 → 但无法 Ping 后端设备
   ├─ 后端设备缺少默认网关?
   ├─ S615 缺少 VPN 到内网防火墙规则?
   └─ Windows 没有生成内网路由(Split Tunnel)?

四、通用排查方法#

S7 通信穿越 NAT 的排查漏斗#

网络层:telnet 目标IP 102 是否能通?
  ├─ 不通 → NAPT/防火墙/路由问题
  └─ 通   → S7 连接配置问题
               ├─ 目标 IP 填了转换地址还是真实地址?
               ├─ 两端都是指定伙伴 → 改为未指定伙伴
               └─ PUT/GET 权限是否启用?

关键原则#

  1. 方向性:源 NAT 支持"内→外","外→内"必须配 NAPT 端口转发
  2. 地址选择:S7 连接穿越 NAT 时,目标 IP 填转换后地址
  3. 连接类型:NAT 场景下推荐单边连接/未指定伙伴
  4. 网关设置:内网 PLC 的默认网关必须指向 NAT 设备内侧接口