iptables 设置 h323 动态开放端口
1. 插入 h323 模块
为了支持 h323 协议,内核需要插入 nf_conntrack_h323
, nf_nat_h323
模块。
modprobe nf_conntrack_h323
modprobe nf_nat_h323
2. 配置 iptables 规则
h323 使用 1719, 1720 端口。但主要是使用 1720 端口。
iptables 规则 模板原型 如下:
# 让 NEW 状态的报文通过。
iptables -A FORWARD [-s <src_ip>] [-d <dst_ip>] -p tcp -m multiport --dports <h323_port> -j ACCEPT
# 让 原方向的 RELATED, ESTABLISHED 状态的报文通过。
iptables -A FORWARD [-s <src_ip>] [-d <dst_ip>] -m state --state RELATED,ESTABLISHED -j ACCEPT
# 让 回复方向的 RELATED, ESTABLISHED 状态的报文通过。
iptables -A FORWARD [-s <dst_ip>] [-d <src_ip>] -m state --state RELATED,ESTABLISHED -j ACCEPT
3. 测试用例
拓扑:
192.168.111.1/24 192.168.111.254/24 192.168.222.254/24 192.168.111.1/24
[pc_1]-------------------------------------------[firewall]-------------------------------------------[pc_2]
假设默认的 FORWARD 链 规则是 DROP。
3.1. 同时都有配置 src ip
, dst ip
iptables 规则例子:
iptables -A FORWARD -s 192.168.111.0/24 -d 192.168.222.0/24 -p tcp -m multiport --dports 1720 -j ACCEPT
iptables -A FORWARD -s 192.168.111.0/24 -d 192.168.222.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.222.0/24 -d 192.168.111.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
3.2. 只配置了 src ip
iptables 规则例子:
iptables -A FORWARD -s 192.168.111.0/24 -p tcp -m multiport --dports 1720 -j ACCEPT
iptables -A FORWARD -s 192.168.111.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 192.168.111.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
3.3. 只配置了 dst ip
iptables 规则例子:
iptables -A FORWARD -d 192.168.222.0/24 -p tcp -m multiport --dports 1720 -j ACCEPT
iptables -A FORWARD -d 192.168.222.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.222.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
3.4. 同时没有配置 src ip
, dst ip
iptables 规则例子:
iptables -A FORWARD -p tcp -m multiport --dports 1720 -j ACCEPT
# 没有指定 `src ip` , `dst ip` 。所以弱化为一条规则
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
ref
支持动态开放端口的知名协议端口号:
l7_protocol | l4_protocol | port_number | port_name |
---|---|---|---|
ftp | tcp | 21 | FTP_PORT |
tftp | udp | 69 | TFTP_PORT |
h323 | tcp | 1719 | RAS_PORT |
h323 | tcp | 1720 | Q931_PORT |
sip | tcp | 5060 | SIP_PORT |
rtsp | tcp | 554 | RTSP_PORT |