Я пытаюсь настроить Wireguard VPN на сервере Fedora. У меня есть и работает, и я могу подключиться к нескольким клиентам, просматривать его, SSH на сервере и т.д. В целом, это просто работает. За исключением одного. Если у меня есть два клиента, подключенных одновременно, я не могу ssh от клиента A к клиенту B или другим способом по этому вопросу через VPN. Я могу ssh с сервера на любой из клиентов и с клиентов на сервер, но не между клиентом. Основной причиной является брандмауэр, поэтому я попытался отключить его, и, как я и ожидал, теперь я могу подключиться к ssh между клиентами в одной подсети VPN.
Таким образом, брандмауэр не настроен должным образом, но я добавил правило ниже:
iptables -A FORWARD -i wg0 -o wg0 -j ACCEPT
что должно позволить клиентам общаться? Поскольку это сервер Fedora, работающий с firewalld, я решил создать новую зону с именем vpn и добавить к ней интерфейс wg0, чтобы я мог создавать специальные правила для VPN. Это работает, и я все еще могу просматривать и SSH между клиентом и сервером, но не между клиентами.
Что мне не хватает? Должно ли правило пересылки быть установлено через firewalld, и если да, то какая команда должна делать это, а я не могу понять, что это правильно.
Изменить: я пытался с командой
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i wg0 -o wg0 -j ACCEPT
но получите ответ COMMAND_FAILED от firewalld. Нет кодов ошибок или что-нибудь еще.
Редактировать 2: я добавил
firewall-cmd --permanent --zone=vpn --set-target=ACCEPT
Теперь я могу ssh между клиентами. Это правильный способ сделать это?