internal/Anycast-Wiki.md
... ...
@@ -3,12 +3,12 @@
3 3
The idea is to deploy the mirrors across dn42 using [anycast](https://en.wikipedia.org/wiki/Anycast) addressing (BGP), thus providing redundancy, load-balancing and improved access times for the site.
4 4
The local webserver is monitored with a simple shell script (below) working in conjuction with [ExaBGP](https://github.com/Exa-Networks/exabgp), announcing/withdrawing the assigned route if the service is up/down.
5 5
6
-### Network:
6
+### Network
7 7
8 8
* Install wiki anycast address `172.23.0.80/32` on the system
9 9
* Setup tunnel(s) to the dn42 network (routing daemon not required)
10 10
11
-### Setup gollum:
11
+### Setup gollum
12 12
13 13
* Install [gollum](https://github.com/gollum/gollum)
14 14
* Clone the dn42 wiki repo:
... ...
@@ -27,7 +27,7 @@ gollum --css <path>/custom.css --gollum-path <path> --host 127.0.0.1 --port 456
27 27
gollum --css <path>/custom.css --gollum-path <path> --host 127.0.0.1 --port 4567 --no-edit
28 28
```
29 29
30
-### Nginx proxy:
30
+### Nginx proxy
31 31
32 32
##### /etc/nginx/sites-enabled/wiki.dn42:
33 33
... ...
@@ -79,7 +79,7 @@ server {
79 79
80 80
```
81 81
82
-### [ExaBGP](https://github.com/Exa-Networks/exabgp):
82
+### [ExaBGP](https://github.com/Exa-Networks/exabgp)
83 83
84 84
##### exabgp.conf:
85 85
... ...
@@ -179,7 +179,7 @@ exit 0
179 179
180 180
Normally SIGUSR1 to the exabgp process triggers a configuration update, but at occasion the process might need to be restarted - since its gracefull shutdown can be glitchy , this might be a bit difficult. Sending SIGKILL to the child(ren) and immediately after, the parent, does the job (quick-and-dirty).
181 181
182
-##### /etc/exabgp/run.sh
182
+##### /etc/exabgp/run.sh:
183 183
`USAGE: /etc/exabgp/run.sh [start|stop|restart]`
184 184
185 185
```
... ...
@@ -233,7 +233,7 @@ exit 0
233 233
234 234
```
235 235
236
-### Announcing:
236
+### Announcing
237 237
238 238
The prefix AS-PATH should show the announcement is originating from your AS. After peering ExaBGP to the nearest speaker(s), check if the prefix is routing properly inside your network. Try not to blackhole the passing traffic (e.g. no static routes to `172.23.0.80/28`). Test the whole thing by shutting down nginx/gollum and watch what happens.
239 239