15

Проблемы установки Wireguard на Linux и объединение сетей

Устанавливая ранее Wireguard сервер на Centos7 (хотя такое случается и с Убунтой), при инсталляции наткнулся на неприятный баг, с которым не стал разбираться, как следует, а обошёл его. В частности, категорически не хотела работать стандартная конфигурация и вынудила привязывать интерфейс сервера к реальному IP, что неправильно и порождает цепную реакцию хаоса. Присмотревшись повнимательнее, стало понятно следующее.


При контрольной инсталляции на подопытную виртуалку получаем такой результат:

# systemctl start wg-quick@wg0-server

Job for wg-quick@wg0-server.service failed because the control process exited with error code.


А в journalctl -xe видим такую картину:

а на

# modprobe wireguard

Отвечает: modprobe: FATAL: Module wireguard not found.


Что является характерным показанием к пересборке драйверов ядра линукс, но сначала нужно проверить пациента на гипотетическую переносимость операции:

# uname -r

Теперь проверим состояние Wireguard'а:

# dkms status

Added, Карл! Но не Installed, что нам необходимо. Поэтому, выполняем команду построить стену заново, чётко выразив свои требования по поводу только что узнанной версии:

# dkms build wireguard/1.0.20211208

Тут он начиная грязно ругаться, на что мы ему интеллигентно ответствуем:

# yum install "kernel-devel-uname-r == $(uname -r)"

Далее спокойно и упрямо настаиваем на своём:

# dkms build wireguard/1.0.20211208
# dkms status
# dkms install wireguard/1.0.20211208

Придирчивый прораб не должен заметить ни одного изъяна в конструкции, никаких erroroв и мелких wrningов.

Так, с этим поросёнком мы разобрались, теперь можно приниматься за шоколадный десерт, объединение в сеть разных клиентов, например Windows. Итак, мы проведём рекогносцировку и определимся, что мы имеем. Сервер с адресом 10.0.0.1 в подсети 10.0.0.0/24, к которому будем последовательно добавлять удалённые узлы 10.0.0.2..10.0.0.x, но чтобы они могли авторизоваться во внутренней сети, допустим 192.168.100.0/24, нам необходимо в конфигурации клиента это явно обозначить:

AllowedIPs = 10.0.0.0/32, 192.168.100.0/24

Теперь осталось только настроить паромщика на переправе, который с левого берега будет всех нуждающихся направлять на правый без долгих рассуждений:

PostUp = iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE; iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o wg0-server -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE; iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o wg0-server -j MASQUERADE

Приятным бонусом обретенной гомогенности будет отсутствие характерного скрежета борта Windows об айсберг VPN с отрывающимися болтами, падающими тарелками, тонущими дикаприо, отваливающимися удалёноками, туннелями и прочими разрывами соединений.


Да, такой вариант в общем виде весьма небезопасен, но это лишь рабочий каркас, на который можно с чистой совестью нанизывать свои бордюры на ограничения под зловещей маской подсети и правилами файрвола.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества