
netfilter防火墙
redwingz
这个作者很懒,什么都没留下…
-
原创 iptables不能初始化filter表问题
错误如下所示:# iptables -Liptables v1.8.1 (legacy): can't initialize iptables table `filter': No chain/target/match by that namePerhaps iptables or your kernel needs to be upgraded.参考网上的说法,应该是filter表模块iptable_filter没有加载成功,或者内核编译选项根本就没有选上此功能。但是手动加载filter模块,没2020-12-03 22:36:52285
0
-
原创 连接跟踪nf_conntrack_tcp_loose设置
nf_conntrack_tcp_loose选项如果设置为0,对于未完成三次握手的流,内核连接跟踪模块将不会为其创建conntrack结构。反之,值为0的话,将为任意收到的tcp报文创建conntrack结构。默认值为一,如下可通过proc文件nf_conntrack_tcp_loose,获取其当前值。$ sudo modprobe nf_conntrack_ipv4 ...2020-02-28 08:14:53575
0
-
原创 notrack跳过连接跟踪
使用如下的iptables命令配置notrack,iptables -t raw -A PREROUTING -i ens33 -p tcp --dport 80 --syn -j NOTRACK或者iptables -t raw -A PREROUTING -i ens33 -p tcp --dport 80 --syn -j CT --notrack 使用iptables查看配置的...2020-02-27 20:18:30250
0
-
原创 Netfilter之IPVS匹配扩展
以下iptables命令查看ipvs匹配扩展的帮助信息。可匹配的字段分别为:虚拟服务的协议号、地址、端口、数据流的方向、转发模式以及控制连接的端口号。对于类似FTP的服务,其控制连接的端口为21,数据端口为20。$ iptables -m ipvs --help iptables v1.6.0IPVS match options:[!] --ipvs ...2019-10-24 21:21:43260
0
-
原创 Linux内核连接跟踪框架概述
连接跟踪的入口函数nf_ct_netns_get如下。其根据Netfilter定义的协议类型分为两个分支,如果协议类型为NFPROTO_INET,同时初始化两种NF协议NFPROTO_IPV4和NFPROTO_IPV6;反之,如果协议类型不等于NFPROTO_INET,按照指定的协议类型nfproto进行初始化。int nf_ct_netns_get(struct net *net, u8 nf...2019-10-23 20:36:39441
0
-
原创 netfilter子系统的套接口选项
内核定义了全局链表nf_sockopts将其所有的套接口选项链接起来,每个表项由nf_sockopt_ops类型的结构表示。此结构主要有两个部分组成:配置下发(set)和获取(get)。其中set/get为回调函数,set_optmin - set_optmax和get_optmin - get_optmax分别定义set/get回调函数可处理的套接口选项的范围值。static LIST_HEA...2019-08-06 19:32:16147
0
-
原创 OVS Conntrack 指南
OVS可与内核的连接跟踪系统(Connection tracking system)一同使用,借助Conntrack的功能,OpenFlow流可用于匹配TCP、UDP、ICMP等连接的状态。(连接跟踪系统支持跟踪有状态和无状态协议)。本教程演示OVS如何使用连接跟踪系统。以匹配从连接建立到连接拆除的TCP报文段。将OVS与Linux内核模块一同作为此演示的数据路径。(在Linux内核中利用ope...2019-07-02 21:04:203112
0
-
原创 连接跟踪与netfilter挂载点
内核连接跟踪模块conntrack在netfilter的基础上实现,主要与netfilter的NF_INET_PRE_ROUTING、NF_INET_LOCAL_OUT、NF_INET_LOCAL_IN和NF_INET_POST_ROUTING四个hook点相关。conntrack与NF_INET_FORWARD转发hook点没有交互。根据数据包的流向,conntrack实现了两类四个函数,分...2019-03-18 22:01:31468
0
-
原创 内核的DNAT与ARP
Linux内核在实现多对一或者多对多的DNAT时,可指定多个目的IP地址,这就造成一个问题,如果其中有的地址并没有配置在接口上,那么这些地址对于外部设备而言,ARP就是不可达,无法进行通信。 +------------+ ...2018-11-21 17:53:48306
0
-
原创 使用scapy实现TCP SYN-Flooding攻击
基于ubuntu 16.04系统,首先安装scapy,如下的apt-get或者可使用python的pip命令安装,scapy是一个功能强大网络数据包处理程序,包括对数据包的嗅探、解析和构造。本文即使用其数据包构造功能,实现syn flooding攻击。# sudo apt-get install scapyTCP SYN Flooding即向服务器的监听端口不断发送TCP的SYN报...2018-11-13 22:53:282213
0
-
原创 THRESH控制网桥netfilter规则执行流程
NF_HOOK_THRESH函数的参数thresh控制从何等优先级的hook函数开始执行,所以低于thresh优先级的函数将不会被遍历执行。hook函数的注册由nf_register_hook函数完成。priority的值越小优先级越高,所有注册的hook函数优先级由高到低排序。int nf_register_hook(struct nf_hook_ops *reg){ list_for...2018-06-06 10:55:53586
0
-
原创 网桥调用IP层netfilter的HOOK函数
Linux中的网桥属于二层转发设备,可利用ebtables工具根据数据包的ethernet头等信息,配置规则,如下,将目的MAC地址为00:01:02:03:04:05的数据包,转发到目的MAC地址为00:06:07:08:09:0a的主机上:ebtables -t nat -A PREROUTING -d 00:01:02:03:04:05 -j dnat --to-destination 00...2018-05-24 16:49:043228
0
-
原创 网桥调用iptables规则的善后处理
本文主要讲述BR_NF_PRE_ROUTING点的相关处理。Linux网桥在BR_NF_PRE_ROUTING hook点的处理上,有两个主要的执行流程:第一执行ebtables在此hook点添加的规则,第二如果PROC文件bridge-nf-call-iptables为真,执行iptables在hook点NF_INET_PRE_ROUTING配置的IPv4或IPv6协议相关规则。由于iptabl...2018-06-05 12:09:161512
0