Рейтинг:1

VPN/WIreguard перенаправляет внутренний и внешний трафик

флаг br

Это может быть больше вопрос о брандмауэре Linux, но контекст — это настройка Wireguard VPN в Ubuntu. Заметьте, я едва знакомлюсь со многими из этих вещей.

У меня есть Wireguard, работающий на Digital Ocean Ubuntu с клиентами Windows и Android, использующими его. Все вроде хорошо.

Основные команды брандмауэра, которые я использую, приводятся ниже: WG0 (частный VPN) через общедоступный eth0 интерфейс. Как надо (почти?) и работает нормально. Wgo/Частная сеть 10.8.0.1/24 и сервер 10.8.0.1. Когда клиентский трафик поступает на указанный ниже сервер, предназначенный для 10.8.0.х (другой адрес в частной сети) время ожидания истекло.

Я «думал», что это потому, что он пытается направить его через eth0? Если да, то как мне убедиться, что трафик, предназначенный для частной подсети, остается с использованием WG0 интерфейс? Если нет, какие еще предложения?

PreUp = sysctl -w net.ipv4.ip_forward=1
PreUp = sysctl -w net.ipv6.conf.all.forwarding=1
PostUp = маршрут ufw разрешает вход на wg0 и выход на eth0
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = ufw удалить маршрут, разрешить вход на wg0, выход на eth0
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w net.ipv4.ip_forward=0
PostDown = sysctl -w net.ipv6.conf.all.forwarding=0
Рейтинг:0
флаг in

Если ваша политика по умолчанию — отбрасывать или запрещать пересылку в iptables/ufw. Тогда вам, скорее всего, не хватает записей брандмауэра/ufw для разрешения потока трафика между различными интерфейсами wireguard или входом и выходом на одном и том же интерфейсе.

Вы можете проверить свой dmesg для [UFW БЛОК] Сообщения.

Разрешить неограниченный входящий и исходящий поток на одном и том же интерфейсе wg PostUp = маршрут ufw разрешает вход на wg0, выход на wg0

Я предпочитаю изменять файл конфигурации напрямую sudo vim /etc/ufw/before.rules Заходим в фильтр, после окончания нужных строк можно добавить нужные вам правила переадресации. Например:

-A ufw-before-forward -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ПРИНЯТЬ

Это разрешит трафик с (-s флаг) 10.8.0.1/24 на интерфейсе wg0 на (-d флаг) 10.8.0.1/24 на интерфейсе wg0. -i — входной интерфейс, а —o — выходной интерфейс.

Если вы предпочитаете использовать путь вверх\вниз, вы можете добавить iptables перед командой.

iptables -A ufw-before-forward -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ПРИНЯТЬ

Удачи :)

Paul G avatar
флаг br
Только что вернулся к этому. Как было предложено, я добавил iptables -A ufw-before-forward -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ПРИНЯТЬ но к моему файлу wg0.conf, действительно, это именно то, что я хотел. трафик в этой подсети, чтобы оставаться на wg0. Кажется, это сработало отлично, спасибо !! Я не знаком с конфигурационным файлом before.rules, поэтому остановился на wg0.conf

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

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