Маршрутизация определенной сети Docker через интерфейс Systemd Wireguard

Cuando esto suceda, ejecute bash desde la línea de comando, luego salga (para devolver el primer bash ). Debería funcionar de nuevo. Detalles algo interesantes aquí:https://stackoverflow.com/questions/19895185/bash-shell-read-error-0-resource-temporarily-unavailable.

3
30.06.2019, 10:11
1 ответ

Я столкнулся с той же проблемой, вот как я заработал:

Ваша основная ошибка заключалась в том, как вы использовали AllowedIPsв сетевом устройстве. AllowedIPsуказывает разрешенные целевые IP-адреса, и, поскольку вы, вероятно, хотите туннелировать трафик на все IP-адреса, вы должны указать 0.0.0.0/0.

Строка Destinationв секции [Route]и результирующий маршрут(10.222.111.0/24 via 10.0.3.227 dev wg0 proto static)также неверны. :Это направляет трафик , направленный 10.222.111.0/24, на интерфейс WireGuard вместо исходящего трафика . ] из этой подсети.

Для фильтрации по источнику , чтобы весь трафик из подсети докеров проходил через VPN, вы можете использовать [RoutingPolicyRule](, эквивалентный ip rule), и [Route](, эквивалентный ip route). ] в сетевом файле, чтобы ваши сетевые файлы выглядели так:

etc/systemd/network/30-wg0.netdev:

[NetDev]
Name = wg0
Kind = wireguard
Description = Wireguard

[WireGuard]
PrivateKey = XXXX

[WireGuardPeer]
PublicKey = XXXX
AllowedIPs = 0.0.0.0/0
Endpoint = XXXX:51820
PersistentKeepalive = 25

/etc/systemd/network/30-wg0.network:

[Match]
Name=wg0

[Network]
Address = 10.0.3.227/19
DNS = X.X.X.X

[RoutingPolicyRule]
From = 10.222.111.0/24
# Or any other unused table number
Table = 242

[Route]
# The address of the interface, same as in Address line
Gateway = 10.0.3.227
# Same table number as above
Table = 242

С этой конфигурацией и curl --interface wg0, и

# docker network create vpn --subnet 10.222.111.0/24
# docker run --rm --dns X.X.X.X --network vpn appropriate/curl -s https://ifconfig.me

должно работать нормально (обратите внимание, что я удалил параметр --ipв docker run, так как он не нужен ).

На самом деле я написал статью в блоге о своем решении с подробными инструкциями,вы можете взглянуть, если хотите, это может помочь:https://www.eisfunke.com/article/docker-wireguard-systemd.html.

Надеюсь, это поможет!

2
08.04.2020, 22:30

Теги

Похожие вопросы