From 312347df94304fb2b31e532099b99f71f29ffb67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C5=A1per=20Dobrovoljc?= Date: Wed, 21 Jun 2023 16:13:41 +0200 Subject: [PATCH] Examples --- Dockerfile | 1 - .../standalone/config}/frr/daemons | 0 .../standalone/config}/frr/ospfd.conf | 0 .../standalone/config}/frr/staticd.conf | 0 .../standalone/config}/frr/zebra.conf | 0 .../standalone/config}/wireguard/wg0.conf | 0 .../standalone/docker-compose.yaml | 2 +- examples/two-nodes/docker-compose.yaml | 28 +++++++++++++++++++ examples/two-nodes/node-1/frr/daemons | 1 + examples/two-nodes/node-1/frr/ospfd.conf | 7 +++++ examples/two-nodes/node-1/frr/staticd.conf | 0 examples/two-nodes/node-1/frr/zebra.conf | 2 ++ examples/two-nodes/node-1/wireguard/wg0.conf | 10 +++++++ examples/two-nodes/node-2/frr/daemons | 1 + examples/two-nodes/node-2/frr/ospfd.conf | 7 +++++ examples/two-nodes/node-2/frr/staticd.conf | 0 examples/two-nodes/node-2/frr/zebra.conf | 2 ++ examples/two-nodes/node-2/wireguard/wg0.conf | 10 +++++++ 18 files changed, 69 insertions(+), 2 deletions(-) rename {config => examples/standalone/config}/frr/daemons (100%) rename {config => examples/standalone/config}/frr/ospfd.conf (100%) rename {config => examples/standalone/config}/frr/staticd.conf (100%) rename {config => examples/standalone/config}/frr/zebra.conf (100%) rename {config => examples/standalone/config}/wireguard/wg0.conf (100%) rename docker-compose.yaml => examples/standalone/docker-compose.yaml (95%) create mode 100644 examples/two-nodes/docker-compose.yaml create mode 100644 examples/two-nodes/node-1/frr/daemons create mode 100644 examples/two-nodes/node-1/frr/ospfd.conf create mode 100644 examples/two-nodes/node-1/frr/staticd.conf create mode 100644 examples/two-nodes/node-1/frr/zebra.conf create mode 100644 examples/two-nodes/node-1/wireguard/wg0.conf create mode 100644 examples/two-nodes/node-2/frr/daemons create mode 100644 examples/two-nodes/node-2/frr/ospfd.conf create mode 100644 examples/two-nodes/node-2/frr/staticd.conf create mode 100644 examples/two-nodes/node-2/frr/zebra.conf create mode 100644 examples/two-nodes/node-2/wireguard/wg0.conf diff --git a/Dockerfile b/Dockerfile index c5c9d00..8a63ce2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,6 @@ RUN apk add --no-cache --update-cache frr wireguard-tools tini RUN mkdir -p /var/run/frr RUN chown -R frr:frr /etc/frr /var/run/frr - ENTRYPOINT ["/sbin/tini", "--"] COPY docker-entrypoint.sh /usr/local/bin/ diff --git a/config/frr/daemons b/examples/standalone/config/frr/daemons similarity index 100% rename from config/frr/daemons rename to examples/standalone/config/frr/daemons diff --git a/config/frr/ospfd.conf b/examples/standalone/config/frr/ospfd.conf similarity index 100% rename from config/frr/ospfd.conf rename to examples/standalone/config/frr/ospfd.conf diff --git a/config/frr/staticd.conf b/examples/standalone/config/frr/staticd.conf similarity index 100% rename from config/frr/staticd.conf rename to examples/standalone/config/frr/staticd.conf diff --git a/config/frr/zebra.conf b/examples/standalone/config/frr/zebra.conf similarity index 100% rename from config/frr/zebra.conf rename to examples/standalone/config/frr/zebra.conf diff --git a/config/wireguard/wg0.conf b/examples/standalone/config/wireguard/wg0.conf similarity index 100% rename from config/wireguard/wg0.conf rename to examples/standalone/config/wireguard/wg0.conf diff --git a/docker-compose.yaml b/examples/standalone/docker-compose.yaml similarity index 95% rename from docker-compose.yaml rename to examples/standalone/docker-compose.yaml index 8de1c35..582f7e3 100644 --- a/docker-compose.yaml +++ b/examples/standalone/docker-compose.yaml @@ -2,7 +2,7 @@ version: "3.9" services: backbone: - build: . + build: ../.. container_name: backbone ports: - 13231:13231/udp diff --git a/examples/two-nodes/docker-compose.yaml b/examples/two-nodes/docker-compose.yaml new file mode 100644 index 0000000..f1ca098 --- /dev/null +++ b/examples/two-nodes/docker-compose.yaml @@ -0,0 +1,28 @@ +version: "3.9" + +services: + node1: + build: ../.. + container_name: backbone-1 + cap_add: + - NET_ADMIN + - CAP_SYS_ADMIN + sysctls: + - net.ipv4.conf.all.src_valid_mark=1 + - net.ipv4.ip_forward=1 + volumes: + - ./node-1/frr:/etc/frr + - ./node-1/wireguard:/etc/wireguard + + node2: + build: ../.. + container_name: backbone-2 + cap_add: + - NET_ADMIN + - CAP_SYS_ADMIN + sysctls: + - net.ipv4.conf.all.src_valid_mark=1 + - net.ipv4.ip_forward=1 + volumes: + - ./node-2/frr:/etc/frr + - ./node-2/wireguard:/etc/wireguard diff --git a/examples/two-nodes/node-1/frr/daemons b/examples/two-nodes/node-1/frr/daemons new file mode 100644 index 0000000..37da5d8 --- /dev/null +++ b/examples/two-nodes/node-1/frr/daemons @@ -0,0 +1 @@ +ospfd=yes \ No newline at end of file diff --git a/examples/two-nodes/node-1/frr/ospfd.conf b/examples/two-nodes/node-1/frr/ospfd.conf new file mode 100644 index 0000000..11aa342 --- /dev/null +++ b/examples/two-nodes/node-1/frr/ospfd.conf @@ -0,0 +1,7 @@ +interface wg0 + ip ospf area 0.0.0.0 + ip ospf network point-to-point + +router ospf + redistribute connected + redistribute kernel \ No newline at end of file diff --git a/examples/two-nodes/node-1/frr/staticd.conf b/examples/two-nodes/node-1/frr/staticd.conf new file mode 100644 index 0000000..e69de29 diff --git a/examples/two-nodes/node-1/frr/zebra.conf b/examples/two-nodes/node-1/frr/zebra.conf new file mode 100644 index 0000000..50ba28d --- /dev/null +++ b/examples/two-nodes/node-1/frr/zebra.conf @@ -0,0 +1,2 @@ +interface wg0 + ip address 192.168.0.1/30 \ No newline at end of file diff --git a/examples/two-nodes/node-1/wireguard/wg0.conf b/examples/two-nodes/node-1/wireguard/wg0.conf new file mode 100644 index 0000000..b7908ac --- /dev/null +++ b/examples/two-nodes/node-1/wireguard/wg0.conf @@ -0,0 +1,10 @@ +[Interface] +Address = 192.168.0.1/30 +PrivateKey = WEInQueTh6I/mv6hBgVRITBF8O4xMf3wUSyfylu7Slg= +ListenPort = 13231 +Table = off + +[Peer] +PublicKey = LDy/c6erjyfsnoETop4aKEWfdFqFiNSx5KPwij+VPk8= +AllowedIPs = 0.0.0.0/0 +Endpoint = node2:13231 \ No newline at end of file diff --git a/examples/two-nodes/node-2/frr/daemons b/examples/two-nodes/node-2/frr/daemons new file mode 100644 index 0000000..37da5d8 --- /dev/null +++ b/examples/two-nodes/node-2/frr/daemons @@ -0,0 +1 @@ +ospfd=yes \ No newline at end of file diff --git a/examples/two-nodes/node-2/frr/ospfd.conf b/examples/two-nodes/node-2/frr/ospfd.conf new file mode 100644 index 0000000..11aa342 --- /dev/null +++ b/examples/two-nodes/node-2/frr/ospfd.conf @@ -0,0 +1,7 @@ +interface wg0 + ip ospf area 0.0.0.0 + ip ospf network point-to-point + +router ospf + redistribute connected + redistribute kernel \ No newline at end of file diff --git a/examples/two-nodes/node-2/frr/staticd.conf b/examples/two-nodes/node-2/frr/staticd.conf new file mode 100644 index 0000000..e69de29 diff --git a/examples/two-nodes/node-2/frr/zebra.conf b/examples/two-nodes/node-2/frr/zebra.conf new file mode 100644 index 0000000..d041a5c --- /dev/null +++ b/examples/two-nodes/node-2/frr/zebra.conf @@ -0,0 +1,2 @@ +interface wg0 + ip address 192.168.0.2/30 \ No newline at end of file diff --git a/examples/two-nodes/node-2/wireguard/wg0.conf b/examples/two-nodes/node-2/wireguard/wg0.conf new file mode 100644 index 0000000..67dbe74 --- /dev/null +++ b/examples/two-nodes/node-2/wireguard/wg0.conf @@ -0,0 +1,10 @@ +[Interface] +Address = 192.168.0.2/30 +PrivateKey = CIvfcNMV8n3e40Rk+wjDCm6CPyhqPPCUFcEdfBgIq2Y= +ListenPort = 13231 +Table = off + +[Peer] +PublicKey = M7Qgt2mHJI4gyq2rLb+6julDjG5Mtfg/vUGEOYts+zk= +AllowedIPs = 0.0.0.0/0 +Endpoint = node1:13231 \ No newline at end of file