sonic如何写ACL

2023-05-16

一、目前ACL配置需要用到openconfig.json格式去操作;

ACL full update: an ACL rule definition file will be provided in openconfig json format;

 All existing ACLs will be removed, and new ACLs will be configured according to the file.

二、之前关于ACL-TABLE,ACL-RULE-TABLE和port-mirror-table都从app_db放到了config_db

<从源码也可以看出来>

Move ACL_TABLE, ACL_RULE_TABLE, and PORT_MIRROR_TABLE to config DB, rename to ACL_TABLE, ACL_RULE and MIRROR_SESSION correspondingly.

三、具体步骤:

1、minigraph.xml中绑定到应用和端口

    

Minigraph文件绑定ACL规则到具体端口或者应用:

Vim /etc/sonic/minigraph

…….

<AclInterfaces>

        <AclInterface>

          <AttachTo>Ethernet16</AttachTo>

          <InAcl>everflow</InAcl>

        </AclInterface>

      </AclInterfaces>

……

这里我将定义的everflow table绑定到了端口Ethernet16,当然,这里也可以是ERSPAN,portchanel之类的应用。

其流程如下:

2.

通过acl-load update full ../../acl.json加载acl规则到configdb中。

 

参考目录:这里定义的参考文件

https://github.com/Azure/sonic-buildimage/blob/023a5b9714c8d2c41ab4469beae3569c0e43933a/src/sonic-config-engine/tests/t0-sample-acl.json

 

Acl.json文件定义如下:

 

{

 

    "acl": {

 

        "acl-sets": {

 

            "acl-set": {

 

                "dataacl": {

 

                    "acl-entries": {

 

                        "acl-entry": {

 

                            "1": {

 

                                "actions": {

 

                                    "config": {

 

                                        "forwarding-action": "ACCEPT"

 

                                    }

 

                                },

 

                                "config": {

 

                                    "sequence-id": 1

 

                                },

 

                                "ip": {

 

                                    "config": {

 

                                        "protocol": "IP_UDP",

 

                                        "source-ip-address": "10.0.0.0/8"

 

                                    }

 

                                }

 

                            },

 

                            "2": {

 

                                "actions": {

 

                                    "config": {

 

                                        "forwarding-action": "ACCEPT"

 

                                    }

 

                                },

 

                                "config": {

 

                                    "sequence-id": 2

 

                                },

 

                                "ip": {

 

                                    "config": {

 

                                        "protocol": "IP_UDP",

 

                                        "source-ip-address": "100.64.0.0/10"

 

                                    }

 

                                }

 

                            },

 

                            "3": {

 

                                "actions": {

 

                                    "config": {

 

                                        "forwarding-action": "ACCEPT"

 

                                    }

 

                                },

 

                                "config": {

 

                                    "sequence-id": 3

 

                                },

 

                                "ip": {

 

                                    "config": {

 

                                        "protocol": "IP_UDP",

 

                                        "source-ip-address": "25.0.0.0/8"

 

                                    }

 

                                }

 

                            },

 

                            "4": {

 

                                "actions": {

 

                                    "config": {

 

                                        "forwarding-action": "ACCEPT"

 

                                    }

 

                                },

 

                                "config": {

 

                                    "sequence-id": 4

 

                                },

 

                                "ip": {

 

                                    "config": {

 

                                        "protocol": "IP_TCP"

 

                                    }

 

                                },

 

                                "transport": {

 

                                    "config": {

 

                                        "tcp-flags": [

 

                                           "TCP_ACK"

 

                                        ]

 

                                    }

 

                                }

 

                            }

 

                        }

 

                    },

 

                    "config": {

 

                        "name": "dataacl"

 

                    }

 

                },

 

                "everflow": {

 

                    "acl-entries": {

 

                        "acl-entry": {

 

                            "1": {

 

                                "actions": {

 

                                    "config": {

 

                                        "forwarding-action": "ACCEPT"

 

                                    }

 

                                },

 

                                "config": {

 

                                    "sequence-id": 1

 

                                },

 

                                "ip": {

 

                                    "config": {

 

                                        "destination-ip-address": "127.0.0.1/32",

 

                                        "protocol": "IP_TCP",

 

                                        "source-ip-address": "127.0.0.1/32"

 

                                    }

 

                                },

 

                                "transport": {

 

                                    "config": {

 

                                        "destination-port": "0",

 

                                        "source-port": "0"

 

                                    }

 

                                }

 

                            }

 

                        }

 

                    },

 

                    "config": {

 

                        "name": "everflow"

 

                    }

 

                }

 

            }

 

        }

 

    }

 

}

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sonic如何写ACL 的相关文章

