Рейтинг:2

Wireguard - Как туннелировать только часть трафика

флаг nf

Можно ли настроить сервер Wireguard так, чтобы через Wireguard туннелировался только список ips [A, B, C,...], а остальной трафик игнорировался и шел через не-Wireguard интерфейс?

Иными словами, я пытаюсь предоставить доступ к Wireguard VPN некоторым внешним людям, но я не хочу, чтобы они могли использовать VPN для просмотра других IP-адресов/сайтов, кроме тех, которые я указал (при этом позволяя им делать то, что им нужно). хотят использовать собственный не-VPN-интерфейс/соединение.

Спасибо

Рейтинг:1
флаг mx

Можно использовать iptables.
Заменять eth0 с сетевым интерфейсом, который подключается к Интернету и 10.6.0.1/24 с вашей клиентской подсетью.

Вставьте это куда-нибудь в конфигурацию Wireguard ниже [ИНТЕРФЕЙС].

# Отбрасываем все исходящие пакеты из клиентской подсети
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -o eth0 -j DROP
## Добавьте сюда свои исключения

Например:

[Интерфейс]
Приватный ключ = ...
Адрес = 10.6.0.1/24
МТУ = 1420
Порт прослушивания = 51820

## Перед запуском интерфейса wg0
# Отбрасываем все исходящие пакеты из клиентской подсети
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -o eth0 -j DROP
# Разрешить клиентам подключаться к локальной сети 192.168.0.1/24
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -d 192.168.0.1/24 -j ПРИНЯТЬ
# Разрешить клиентам подключаться к tcp-порту 80 (обычно http) на 10.10.0.5
PreUp = iptables -I FORWARD -s 10.6.0.1/24 -d 10.10.0.5 -p tcp --dport 80 -j ПРИНЯТЬ

## После отключения интерфейса wg0
PostDown = iptables -D FORWARD -s 10.6.0.1/24 -o eth0 -j DROP
PostDown = iptables -D FORWARD -s 10.6.0.1/24 -d 192.168.0.1/24 -j ПРИНЯТЬ
PostDown = iptables -D FORWARD -s 10.6.0.1/24 -d 10.10.0.5 -p tcp --dport 80 -j ПРИНЯТЬ

[Вглядеться]
...

Для бесперебойной работы на стороне клиента вам также необходимо настроить Разрешенные IP-адреса в конфиге клиента. В противном случае клиенты попытаются использовать VPN для доступа в Интернет, и эти запросы просто истечет.

Следуя приведенному выше примеру, конфигурация клиента может выглядеть так:

[Интерфейс]
Приватный ключ = ...
Адрес = 10.6.0.2/24
DNS = 10.6.0.1

[Вглядеться]
Публичный ключ = ...
Разрешенные IP-адреса = 192.168.0.1/24, 10.10.0.5
Конечная точка = ...
Предварительный Ключ = ...

Документация:

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.