Установим и настроим Wireguard за несколько минут
До недавнего времени я пользовался исключительно OpenVPN, о поднятии которого я писал ранее:
И ввиду относительно невысокой скорости моего интернета я полагал, что мне его будет достаточно. Но все познается в сравнении.
Для общего развития решил поднять у себя Wireguard и был приятно удивлен. Например, скорость подключения Wireguard — она моментальная, тогда как OpenVPN требуется секунд 5-7. Ну и сама скорость соединения, конечно. С Wireguard я не вижу разницы — подключен VPN или нет, скорость практически одинаковая. На OpenVPN просадка была даже больше чем в 2 раза.
Как обстоят дела с высокоскоростными подключениями я на своем опыте не скажу, но никто не мешает взглянуть на многочисленные сравнения Wireguard с OpenVPN, о которых написано немало.
Теперь об установке. Можно все составлять руками, достаточно открыть документацию Wireguard. Но я нашел на гитхаб скрипт быстрой настройки конфига.
Для начала нужно добавить репозиторий WireGuard:
add-apt-repository ppa:wireguard/wireguard
И выполнить обновление пакетов:
apt-get update
Теперь установим Wireguard и другие необходимые пакеты:
apt-get install wireguard-tools mawk grep iproute2 qrencode
Затем качаем сам скрипт:
wget https://raw.githubusercontent.com/burghardt/easy-wg-quick/master/easy-wg-quick
И даем ему права на выполнение:
chmod +x easy-wg-quick
Теперь запустим скрипт командой:
./easy-wg-quick
После первого запуска скрипт создаст файл конфигурации для сервера и для одного клиента, а так же выведет QR код, который можно отсканировать в мобильном приложении WireGuard
Если нужно добавить еще клиентов — просто запускаем скрипт еще раз, конфиг будет создан.
Все конфиги будут лежать в том каталоге, откуда запускаем скрипт. Конфиги будут с именами wgclient_10.conf, wgclient_11.conf и т.д., по порядку.
Так же можно задать имя конфига при выполнении скрипта, для удобства:
./easy-wg-quick client_name
Теперь добавляем сервис WireGuard в автозапуск:
cp wghub.conf /etc/wireguard/wghub.conf systemctl enable wg-quick@wghub
И запускаем:
systemctl start wg-quick@wghub
Для просмотра подключений используется команда:
wg show
После добавления новых клиентов обновляем конфиг и выполняем перезагрузку сервиса:
cp wghub.conf /etc/wireguard/wghub.conf systemctl restart wg-quick@wghub
Обо всех остальных тонкостях можно почитать на странице этого скрипта github
Все настроил по инструкции. Но работает как-то странно. В браузере доступ только с фейсбуку, гуглю, может ещё к чему-то такому. Остальное все не работает почему-то.
Вы на vps делали? С него есть доступ на все остальное?
Да, на впске от Digital Ocean. OpenVPN на точно такой же впске нормально работает.
Значит нужно все же подправить конфиг. На гугловском впс все работает.
Знать бы еще, что править в конфиге. Правки DNS не помогли.
Хочется, конечно, разобраться.. Но это уже не «быстрая» установка. Чтобы быстро, попробуйте все те же манипуляции, но другой скрипт (если вы ставили скрипт из статьи, вам придется его удалить из сервисов и из автозапуска командами : sudo systemctl disable wg-quick@wghub и sudo rm /etc/wireguard/wghub.conf Затем перезагрузите sudo reboot и проверьте, что команда wg show вам не выдает информацию о подключении — надеюсь ничего не упустил) Лучше, конечно, попробовать на чистой машине. Сам скрипт. Скачиваем командой wget https://raw.githubusercontent.com/drew2a/wireguard/master/wg-ububtu-server-up.sh Затем даем права chmod +x ./wg-ububtu-server-up.sh И запускаем ./wg-ububtu-server-up.sh 1 где 1 это количество создаваемых конфигураций для клиентов. Если все прошло успешно —… Подробнее »
все сделал, wg show показывает. Но не понятно, как теперь получить qr код для подключения на телефоне?
qr код — это была фишка скрипта из статьи, вам придется вручную переписать настройки в телефон из client1.conf (как пример), лежащий в домашнем каталоге
попробовал сделать код с помощью # qrencode -t ansiutf8 < /etc/wireguard/wg0.conf но телефон говорит, что некорректный qr код
не понял из какого конфига? у меня в /root только старые какие-то файлы лежат, похожие на конфиг от старой инсталяции, а от сегодняшнего дня там ничего нет, кроме установочного скрипта.
Скрипт должен был создать конфиги для клиентов client1.conf, client2.conf и тд. Их нужно указать.
Сейчас попробовал на своих конфигах команду sudo qrencode -t ansiutf8 < wgclient_10.conf qr код приложение приняло, но пришлось поправить Endpoint ( конечная точка) на внешний белый Ip моего vps. Порт был указан верно
# qrencode -t ansiutf8 < /root/wireguard/client1.conf тоже qr код не воспринимается. Да, у меня убунта 18.0.4 на DO.
Все, wg show что-то вообще перестало что либо показывать. Ладно, не судьба похоже, останусь на OpenVPN. Как-то слишком тут все заморочено.
В свободное время подниму vps на Digital Ocean и попробую. У вас на Digital Ocean Ubuntu 16.04, верно?
Все переделал по изначальному способу, описанному в статье. Только запускаю сервис не через systemctl, а с помощью # wg-quick up ./wghub.conf Теперь все нормально работает.