Skip to content

Commit da21a84

Browse files
authored
Merge pull request #21 from crowdsecurity/ipv6-support
ipv6 support
2 parents 265fc35 + faa0cee commit da21a84

26 files changed

+378
-170
lines changed

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ WORDPRESS_VERSION=5.6
33
WATCHER_LOGIN=watcherLogin
44
WATCHER_PASSWORD=watcherPassword
55
NETWORK_SUBNET=172.16.238.0/24
6-
DOCKER_HOST_IP=172.16.238.1
6+
DOCKER_HOST_IP=172.16.238.1 # OR IPV6 2001:3200:3200::1
77
BOUNCER_KEY=
88
WORDPRESS_URL=
99
DEBUG=1

.wordpress-org/banner-1544x500.png

-3.33 KB
Loading

.wordpress-org/banner-772x250.png

-444 Bytes
Loading

Vagrantfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Vagrant.configure("2") do |config|
2323
# within the machine from a port on the host machine. In the example below,
2424
# accessing "localhost:8080" will access port 80 on the guest machine.
2525
# NOTE: This will enable public access to the opened port
26-
config.vm.network "forwarded_port", guest: 8050, host: 8050
26+
config.vm.network "forwarded_port", guest: 80, host: 80
2727
config.vm.network "forwarded_port", guest: 8051, host: 8051
2828

2929
# Create a forwarded port mapping which allows access to a specific port
@@ -34,6 +34,8 @@ Vagrant.configure("2") do |config|
3434
# Create a private network, which allows host-only access to the machine
3535
# using a specific IP.
3636
# config.vm.network "private_network", ip: "192.168.33.10"
37+
config.vm.network "private_network", ip: "172.16.0.50"
38+
config.vm.network "private_network", ip: "fde4:8dba:82e1::c4"
3739