随机推荐

  • keras.layers.UpSampling2D与tf.image.resize_nearest_neighbor

    参考https www bookstack cn read keras docs zh sources layers convolutional md keras layers UpSampling2D size 61 2 2 data f
  • Linux安装elasticsearch7.x(踩坑分享)

    安装并启动 首先下载elasticsearch压缩文件 xff0c 下载地址 我这里选择的是elasticsearch 7 17 1版本 xff1a https www elastic co cn downloads elasticsear
  • VNC 登录显示too many security failures的解决方法

    原因 xff1a 黑客试图登录 解决方法 xff1a 在putty上登录 xff0c 然后输入命令vncserver kill 5 杀掉vnc进程 之后输入su 你的用户名 使用su权限 输入命令 vnc 重启vnc 成功之后就可以再次登录
  • MapReduce案例运行及分词

    首先查询进程 xff0c 发现hadoop并没有启动 如何配置hadoop xff0c 参考我的另外一篇博文 Hadoop环境准备 接下来 xff0c 启动hadoop start all sh 或者 start dfs sh start
  • main函数是主线程吗

    1 线程的概念 xff1a 线程是程序最基本的运行单位 xff0c 而进程不能运行 xff0c 所以能运行的 xff0c 是进程中的线程 2 线程是如何创建起来的 xff1a 进程仅仅是一个容器 xff0c 包含了线程运行中所需要的数据结构
  • C#类型的转换:Converter<TInput, TOutput> 委托的使用

    Converter lt TInput TOutput gt 委托 表示将对象从一种类型转换为另一种类型的方法 此委托由 Array 类的 ConvertAll lt TInput TOutput gt 方法和 List lt T gt 类
  • 收藏一些不错的国外网站

    设备树 xff1a https www devicetree org LINUX xff1a https www arm linux org uk USB xff1a https github com pyusb pyusb PYTHON
  • 近红外跨模态行人重识别(RGB-IR Cross-Modality Re-id)(一)

    1 写在前面 本文是我阅读近红外的跨模态行人重识别 xff08 RGB IR Cross Modality Re id xff09 文献的笔记 xff0c 由于网上对该方面介绍的博客很少 xff0c 所以这里我记录下阅读文章的一些要点和我自
  • ESKF的相关理解

    ESKF相关总结 对随机噪声和干扰的积分ESKF中的处理手段 xff1a 预积分中的处理手段 ESKF中IMU GPS不同解算坐标系的处理全局坐标系的初始化GPS坐标系的转换重力加速度引出的ENU IMU坐标系转换的初始化 状态量的初始化关
  • T265相关使用

    0 查看相机配置信息 rs enumerate devices 1 读取相机内外参信息 rs enumerate devices c 图像数据发布的Topic 图像数据30Hz camera fisheye1 camera info cam
  • vins-fusion中的GPS和VO融合

    https blog csdn net hltt3838 article details 109725845 这个帖子还蛮有价值的 GPS进行更新的时候 xff0c 需要寻找与VIO时间戳相对应的GPS消息 根据 43 10ms的时间偏差找
  • 玩转NVIDIA Jetson AGX Xavier

    最近项目应用需要部署到边缘模块 xff0c 所以就玩起了Xavier 感觉网上的资料不多 xff0c 所以从头记录一下笔记 xff0c 方便大家一起学习应用 玩转NVIDIA Jetson AGX Xavier 1 刷机 xff08 安装s
  • 素数伴侣 java

    span class token keyword package span span class token namespace com span class token punctuation span patience span cla
  • 分布式系统概念和设计-分布式文件系统服务体系结构和实践经验

    分布式系统概念和设计 文件系统的特点 负责文件的组织 xff0c 存储 xff0c 检索 xff0c 命名 xff0c 共享和保护 文件包含数据和属性 数据 xff1a 包含一系列数据项 8比特的字节 xff0c 读写操作可访问任何一部分数
  • ROS(C++)中的subscribe使用

    subscribe函数用于订阅topic并添加回调函数 比如 xff1a cloud subs span class token operator 61 span nh span class token punctuation span s
  • 基于人工标识的机器人定位方法

    基于人工标识的机器人定位方法 qquad 在机器人视觉导航任务中 xff0c 常常需要通过识别人工标识获得机器人在世界坐标系中的位姿 它的原理是通过匹配人工标识中特征点的世界坐标和图像坐标 xff0c 从而估算机器人坐标系与世界坐标系 之间
  • Momenta电话面试笔记

  • Snipaste贴图软件使用方法及快捷键

    文章目录 snipaste介绍1 截图2 标注3 贴图 snipaste是一款专业的免费截图软件 它帮助用户轻松解决截图 拼图 图像编辑等多种问题 xff0c 是最受用户喜欢的截图工具之一 snipaste介绍 Snipaste是一款免费安
  • kubernetes 如何发音?

    原文链接地址 xff1a 阳明的博客 有很多人不知道kubernetes应该怎么发音 xff0c 包括我之前也读错了 xff0c 正确的发音是 kub netis xff0c 重音在第三个音节 xff0c 读音 xff1a 库伯耐踢死 xf
  • sonic如何写ACL

    一 目前ACL配置需要用到openconfig json格式去操作 xff1b ACL full update an ACL rule definition file will be provided in openconfig json