LINUX.ORG.RU
решено ФорумAdmin

Wireguard и Маршрутизация. Или почему все идет через интерфейс онного если он явялется «Сервером»

 , ,


0

1

Привет лор. Столкнулся с проблемой, для некоторых возможно будет очевидной

Вот конфиг самого Wireguard'а, стянул из арчвики и поправил под себя. Но вот сегодня обнаружил, что весь трафик идет через интерфейс wg0 хотя не должен, на него должны приходить коннекты а не через него

[Interface]
Address = 10.13.0.1/24
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp2s0 -j MASQUERADE
ListenPort = 51820
PrivateKey = 

[Peer]
PublicKey = 
AllowedIPs = 0.0.0.0/0

Настраивал это дело для того, чтобы ловить коннект клиента из инторнетов и получать доступ к своему Jenkins'у и т.д

Я не хочу чтобы wg0server был gateway'ем, только для подключений с клиентом, а весь другой трафик ходил через enp2s0

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

Есть подозрение на то, что WG выставил себе метрику нулевую, тем самым выше в приоритете чем enps0

Либо прописывает себя gateway'ем

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    202    0        0 enp2s0
10.7.0.0        0.0.0.0         255.255.255.0   U     202    0        0 enp2s0
10.13.0.0       0.0.0.0         255.255.255.0   U     0      0        0 wg0server
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Список маршрутов:

default dev wg0server table 51820 scope link 
default via 10.7.0.1 dev enp2s0 src 10.7.0.20 metric 202 
10.7.0.0/24 dev enp2s0 proto kernel scope link src 10.7.0.20 metric 202 
10.13.0.0/24 dev wg0server proto kernel scope link src 10.13.0.1 
broadcast 10.7.0.0 dev enp2s0 table local proto kernel scope link src 10.7.0.20 
local 10.7.0.20 dev enp2s0 table local proto kernel scope host src 10.7.0.20 
broadcast 10.7.0.255 dev enp2s0 table local proto kernel scope link src 10.7.0.20 
broadcast 10.13.0.0 dev wg0server table local proto kernel scope link src 10.13.0.1 
local 10.13.0.1 dev wg0server table local proto kernel scope host src 10.13.0.1 
broadcast 10.13.0.255 dev wg0server table local proto kernel scope link src 10.13.0.1 
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1 
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1 
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1 
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1 
local ::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev enp2s0 proto kernel metric 100 pref medium
fe80::/64 dev enp2s0 proto kernel metric 256 pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
local fe80::b059:9a1f:b1ef:a357 dev enp2s0 table local proto kernel metric 0 pref medium
ff00::/8 dev enp2s0 table local metric 256 pref medium
ff00::/8 dev wg0server table local metric 256 pref medium

Deleted
()
Ответ на: комментарий от Deleted

AllowedIPs = 0.0.0.0/0

Ты себе сделал VPN шириной во всё адресное пространство IPv4.

Здесь указываются адреса, которые будут принадлежать твоей виртуальной сети. Т. е. это «allowed IPs» после расшифровки и декапсуляции, а не до. Или, если так угодно, это эквивалент policy в туннельном режиме IPsec; работать в «транспортном режиме» WG не умеет.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от Deleted

default dev wg0server table 51820 scope link

автоматом wireguard не выставляет маршрут по умолчанию, он у тебя где-то прописан

vvviperrr ★★★★★
()
Ответ на: комментарий от anonymous_sama
wg-quick up wg0server

По аналогии отключается(вместо up - down)

Deleted
()
Ответ на: комментарий от intelfx

Спасибо, думал что секция Allowed IPS для клиента и его адреса

Deleted
()
Ответ на: комментарий от Deleted

51820 это порт wireguard'а

Не только default dev wg0server table 51820 scope link

Решил проблему заменой 0.0.0.0/0 на 10.13.0.2/32 в секции [Peer]

Уже понял, что мой коментарий не помог бы :)

anc ★★★★★
()
Ответ на: комментарий от anc

Но появилась ещё одна проблема - на клиенте...

Deleted
()
Ответ на: комментарий от intelfx

На клиенте конфиг:

[Interface]
Address = 10.13.0.2/32
PrivateKey = 
DNS = 10.13.0.1

[Peer]
PublicKey = 
AllowedIPs = 10.13.0.1/32
Endpoint = IP:51820
PersistentKeepalive = 25

Маршруты:

default via 10.7.0.101 dev enp0s25 src 10.7.180.122 metric 202 
10.7.0.0/16 dev enp0s25 proto kernel scope link src 10.7.180.119 metric 100 
10.7.0.0/16 dev enp0s25 proto kernel scope link src 10.7.180.122 metric 100 
10.7.0.0/16 dev enp0s25 proto kernel scope link src 10.7.180.122 metric 202 
10.13.0.1 dev wg0 scope lin

Пингуется, например 8.8.8.8 но все остальное нет

Т.е только адреса

Догадка такова, если DNS строчку убрать оно будет работать, прав ли я?

UPD:

Все проблемы решил. Спасибо большое тебе

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

Вот это конфиг к чему вообще? Что в нём делает директива DNS=? Ты в принципе понимаешь, чего ты хочешь достичь и как?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.