# upgw 黑白名单功能 ## 一、处理流程: 1. 黑/白名单功能生效于 `upgw-traffic-process` 结点中,该节点将操作分流边缘的 ip 报文。现在报文操作前增加黑、白名单规则过滤; ![BLWL_in_data_plane](../../_static/upgw_blwl_in_dp.png) 2. 数据结构: 1、在 upgw 全局变量中新增名单链表数据结构 bw_filter_t ,包括功能开关标志、初始化标志、黑白名单指针 ; 2、bw_filter 中的名单指针指向一个哈希表,哈希表以 ip 为 key 值存放: ![BLWL_data_struct](../../_static/upgw_blwl_data_struct.png) ## 二、命令行 1. 配置黑白名单开关; ```bash # 1、开启黑白名单功能 upgw blwl open [black|white] # 2、关闭黑白名单功能 upgw blwl close # eg.开启黑名单 upgw blwl open black ``` 2. 配置黑白名单规则; ```bash # 1、增加、删除黑白名单规则 upgw blwl use [black|white] [add|del] [ip] # eg.增加 1.1.1.1 到黑名单中 upgw blwl use black add 1.1.1.1 # ps: ip 支持使用掩码格式,缺省值为255.255.255.255。上述命令等同如下: upgw blwl use black add 1.1.1.1/255.255.255.255 # 2、清空黑白名单规则(该命令将全部删除名单内容) upgw blwl clear [black|white] ``` 3. 查询: ```bash # 1、查询黑白名单功能状态 show upgw blwl status ## 查询效果: blwl is opening. ## 名单开启 black is valid. ## 生效中的名单是黑名单(名单关闭则不显示) # 2、查询黑白名单功能列表 show upgw blwl list all ## 查询效果: == black_ip_list sum [2] ## 黑名单列表;中括号内数字表示总数 1.1.1.1 active ## active 表示该 ip 配置生效中; - 则表示没有生效 1.1.1.2/255.255.255.0 active ## ip 显示与配置时的输入保持一致,缺省掩码是255.255.255.255 == white_ip_list sum [2] ## 白名单列表 1.1.1.1 - 1.1.1.2/255.255.255.0 - # 3、查询单个 ip show upgw blwl list [ip] # ps: ip 需与配置时输入一致,如果输入没有掩码,则查询时也没有。 ```