防火墙脚本命令

概述

本节介绍如何编写脚本文件(缺省脚本文件或动态脚本文件),以便在启动控制器期间或触发的特定命令期间执行脚本文件。

注: MAC 层规则被单独管理,其优先级高于其他包过滤规则。

脚本文件语法

脚本文件的语法说明见创建脚本

一般防火墙命令

提供下列命令以管理 M262 Logic/Motion Controller 以太网防火墙:

命令

描述

Firewall Enable

阻止来自 Ethernet 接口的帧。如果未授权特定 IP 地址或端口,将无法在 Ethernet 接口上进行任何通讯。

注: 缺省情况下,在启用防火墙时,将拒绝帧。

Firewall Disable

不应用防火墙规则。不拦截帧。

Firewall Ethx Default Allow(1)

帧由接口 Ethx 上的控制器接收。

Firewall Ethx Default Reject (1)

帧由接口 Ethx 上的控制器拒绝。

注: 缺省情况下,如果不存在此行,则相当于命令 Firewall Eth1 Default Reject

(1) 其中,Ethx =

  • Eth0:USB 端口

  • Eth1:Ethernet_1

  • Eth2:Ethernet_2

  • Eth3:TMSES4

  • Eth4:TMSES4_1

  • Eth5:TMSES4_2

特定防火墙命令

提供下列命令以配置特定端口和地址的防火墙规则:

命令

范围

描述

Firewall Ethx Allow IP •.•.•.•(1)

= 0...255

在所有端口号和端口类型上允许来自指定 IP 地址的帧。

Firewall Ethx Reject IP •.•.•.•(1)

= 0...255

在所有端口号和端口类型上拒绝来自指定 IP 地址的帧。

Firewall Ethx Allow IPs •.•.•.• to •.•.•.•(1)

= 0...255

所有端口号和端口类型都允许来自指定范围中的 IP 地址的帧。

注: 特定 IP 地址范围的规则在被建立时,将在控制器中转换为 CIDR 格式。

示例:“防火墙 Eth2 在 TCP 端口 44818 上允许的 IP 范围为 192.168.100.66 至 192.168.100.99”被划分为 7 个部分:

  • 192.168.100.66/31

  • 192.168.100.68/30

  • 192.168.100.72/29

  • 192.168.100.80/28

  • 192.168.100.96/27

  • 192.168.100.128/26

  • 192.168.100.192/29

使用整个子网 IP 范围,能够避免防火墙规则饱和。

Firewall Eth1 Reject IPs •.•.•.• to •.•.•.•(1)

= 0...255

所有端口号和端口类型都拒绝来自指定范围中的 IP 地址的帧。

Firewall Eth1 Allow port_type port Y(1)

