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 1d4b59b7cc | 11 months ago | |
---|---|---|
build | 2 years ago | |
cmd/app | 2 years ago | |
doc | 2 years ago | |
lib | 2 years ago | |
Dockerfile | 2 years ago | |
Jenkinsfile | 11 months 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 | Type | Default |
---|---|---|---|
INTERFACE * |
Wireguard-Interface Name | String | |
FILTER_PROTOCOL |
Protocol to react on | Number / iproute2-name | All |
FILTER_TABLE |
Table to react on | Number / iproute2-name | All |
PERIODIC_SYNC |
Reguarly sync the routing-table Useful when the wg-interface is changed/updated without us knowing |
Seconds | -1 |
* 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