I have a Docker container running WireGuard (https://docs.linuxserver.io/images/docker-wireguard)
Config:
version: "2.1"
services:
wireguard:
image: lscr.io/linuxserver/wireguard
container_name: my-wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
- SERVERURL=193.168.227.155
- SERVERPORT=51820
- PEERS=1
- PEERDNS=1.1.1.1
- INTERNAL_SUBNET=10.13.13.0
- ALLOWEDIPS=0.0.0.0/0
volumes:
- /home/wireguard:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
I need to run BIRD for clients connected with WireGuard
Config:
log syslog all;
router id 10.13.13.0;
protocol kernel {
scan time 60;
ipv4 {
import none;
export none;
};
}
protocol device {
scan time 60;
}
protocol static {
ipv4;
include "subnet.txt";
include "ip.txt";
include "my.txt";
}
protocol bgp {
local 10.13.13.0 as 64999;
neighbor 10.13.13.2 as 64999;
passive off;
ipv4 {
import none;
export all;
next hop self;
};
}
protocol bgp {
local 10.13.13.0 as 64999;
neighbor 10.13.13.3 as 64999;
passive off;
ipv4 {
import none;
export all;
next hop self;
};
}
With this config BIRD cannot connect, I get "bgp1: Socket error: bind: Cannot assign requested address" errors
I understand that additional configuration is required for this to work, but I'm really unfamiliar with Docker networking