Y =(目标端口号

允许带有指定目标端口号的帧。

Firewall Eth1 Reject port_type port Y(1)

Y =(目标端口号

拒绝带有指定目标端口号的帧。

注: 在激活了 IP 转发后,拒绝端口规则仅滤除以当前控制器为目的地的帧。这些规则对于当前控制器路由的帧不适用。

Firewall Eth1 Allow port_type ports Y1 to Y2 (1)

Y =(目标端口号

允许带有指定范围中的目标端口号的帧。

Firewall Eth1 Reject port_type ports Y1 to Y2 (1)

Y =(目标端口号

拒绝带有指定范围中的目标端口号的帧。

Firewall Eth1 Allow IP •.•.•.• on port_type port Y(1)

= 0...255

Y =(目标端口号

允许来自指定 IP 地址并带有指定目标端口号的帧。

Firewall Ethx Reject IP •.•.•.• on port_type port Y

= 0...255

Y =(目标端口号

拒绝来自指定 IP 地址并带有指定目标端口号的帧。

Firewall Ethx Allow IP •.•.•.• on port_type ports Y1 to Y2

= 0...255

Y =(目标端口号

允许来自指定 IP 地址并带有指定范围中的目标端口号的帧。

Firewall Ethx Reject IP •.•.•.• on port_type ports Y1 to Y2

= 0...255

Y =(目标端口号

拒绝来自指定 IP 地址并带有指定范围中的目标端口号的帧。

Firewall Ethx Allow IPs •1.•1.•1.•1 to •2.•2.•2.•2 on port_type port Y

= 0...255

Y =(目标端口号

允许来自指定范围中的 IP 地址并带有指定目标端口号的帧。

Firewall Ethx Reject IPs •1.•1.•1.•1 to •2.•2.•2.•2 on port_type port Y(1)

= 0...255

Y =(目标端口号

拒绝来自指定范围中的 IP 地址并带有指定目标端口号的帧。

Firewall Ethx Allow IPs •1.•1.•1.•1 to •2.•2.•2.•2 on port_type ports Y1 to Y2(1)

= 0...255

Y =(目标端口号

允许来自指定范围中的 IP 地址并带有指定范围中的目标端口号的帧。

Firewall Ethx Reject IPs •1.•1.•1.•1 to •2.•2.•2.•2 on port_type ports Y1 to Y2(1)

= 0...255

Y =(目标端口号

拒绝来自指定范围中的 IP 地址并带有指定范围中的目标端口号的帧。

Firewall Ethx Allow MAC ••:••:••:••:••:••(1)

• = 0...F

允许来自指定 MAC 地址 ••:••:••:••:•• 的帧。

注: 当应用了允许 MAC 地址的规则时,即便允许其他规则,也只有列出的 MAC 地址才能够与控制器通讯。

Firewall Ethx Reject MAC ••:••:••:••:••:••(1)

• = 0...F

拒绝带有指定 MAC 地址 ••:••:••:••:•• 的帧。

Firewall Ethx (1) Established to port_type port Y

Y = 0...65535

允许建立从采用 TCP/UDP 协议的控制器到指定目标端口号的帧。

(1) 其中,Ethx =

  • Eth0:USB 端口

  • Eth1:Ethernet_1

  • Eth2:Ethernet_2

  • Eth3:TMSES4

  • Eth4:TMSES4_1

  • Eth5:TMSES4_2

注: 在激活了 IP 转发后,拒绝端口规则仅滤除以当前控制器为目的地的帧。这些规则对于当前控制器路由的帧不适用。

脚本示例

; Enable FireWall. All frames are rejected;

FireWall Enable;

; Allow frames on Eth1

FireWall Eth1 Default Allow;

; Block all Modbus Requests on all IP address

Firewall Eth1 Reject tcp port 502;

; Reject frames on Eth2

FireWall Eth2 Default Reject;

; Allow FTP active connection for IP address 85.16.0.17

FireWall Eth2 Allow IP 85.16.0.17 on tcp ports 20 to 21;

注: IP 地址被转换为 CIDR 格式。

例如:

"FireWall Eth2 Allow IPs 192.168.100.66 to 192.168.100.99 on tcp port 44818;",划分为以下 7 个部分:

  • 192.168.100.66/31

  • 192.168.100.68/30

  • 192.168.100.72/29

  • 192.168.100.80/28

  • 192.168.100.96/27

  • 192.168.100.128/26

  • 192.168.100.192/29

如要防止防火墙错误,请使用完整的子网配置。

下面是防火墙的白名单模式示例。示例中缺省拦截所有通讯,仅允许必要的服务。

注: 此示例旨在显示防火墙可用的大多数命令。在具体实施前,应根据您的配置对其加以调整和测试。

命令

注释

Firewall Enable

;启用防火墙。

Eth1 配置

Firewall Eth1 Default Reject

;拒绝接口 ETH1 上的所有帧。

;在此示例中,ETH1 连接到工业以太网设备网络,因此可信度相对较高。

Firewall Eth1 Allow TCP port 502

;允许接口 ETH1 上的 Modbus TCP 服务器。

;不对 Modbus 执行身份验证,因此它仅允许用在可信的网络上。

Firewall Eth1 Established to TCP port 502

;允许对由控制器建立的到 TCP 端口 502 的通讯给予答复。

;在使用 PlcCommunication 库来藉由 Modbus TCP 协议通讯时,这是必需的。

Firewall Eth1 Allow UDP port 2222

;允许 ETHIP 扫描器隐式交换对接口 ETH1 上的 UDP 端口 2222 (ETHIP) 的答复。

Firewall Eth1 Established to TCP port 44818

;允许对由控制器建立的到接口 ETH1 上的 TCP 端口 44818 (ETHIP) 的通讯给予答复。

;最后 2 个命令允许 EtheNetIP 扫描器与工业以太网设备通讯。

Eth2 配置

Firewall Eth2 Default Reject

;拒绝接口 ETH2 上的所有帧。此接口连接到主要用于调试的网络。

Firewall Eth2 Allow TCP port 4840

;允许接口 ETH2 上的 OPC-UA 服务器。

Firewall Eth2 Allow TCP port 443

;允许接口 ETH2 上的 Web 服务器 (https)。

Firewall Eth2 Allow TCP port 8089

;允许接口 ETH2 上的 WebVisualisation (https)。

Firewall Eth2 Allow TCP ports 20 to 21

;允许接口 ETH2 上的 FTP 激活模式。

Firewall Eth2 Allow IP 192.168.1.1 on UDP ports 27126 to 27127

;允许使用调试 PC 的 IP 来发现并配置控制器的 IP 地址。

;它仅允许用在可信的网络上,因为即使配置了用户权限,也可以更改 IP。

Firewall Eth2 Allow IPs 192.168.1.1 to 192.168.1.2 on UDP port 1740

;允许使用调试 PC 的 IP 和 HMI 来藉由 Machine Expert 协议与控制器通讯。

Firewall Eth2 Allow TCP port 11740

;允许接口 ETH2 上的 Fast TCP。这允许使用 TCP 连接到控制器。

Firewall Eth2 Allow TCP port 2222

;允许与接口 ETH2 上的 UDP 端口 2222 (ETHIP) 进行隐式通讯。

Firewall Eth2 Allow TCP port 44818

;允许与接口 ETH2 上的 TCP 端口 44818 (ETHIP) 进行显式通讯。最后 2 个命令允许将控制器用作 EtherNetIP 适配器。

Firewall Eth2 Allow MAC 4C:CC:6A:A1:09:C8

;允许 HMI 的 MAC 地址。

Firewall Eth2 Allow MAC 00:0C:29:92:43:A8

;允许调试 PC 的 MAC 地址。只有允许的 MAC 地址才能够与控制器通讯。

Eth3 配置 TMSES4

Firewall Eth3 Default Reject

;拒绝 TMSES4 上的帧。此接口连接到工厂网络,并且能够访问网页。它应被视为不可信。

Firewall Eth3 Established to TCP port 443

;允许接口 TMSES4 上的 http 客户端(比如,连接到 Machine Advisor)。

Firewall Eth3 Allow TCP port 11740

;允许接口 TMSES4 上的 Fast TCP。这允许远程连接到控制器。除非激活了控制器上的用户权限,否则不得使用此命令。

注: 每行字符数不超过 200 个(包括注释)。

使用的端口

协议

目标端口号

Machine Expert

UDP 1740、1741、1742、1743

TCP 11740

FTP

TCP 21、20

HTTP

TCP 80

HTTPS

TCP 443

Modbus

TCP 502

OPC UA

TCP 4840

Machine Expert Discovery

UDP 27126、27127

Bonjour 发现协议

UDP 5353

Web Services Dynamic Discovery

UDP 3702

TCP 5357

SNMP

UDP 161、162

NVL

UDP 缺省值:1202

EtherNet/IP

UDP 2222

TCP 44818

WebVisualisation

HTTP 8080

HTTPS 8089

TFTP

UDP 69(仅用于 FDR 服务器)

SafeLogger

UDP 35021、45000

Machine Assistant

UDP 45001...45004