3840
# Create a public network, which generally matched to bridged network.
3941
# Bridged networks make the machine appear as another physical device on

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
}
1010
],
1111
"require": {
12-
"crowdsec/bouncer": "^0.9.0"
12+
"crowdsec/bouncer": "^0.10.0"
1313
},
1414
"require-dev": {
1515
"bramus/monolog-colored-line-formatter": "^3.0",

composer.lock

Lines changed: 80 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker-compose.yml

Lines changed: 49 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ services:
55
context: .
66
dockerfile: ./docker/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
77
networks:
8-
- wordpress_bouncer_network
8+
- wordpress_bouncer_network_ipv4
9+
- wordpress_bouncer_network_ipv6
910
depends_on:
1011
- crowdsec
1112
- mysql
@@ -18,7 +19,7 @@ services:
1819
define('WP_CRON_LOCK_TIMEOUT', 1);
1920
# more here https://hub.docker.com/_/wordpress
2021
ports:
21-
- "8050:80"
22+
- "80:80"
2223
volumes:
2324
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
2425

@@ -27,7 +28,8 @@ services:
2728
context: .
2829
dockerfile: ./docker/wp5.5/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
2930
networks:
30-
- wordpress_bouncer_network
31+
- wordpress_bouncer_network_ipv4
32+
- wordpress_bouncer_network_ipv6
3133
depends_on:
3234
- crowdsec
3335
- mysql
@@ -40,7 +42,7 @@ services:
4042
define('WP_CRON_LOCK_TIMEOUT', 1);
4143
# more here https://hub.docker.com/_/wordpress
4244
ports:
43-
- "8050:80"
45+
- "80:80"
4446
volumes:
4547
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
4648

@@ -49,7 +51,8 @@ services:
4951
context: .
5052
dockerfile: ./docker/wp5.4/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
5153
networks:
52-
- wordpress_bouncer_network
54+
- wordpress_bouncer_network_ipv4
55+
- wordpress_bouncer_network_ipv6
5356
depends_on:
5457
- crowdsec
5558
- mysql
@@ -62,7 +65,7 @@ services:
6265
define('WP_CRON_LOCK_TIMEOUT', 1);
6366
# more here https://hub.docker.com/_/wordpress
6467
ports:
65-
- "8050:80"
68+
- "80:80"
6669
volumes:
6770
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
6871

@@ -71,7 +74,8 @@ services:
7174
context: .
7275
dockerfile: ./docker/wp5.3/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
7376
networks:
74-
- wordpress_bouncer_network
77+
- wordpress_bouncer_network_ipv4
78+
- wordpress_bouncer_network_ipv6
7579
depends_on:
7680
- crowdsec
7781
- mysql
@@ -84,7 +88,7 @@ services:
8488
define('WP_CRON_LOCK_TIMEOUT', 1);
8589
# more here https://hub.docker.com/_/wordpress
8690
ports:
87-
- "8050:80"
91+
- "80:80"
8892
volumes:
8993
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
9094

@@ -93,7 +97,8 @@ services:
9397
context: .
9498
dockerfile: ./docker/wp5.2/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
9599
networks:
96-
- wordpress_bouncer_network
100+
- wordpress_bouncer_network_ipv4
101+
- wordpress_bouncer_network_ipv6
97102
depends_on:
98103
- crowdsec
99104
- mysql
@@ -106,7 +111,7 @@ services:
106111
define('WP_CRON_LOCK_TIMEOUT', 1);
107112
# more here https://hub.docker.com/_/wordpress
108113
ports:
109-
- "8050:80"
114+
- "80:80"
110115
volumes:
111116
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
112117

@@ -115,7 +120,8 @@ services:
115120
context: .
116121
dockerfile: ./docker/wp5.1/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
117122
networks:
118-
- wordpress_bouncer_network
123+
- wordpress_bouncer_network_ipv4
124+
- wordpress_bouncer_network_ipv6
119125
depends_on:
120126
- crowdsec
121127
- mysql
@@ -128,7 +134,7 @@ services:
128134
define('WP_CRON_LOCK_TIMEOUT', 1);
129135
# more here https://hub.docker.com/_/wordpress
130136
ports:
131-
- "8050:80"
137+
- "80:80"
132138
volumes:
133139
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
134140

@@ -137,7 +143,8 @@ services:
137143
context: .
138144
dockerfile: ./docker/wp5.0/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
139145
networks:
140-
- wordpress_bouncer_network
146+
- wordpress_bouncer_network_ipv4
147+
- wordpress_bouncer_network_ipv6
141148
depends_on:
142149
- crowdsec
143150
- mysql
@@ -150,7 +157,7 @@ services:
150157
define('WP_CRON_LOCK_TIMEOUT', 1);
151158
# more here https://hub.docker.com/_/wordpress
152159
ports:
153-
- "8050:80"
160+
- "80:80"
154161
volumes:
155162
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
156163

@@ -159,7 +166,8 @@ services:
159166
context: .
160167
dockerfile: ./docker/wp4.9/php-${CS_WORDPRESS_BOUNCER_PHP_VERSION}.Dockerfile
161168
networks:
162-
- wordpress_bouncer_network
169+
- wordpress_bouncer_network_ipv4
170+
- wordpress_bouncer_network_ipv6
163171
depends_on:
164172
- crowdsec
165173
- mysql
@@ -172,41 +180,47 @@ services:
172180
define('WP_CRON_LOCK_TIMEOUT', 1);
173181
# more here https://hub.docker.com/_/wordpress
174182
ports:
175-
- "8050:80"
183+
- "80:80"
176184
volumes:
177185
- .:/var/www/html/wp-content/plugins/cs-wordpress-bouncer:rw
178186

179187
crowdsec:
180188
image: crowdsecurity/crowdsec:latest
181189
networks:
182-
- wordpress_bouncer_network
190+
- wordpress_bouncer_network_ipv4
191+
- wordpress_bouncer_network_ipv6
183192
environment:
184193
- DISABLE_AGENT=true
185194
ports:
186195
- "8051:8080"
187196
mysql:
188197
image: mysql:5.7
189198
networks:
190-
- wordpress_bouncer_network
199+
- wordpress_bouncer_network_ipv4
200+
- wordpress_bouncer_network_ipv6
191201
environment:
192202
- MYSQL_ROOT_PASSWORD=super_secret_password
193203
- MYSQL_DATABASE=wordpress
194204
redis:
195205
image: redis:6-alpine
196206
networks:
197-
- wordpress_bouncer_network
207+
- wordpress_bouncer_network_ipv4
208+
- wordpress_bouncer_network_ipv6
198209
memcached:
199210
image: memcached:1-alpine
200211
networks:
201-
- wordpress_bouncer_network
212+
- wordpress_bouncer_network_ipv4
213+
- wordpress_bouncer_network_ipv6
202214
wpscan:
203215
image: wpscanteam/wpscan
204216
networks:
205-
- wordpress_bouncer_network
217+
- wordpress_bouncer_network_ipv4
218+
- wordpress_bouncer_network_ipv6
206219
e2e:
207220
image: mcr.microsoft.com/playwright:focal
208221
networks:
209-
- wordpress_bouncer_network
222+
- wordpress_bouncer_network_ipv4
223+
- wordpress_bouncer_network_ipv6
210224
environment:
211225
LAPI_URL_FROM_WP: http://crowdsec:8080
212226
LAPI_URL_FROM_E2E: http://crowdsec:8080
@@ -226,9 +240,16 @@ services:
226240
command: tail -F anything
227241

228242
networks:
229-
wordpress_bouncer_network:
230-
name: wordpress_bouncer_network
231-
enable_ipv6: false
232-
ipam:
233-
config:
234-
- subnet: ${NETWORK_SUBNET}
243+
wordpress_bouncer_network_ipv4:
244+
name: wordpress_bouncer_network_ipv4
245+
enable_ipv6: false
246+
ipam:
247+
config:
248+
- subnet: ${NETWORK_SUBNET}
249+
wordpress_bouncer_network_ipv6:
250+
name: wordpress_bouncer_network
251+
enable_ipv6: true
252+
ipam:
253+
config:
254+
- subnet: 2001:3200:3200::/64
255+
gateway: 2001:3200:3200::1

0 commit comments

Comments
 (0)