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

Маршрутизация и wireguard

 , ,


0

3

Привет!

Тестирую wireguard (аналог vpn в ядре), весь исходящий трафик работает отлично, но проблема с входящим. При получении пакета на реальный интерфейс(enp4s0, адрес 192.168.0.101), система пытается ответить с этого адреса через wireguard-интерфейс(mullvad).

Запускаю wireguard через дефолтный wg-quick up. После подключения, весь трафик начинает ходить через wireguard интерфейс, в таблице маршрутизации это:

% ip route show table all
default dev mullvad table 51820 scope link
default via 192.168.0.1 dev enp4s0 src 192.168.0.101 metric 202
192.168.0.0/24 dev enp4s0 proto kernel scope link src 192.168.0.101 metric 202
local 10.99.0.34 dev mullvad table local proto kernel scope host src 10.99.0.34
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
broadcast 192.168.0.0 dev enp4s0 table local proto kernel scope link src 192.168.0.101
local 192.168.0.101 dev enp4s0 table local proto kernel scope host src 192.168.0.101
broadcast 192.168.0.255 dev enp4s0 table local proto kernel scope link src 192.168.0.101
default dev mullvad table 51820 metric 1024  pref medium
unreachable default dev lo proto kernel metric 4294967295  error -101 pref medium
fec0:bbbb:bbbb:bb01::34 dev mullvad proto kernel metric 256  pref medium
unreachable default dev lo proto kernel metric 4294967295  error -101 pref medium
local ::1 dev lo table local proto unspec metric 0  pref medium
local fec0:bbbb:bbbb:bb01::34 dev lo table local proto unspec metric 0  pref medium
ff00::/8 dev mullvad table local metric 256  pref medium
unreachable default dev lo proto kernel metric 4294967295  error -101 pref medium

Пробовал так, не помогло:

ip route add from 192.168.0.0 24 dev enp4s0

Подскажите, пожалуйста, как объяснить ему, что с локального адреса нужно отправлять трафик через физический интерфейс?

★★★

Попробовал еще так, вообще перестаёт работать:

ip rule add from 192.168.0.101 table 101
ip route add default via 192.168.0.101 table 101

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

Неа, всё так же через wireguard-интерфейс отправляет

disarmer ★★★
() автор топика
Последнее исправление: disarmer (всего исправлений: 1)

ничо не понял. если тебе не нужен дефолтный маршрут на wg интерфейс - просто не ставь его.

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

Мне нужен дефолтный маршрут через wg, но мне нужно чтобы ответы на запросы, пришедшие через обычный интерфейс, уходили тоже через обычный интерфейс. По дефолту это не так - запрос приходит на реальный интерфейс, а ответ уходит через wg

Я вручную не добавлял маршруты, это wg-quick всё добавил (возможно баг?)

disarmer ★★★
() автор топика
Последнее исправление: disarmer (всего исправлений: 1)

на правах мимокрокодила

Запросы на реальный интерфейс могут приходить с произвольных адресов, а не только из подсети? Тогда, наверное, тебе в policy based routing, обычным не обойдёшься...

intelfx ★★★★★
()
Ответ на: на правах мимокрокодила от intelfx

На запросы с подсети отвечает через реальный интерфейс, с внешних адресов не работает.

Во внешний мир ходит через адрес wg 10.99.0.34, т.е. можно зароутить всё с источником 192.168.0.0/24.

Вроде простой случай, странно что еще никто не наступал

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

Вроде простой случай, странно что еще никто не наступал

Если все правильно понял, то вам ответил выше intelfx «Тогда, наверное, тебе в policy based routing, обычным не обойдёшься...»
И примеров тому чуть больше чем много, включая и здесь.

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

О, действительно, ступил. Через нормальный шлюз работает и ответы через реальный интерфейс уходят. Спасибо

disarmer ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.