目录
Ⅰ ALG介绍
Ⅱ VOIP
Ⅲ VOIP目的映射
Ⅰ ALG介绍
一、ALG介绍
概念介绍
会话:记录了传输层报文之间的交互信息,包括源IP地址、源端口、目的IP地址、目的端口,协议类型和源/目的IP地址所属的VPN实例。交互信息相同的报文属于一条流,
通常情况下, 一个会话对应正反两条流,一条流对应一个方向上的一个会话。
动态通道:当应用层协议报文中携带地址信息时,这些地址信息会被用于建立动态通道,后续符合该地址信息的连接将使用已经建立的动态通道来传输数据。
技术 ALG技术实现原理
ALG技术配合NAT特性可支持对报文载荷的地址转换功能;配合ASPF特性可支持动态通道的检测功能,以及对应用层的状态检测功能
对于多通道应用协议,IP报文数据载荷中携带了地址信息,在NAT的组网环境中,为保证后续动态通道的正确建立,这些数据载荷中的地址也需要进行转换,
ALG的作用就是对载荷中的地 址进行转换。
如下是FTP的ALG应用
FTP报文载荷的ALG处理示意图
如图所示,私网侧的主机要访问公网的FTP服务器。NAT设备上配置了私网地址192.168.0.10到公网地址50.10.10.10的映射,实现地址的NAT转换,以支持私网主机对公网的访问。在该组网中,如果没有ALG对报文载荷的处理,私网主机发送的Port报文到达服务器端后,服务器无法识别该报文载荷中的私网地址,也就无法建立正确的数据连接。下面是应用了ALG的FTP连接建立过程。
(1) 首先,私网主机和公网FTP服务器之间通过TCP三次握手成功建立控制连接。
(2) 控制连接建立后,私网主机向FTP服务器发送Port报文,报文中携带私网主机指定的数据连接的目的地址和端口,用于通知服务器使用该地址和端口和自己进行数据连接。
(3) Port报文在经过支持ALG特性的NAT设备时,报文载荷中的私网地址和端口会被转换成对应的公网地址和端口。即,设备将收到的Port报文载荷中的 私网地址192.168.0.10转换成
公网地址50.10.10.10,端口1024转换成5000。
(4) 公网的FTP服务器收到Port报文后,解析其内容,并向私网主机发起数据连接,该数据连接的目的地址为50.10.10.10,端口为5000。由于该目的地址是一个公网地址,因此后续的
数据连接就能够成功建立,从而实现私网主机对公网服务器的访问。
二、支持的协议
支持如下20种协议的ALG配置。
序号 | name | port | protocol |
1 | pptp | 1723 | 6 |
2 | h323 | 1720 | 6 |
3 | ras | 1719 | 17 |
4 | tns | 1521 | 6 |
5 | tftp | 69 | 17 |
6 | rtsp | 554 | 6 |
7 | rtsp | 7070 | 6 |
8 | rtsp | 8554 | 6 |
9 | ftp | 21 | 6 |
10 | mms | 1863 | 6 |
11 | pmap | 111 | 6 |
12 | pmap | 111 | 17 |
13 | sip | 5060 | 17 |
14 | dns-udp | 53 | 17 |
15 | rsh | 514 | 6 |
16 | rsh | 512 | 6 |
17 | dcerpc | 135 | 6 |
18 | dcerpc | 135 | 17 |
19 | mgcp | 2427 | 17 |
20 | mgcp | 2727 | 17 |
三、配置ALG
在有ALG应用的环境下,如果发现ALG应用异常,需要查看此ALG应用是否已经做如下配置,并查看协议名,端口是否正确。
show system session-helper
查看现有ALG配置
config system session-helper
edit 1
set name pptp
set port 1723
set protocol 6
next
..........more
edit 14
set name dns-udp
set port 53
set protocol 17
next
............. more
edit 20
set name mgcp
set port 2727
set protocol 17
next
end
默认配置中共20个。删除DNS的ALG,命令如下:
config system session-helper
delele 14
end
四、增加非标准端口ALG
如果网络中存在非标准端口的与ALG相关的服务,则需要手动添加,比TCP 2021端口的FTP服务。
config system session-helper
edit 21 //不要与现网ID重复,也可以edit 0,系统自动编号
set name ftp
set port 2021 // FTP 协议使用的端口
set protocol 6 // 6 TCP协议, 17UDP协议
next
Ⅱ VOIP
一、组网需求
某公司使用基于SIP协议的语音系统。 企业内部使用SIP话机,SIP sever 位于防火墙外部的某个节点之上。
SIP协议的特殊性,决定其需要被防火墙进行ALG处理,防止无法拨号或者单通等因为防火墙策略而带来的问题。
二、网络拓扑
三、配置要点
1、基本上网配置
2、配置VOIP策略
3、移动策略(可选)
4、配置SIP端口(可选)
四、操作步骤
1、基本上网配置
参照路由模式典型功能>>单线上网配置一节。
2、配置VOIP策略
(1) 定义地址对象
页面: 防火墙--地址--地址
(2) 定VOIP策略
页面: 防火墙--策略--策略
开启UTM功能,选择启用VOIP, 选择default 配置文件。
3、移动策略(可选)
将策略移动到合适的位置,确保其被执行:
4、配置SIP端口(可选)
大多数 SIP 配置将 TCP 或 UDP 端口 5060 用于 SIP 会话,而将端口 5061 用于 SIP SSL 会话。如果 SIP 网络将其他端口用于 SIP 会话,则可以使用以下命令将 SIP ALG 配置为使用其他 TCP、UDP 或 SSL 端口进行侦听。例如,将 TCP 端口更改为 5064,将 UDP 端口更改为 5065,而将 SSL 端口更改为 5066。
RG-WALL#config system settings
RG-WALL (settings) #set sip-tcp-port 5064
RG-WALL (settings) #set sip-udp-port 5065
RG-WALL (settings) #set sip-ssl-port 5066
RG-WALL (settings) #end
也可以将 SIP ALG 配置为使用两个不同的 TCP 端口和两个不同的 UDP 端口来侦听 SIP 会话。例如,如果通过端口 5060 和 5064 接收 SIP TCP 流量而通过端口 5061 和 5065 接收 UDP 流量,则可以输入以下命令以通过所有这些端口接收 SIP 流量:
RG-WALL#config system settings
RG-WALL (settings) #set sip-tcp-port 5060 5064
RG-WALL (settings) #set sip-udp-port 5061 5065
RG-WALL (settings) #end
五、验证效果
使用SIP电话进行测试。
六、注意事项
问: VOIP为什么要启用UTM功能?
答:系统本身的session helper也支持voip alg部分功能,但功能简单,适用的场景很简单,随着voip的场景越来越复杂,目前都使用voip profile。
voip的ALg功能被做成了单独的UTM功能,除了非常完善的ALG功能之外,还可以对VOIP进行安全防护。
Ⅲ VOIP目的映射
一、组网需求
某公司使用基于SIP协议的语音系统。 企业内部使用SIP话机,SIP sever100.1.1.2 位于防火墙服务器区的某个节点之上。需要通过映射方式,映射到内部网络192.168.1.2上。
SIP协议的特殊性,决定其需要被防火墙进行ALG处理,防止无法拨号或者单通等因为防火墙策略而带来的问题。
二、网络拓扑
三、配置要点
1、基本网络配置
2、配置VOIP策略
3、移动策略(可选)
4、配置SIP端口(可选)
四、操作步骤
1、基本网络配置
参照参照路由模式——单线上网配置一节。
2、配置VOIP策略
(1) 定义虚拟ip
页面: 防火墙--虚拟ip--虚拟ip
(2) 定义VOIP策略
页面: 防火墙--策略--策略
开启UTM功能,选择启用VOIP, 选择default 配置文件。
3、配置SIP端口(可选)
大多数 SIP 配置将 TCP 或 UDP 端口 5060 用于 SIP 会话,而将端口 5061 用于 SIP SSL 会话。如果 SIP 网络将其他端口用于 SIP 会话,则可以使用以下命令将 SIP ALG 配置为使用其
他TCP、UDP 或 SSL 端口进行侦听。例如,将 TCP 端口更改为 5064,将 UDP 端口更改为 5065,而将 SSL 端口更改为 5066。
RG-WALL#config system settings
RG-WALL (settings) #set sip-tcp-port 5064
RG-WALL (settings) #set sip-udp-port 5065
RG-WALL (settings) #set sip-ssl-port 5066
RG-WALL (settings) #end
也可以将 SIP ALG 配置为使用两个不同的 TCP 端口和两个不同的 UDP 端口来侦听 SIP 会话。例如,如果通过端口 5060 和 5064 接收 SIP TCP 流量而通过端口 5061 和 5065 接收
UDP 流量,则可以输入以下命令以通过所有这些端口接收 SIP 流量:
RG-WALL#config system settings
RG-WALL (settings) #set sip-tcp-port 5060 5064
RG-WALL (settings) #set sip-udp-port 5061 5065
RG-WALL (settings) #end
五、验证效果
使用SIP电话进行测试。