You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ruakij 180f11cb86 | 2 years ago | |
---|---|---|
build | 2 years ago | |
cmd/app | 2 years ago | |
doc | 2 years ago | |
lib | 2 years ago | |
Dockerfile | 2 years ago | |
README.md | 2 years ago | |
go.mod | 2 years ago | |
go.sum | 2 years ago |
README.md
RoutingTableToWG
Translate Routing-Table Entries to Wireguard AllowedIPs with Filters
1. Overview
1.1. Usage
The Program will listen for RoutingTable Changes and can translate the changes to a Wireguard-Interface.
It will detect the Peer to add the Route to using the Gateway from the Route-Entry.
In case routes clash or cant be added to Wireguard, Warnings will be logged.
1.1.1. Examples
- Dynamic Routing with Routing-Protocols (e.g. OSPF)
- Interacting with Wireguard using the familiar Tools like
iproute2
1.2. Install
1.2.1. Environment
Variable | Description | Default |
---|---|---|
INTERFACE * |
Wireguard-Interface Name | |
FILTER_PROTOCOL |
Protocol to react on | All |
FILTER_TABLE |
Table to react on | All |
* Required
1.2.2. Docker
Depending on the needs, the Container can be run in network_mode: host
to be able to access routing-tables and interfaces of the host.
Additionally the capability NET_ADMIN
is required for interacting with interfaces.
docker-compose.yml
version: '3'
services:
routingtabletowg:
image: ruakij/routingtabletowg
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
environment:
- INTERFACE="<wgInterfaceName or empty for wg0>"
1.2.3. Without Docker
Clone the Repository git clone <URI>
and build the Program with go build cmd/app
Then you can run it with ./app