-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdocker.sh
More file actions
25 lines (20 loc) · 777 Bytes
/
Copy pathdocker.sh
File metadata and controls
25 lines (20 loc) · 777 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# !/bin/bash
#
# Configure your iptables to allow IPs from Cloudflare only.
# For users deployed with docker on the server.
#
# author: kingcc <eof@null.net>
iptables -N cloudflare-only
# Release local request
iptables -I DOCKER-USER 1 -j RETURN -s 10.0.0.0/8
iptables -I DOCKER-USER 2 -j RETURN -s 172.16.0.0/12
iptables -I DOCKER-USER 3 -j RETURN -s 192.168.0.0/16
# Filter cloudflare requests
iptables -I DOCKER-USER 4 -p tcp -m multiport --dports http,https -j cloudflare-only
# https://www.cloudflare.com/ips
for i in `curl https://www.cloudflare.com/ips-v4`; do
iptables -A cloudflare-only -s $i -j RETURN;
done
# Log and discard network packets
iptables -A cloudflare-only -j LOG --log-prefix "IPTABLES_CLOUDFLARE_ONLY_BANNED: "
iptables -A cloudflare-only -j DROP