A userspace application that filters DHCP floods to protect a DHCP server. It uses the Netfilter userspace packet queuing API.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Pascal Gloor 6de1a8765a updated pirms 5 gadiem
Makefile added warnings pirms 5 gadiem
README.md updated pirms 5 gadiem
dhcp_protect.c MVP release pirms 5 gadiem
dhcp_protect.conf added new dryrun directive pirms 5 gadiem
dhcp_protect.h MVP release pirms 5 gadiem
perftest.pl dhcp flood client pirms 5 gadiem

README.md

NF_DHCP_Filter

A userspace application that filters DHCP floods to protect a DHCP server. It uses the Netfilter userspace packet queuing API.

Dependencies

apt-get install build-essential uthash-dev libnetfilter-queue-dev

Configuration

# max_pkt_per_interval
# maximum number of packets authorised per time interval.
max_pkt_per_interval=30

# interval
# measurement time interval in seconds.
interval=30

# debug
# enable debugging, warning, very verbose
debug=1

# blacklist_time
# number of seconds this client will be ignored once
# it exceeded the max_pkt_per_interval per interval
blacklist_time=55

# queue number
# refers to the queue-num of iptables.
# -A FORWARD -p udp -m udp --dport 67 -j NFQUEUE --queue-num 67 --queue-bypass
queue=67

# dryrun
# if dryrun is set to 1 it will accept all packets no matter what.
# this can be used for testing, syslog will still display the blacklisting
# actions.
# Set to 0 for production.
dryrun=1

Run

root@router:~/dhcp_protect# ./dhcp_protect ./dhcp_protect.conf
Loading configuration ./dhcp_protect.conf
Configuration:
	dryrun               =  Yes
	debug                =  Yes
	interval             =   30s
	max_pkt_per_interval =   30
	blacklist_time       =   55s
	queue                =   67