Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 78 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,81 @@
# gogo2
# gogo2 自用的防CC防火墙.
使用方法
apt-get install libnetfilter-queue-dev
apt-get install libpcap-dev libuv1-dev
gcc test.c -o test -lpcap -lnetfilter_queue -luv
iptables -F
iptables -X
iptables -N NFQUEUE_CHAIN

iptables -A NFQUEUE_CHAIN -p tcp --sport 80 -j NFQUEUE --queue-num 0
iptables -A NFQUEUE_CHAIN -p tcp --sport 443 -j NFQUEUE --queue-num 0
iptables -I INPUT 1 -j NFQUEUE_CHAIN
iptables -I OUTPUT 1 -j NFQUEUE_CHAIN
./test
其他人勿用.
我占用备份一下

apt-get install libnetfilter-queue-dev libpcap-dev libuv1-dev libglib2.0 make gcc autoconf libtool -y


git clone --recursive https://github.com/maxmind/libmaxminddb
cd libmaxminddb
./bootstrap
./configure
make
make check
make install
ldconfig


gcc CCFW.c -o CCFW -lpcap -lnetfilter_queue -luv $(pkg-config --cflags --libs glib-2.0) -lmaxminddb -lpthread
/usr/sbin/iptables -F
/usr/sbin/iptables -X
/usr/sbin/iptables -N NFQUEUE_CHAIN

/usr/sbin/iptables -D NFQUEUE_CHAIN -p tcp --sport 80 -j NFQUEUE --queue-num 0
/usr/sbin/iptables -D NFQUEUE_CHAIN -p tcp --sport 443 -j NFQUEUE --queue-num 0

/usr/sbin/iptables -I INPUT 1 -j NFQUEUE_CHAIN



/usr/sbin/iptables -D NFQUEUE_CHAIN -p tcp --sport 80 -j NFQUEUE --queue-num 0
/usr/sbin/iptables -D NFQUEUE_CHAIN -p tcp --sport 443 -j NFQUEUE --queue-num 0

-i 入方向
-o 出方向
有docker 的情况
iptables -A FORWARD -i docker0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o docker0 -j ACCEPT


/usr/sbin/iptables -I FORWARD -p tcp --dport 80 -j NFQUEUE --queue-num 0
/usr/sbin/iptables -I FORWARD -p tcp --dport 443 -j NFQUEUE --queue-num 0

/usr/sbin/iptables -I INPUT -p tcp --dport 80 -j NFQUEUE --queue-num 0
/usr/sbin/iptables -I INPUT -p tcp --dport 443 -j NFQUEUE --queue-num 0

/usr/sbin/iptables -D OUTPUT 1 -j NFQUEUE_CHAIN


apt-get install ipset
ipset create blockip hash:ip timeout 86400


iptables -I INPUT -p tcp -m set --match-set blockip src --dport 80 -j REJECT --reject-with tcp-reset
iptables -I INPUT -p tcp -m set --match-set blockip src --dport 443 -j REJECT --reject-with tcp-reset


iptables -I INPUT -p tcp -m set --match-set blockip src --dport 80 -j DROP
iptables -I INPUT -p tcp -m set --match-set blockip src --dport 443 -j DROP


iptables -t nat -A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.17.0.2 -p tcp --dport 443 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.17.0.2 -p tcp --dport 80 -j MASQUERADE


iptables -t nat -A DOCKER -i docker0 -j RETURN
iptables -t nat -A DOCKER ! -i docker0 -p tcp --dport 443 -j DNAT --to-destination 172.17.0.2:443
iptables -t nat -A DOCKER ! -i docker0 -p tcp --dport 80 -j DNAT --to-destination 172.17.0.2:80


iptables -t nat -A DOCKER -i docker0 -j RETURN
iptables -t nat -A DOCKER ! -i docker0 -p tcp --dport 443 -j DNAT --to-destination 172.17.0.2:443
iptables -t nat -A DOCKER ! -i docker0 -p tcp --dport 80 -j DNAT --to-destination 172.17.0.2:80

iptables -A INPUT -p tcp --dport 80 -j drop
iptables -A INPUT -p tcp --dport 443 -j drop




没有任何参数.懂代码的自行修改
Loading