全锥型专题

Netfilter学习之NAT类型动态配置(七)全锥型NAT内核空间实现

本文主要实现全锥型NAT的内核空间iptables命令行扩展对应的钩子函数及其功能的实现。实现思路见上文。 1.关键部分实现代码 (1)建立ipt_FULLCONE.c以激活钩子函数,关键在于保持和用户空间libipt的一致性。 static struct xt_target fullcone_tg_reg __read_mostly = {.name = "FULLCONE",.fam

Netfilter学习之NAT类型动态配置(六)全锥型NAT用户空间iptables命令行实现

本文主要实现全锥型NAT的用户空间iptables命令行扩展的实现,实现思路见上文,具体可以模仿MASQUERADE的源码进行改写。 1.关键部分实现代码   由于fullcone类型并不需要输入参数,因此parse可以为空,print和save也很简单,只需要help和结构注册两部分保证正确即可。   help如下: static void FULLCONE_help(void){