防火墙脚本命令

概述

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

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

脚本文件语法

创建脚本中描述脚本文件的语法。

一般防火墙命令

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

Command

描述

Firewall Enable

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

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

Firewall Disable

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

Firewall Ethx Default Allow(1)

帧 上的控制器接收。

Firewall Ethx Default Reject(1)

帧 上的控制器拒绝。

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

(1),其中,Ethx =

oEth1:Ethernet_1

oEth2:Ethernet_2

oEth3: TMSES4

特定防火墙命令

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

Command

范围

描述

Firewall Eth1 Allow IP •.•.•.•

• = 0...255

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

Firewall Eth1 Reject IP •.•.•.•

• = 0...255

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

Firewall Eth1 Allow IPs •.•.•.• to •.•.•.•

• = 0...255

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

Firewall Eth1 Reject IPs •.•.•.• to •.•.•.•

• = 0...255

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

Firewall Eth1 Allow port_type port Y

Y =(目标端口号

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

Firewall Eth1 Reject port_type port Y

Y =(目标端口号

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

Firewall Eth1 Allow port_type ports Y1 to Y2

Y =(目标端口号

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

Firewall Eth1 Reject port_type ports Y1 to Y2

Y =(目标端口号

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

Firewall Eth1 Allow IP •.•.•.• on port_type port Y

• = 0...255

Y =(目标端口号

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

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

• = 0...255

Y =(目标端口号

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

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

• = 0...255

Y =(目标端口号

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

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

• = 0...255

Y =(目标端口号

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

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

• = 0...255

Y =(目标端口号

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

Firewall Eth1 Reject IPs •1.•1.•1.•1 to •2.•2.•2.•2 on port_type port Y

• = 0...255

Y =(目标端口号

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

Firewall Eth1 Allow IPs •1.•1.•1.•1 to •2.•2.•2.•2 on port_type ports Y1 to Y2

• = 0...255

Y =(目标端口号

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

Firewall Eth1 Reject IPs •1.•1.•1.•1 to •2.•2.•2.•2 on port_type ports Y1 to Y2

• = 0...255

Y =(目标端口号

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

Firewall Eth1 Allow MAC ••:••:••:••:••:••

• = 0...F

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

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

Firewall Eth1 Reject MAC ••:••:••:••:••:••

• = 0...F

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

Firewall Ethx (1) Established to port_type port Y

Y = 0...65535

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

(1) 如果:

ox=0,则为 USB 端口。

ox=1,则为 Ethernet 1 端口。

ox=2,则为 Ethernet 2 端口。

ox=3,则为 TMSES4 的以太网端口。

脚本示例

; 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;

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

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

命令

注释

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 上的 web visu (https)。

Firewall Eth2 Allow TCP port 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 IP 192.168.1.1 to IP 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 上的 UDP 端口 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

Machine Expert Discovery

UDP 27126、27127

Web Services Dynamic Discovery

UDP 3702

TCP 5357

SNMP

UDP 161、162

NVL

UDP 缺省值:1202

EtherNet/IP

UDP 2222

TCP 44818

Webvisualization

TCP 8080

HTTPS 8089