linux防火墙编程,Linux防火墙netfilter的编程接口libiptc简介

西北农林科技大学,网络中心李晓玲

libiptc库是Linux防火墙netfilter的一个编程接口,可以使用libiptc库来查询、修改、增加、删除netfilter的规则、策略等。大家熟知的防火墙管理工具iptables也是利用libiptc来实现配置管理的。在应用程序中我们也可以利用libiptc库完成对Linux防火墙的配置管理功能,从而达到与防火墙的联动效果。比如,用户认证系统可以在用户认证后使用libiptc库动态开通其网络访问权力;而在用户下线后动态关闭其网络访问权力。

目前对于libiptc库的介绍资料主要是Leonardo Balliache整理的《Querying libiptc HOWTO》,该文档详细介绍了libiptc库的安装方法和库函数中查询函数的使用方法。美中不足的是该文档没有介绍增加、删除规则的方法。笔者通过阅读源码和试验初步摸索出使用libiptc库增加、删除防火墙规则的基本方法,在此整理出来供大家参考。

基本概念

使用libiptc库的目的是处理防火墙的规则,规则是隶属于表(table)和链(chain)的。规则可以划分为基本部分、匹配部分以及目标部分。如下:

例一、 iptables-A FORWARD-s 192.168.3.2 -p tcp-dport 80-j ACCEPT

上例中,表是filter(默认),链是 FORWARD,-dport 80是规则的匹配部分,而-j ACCEPT是规则的目标部分。在libiptc库中,表和链都是以字符串形式表示的;规则是用多个数据结构来描述。规则的三个主要部分(基本部分、匹配部分以及目标部分)分别对应着相应的数据结构:struct ipt_entry、structipt_entry_match 、structipt_entry_target 。

将上述规则转换为对应的li

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值