{"id":14293,"url":"\/distributions\/14293\/click?bit=1&hash=05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","hash":"05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","title":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0438 \u043a\u043e\u043f\u0435\u0439\u043a\u0438","buttonText":"","imageUuid":""}

Проблема настройки своего VPN через WireGuard на VDS: подключается, но нет интернета

Велик соблазн написать «наконец-то нормальный» мануал для настройке wireguard. Но в итоге такой мануал станет очередным, который не решает все проблемы пользователя при настройке. Поэтому данная запись носит цель подсветить возможные проблемы, с которыми может столкнуться рядовой пользователь при настройке базового vpn через wireguard на типовом vds.

Использовал данный мануал по настройке:

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

Мой VDS

  • базовый VDS в DIgitalOcean за $4: 512 MB Memory / 10 GB Disk / SGP1 - Ubuntu 22.10 x64
  • регион Сингапур. Скорее всего не лучший вариант, но точно рабочий. Изначально пробовал другие регионы, но в процессе поиска проблем менял сервера. Встречал комменты, что для некоторых регионов не "заводилось". Пример замера скорости в конце статьи.

Примечание: при регистрации Digital Ocean предоставил пробный период с "$200.00 (expires in 59 days)". При этом DO сделал списание (и сразу возврат) тестовой суммы в $5 при регистрации. Если есть подходящая карта, то скорее всего есть рабочий вариант завести новый аккаунт и раскатать wireguard еще раз на два месяца. При необходимости повторить.

Пробовал настраивать VDS по нескольким инструкциям. Вцелом, они однотипны и по каждой из них была проблема на финальном шаге - подключаюсь в WireGuard через клиент, но интернета нет. Скорее всего если есть проблема, то она будет воспроизводиться именно на этом шаге.

Полагаю, что вы прошли инструкцию и понимаете о чем идет речь дальше.

Еще раз проверяем файлы конфигураций

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

  • первый файл wg0.conf располагается на самом VDS и задает настройки для wireguard
  • второй, к примеру, mac.conf в моем случае, в котором задаются настройки клиента

Пример моего файла wg0.conf

[Interface] Address = 10.0.0.1/24 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 51830 PrivateKey = <private_key> [Peer] PublicKey = <public_key> AllowedIPs = 10.0.0.2/32

Пройдемся по основным полям:

  1. PrivateKey & PublicKey. В процессе настройке можно вполне легко перепутать данные для вставки в поля PrivateKey и PublicKey при вставке в файлы конфигураций. Проверьте еще раз, что в этой части все правильно.
  2. ListenPort. У меня указан 51830, но вроде как 51820 согласно другим инструкциям тоже должен работать. Проблем тут быть не должно.
  3. AllowedIPs. По сути данное значение должно совпадать с указанным в файле настроек клиента.
  4. ⚡⚡⚡ PostUp & PostDown. Молния. Даже три. В инструкции указана такая строчка:
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Данные команды выполняются при старте/останове wireguard сервера. Здесь нас интересуют значения %i и eth0.

Так понял значение %i является шаблоном для сетевого интерфейса, вместо которого в итоге подставляется конкретное значение. В моем случаем указал хардкодом 'wg0'. Без этого у меня не работало.

Также вместо eth0 иногда требуется указать ваше значение сетевого интерфейса. Для просмотра сетевых интерфейсов можно использовать команду ifconfig -a в терминале VDS. В моем случае eth0, но может быть ens3 или другое значение. Если здесь указан неправильный интерфейс, то при просмотре статуса через команду systemctl status [email protected] видел ошибку в консоли. В моем случае правка относительно инструкции не понадобилась.

Пример моего файла mac.conf (файл клиента)

[Interface] PrivateKey = <private_key> Address = 10.0.0.2/32 # должно совпадать с указанным в wg0.cong в для настойки [Peer] DNS = 1.1.1.1 # сами задаем DNS, можно 8.8.8.8 или любой другой [Peer] PublicKey = <public_key> Endpoint = <ip_vds>:51830 # проверяем порт AllowedIPs = 0.0.0.0/0 # пропускаем весь трафик через wireguard PersistentKeepalive = 20

Основные момент прокомментировал по файлу.

Клиент настраивал на MacOS. Приложение WireGuard можно скачать из AppStore. Приложение в итоге рабочее, но не отличается многословностью в случае ошибок. Даже в кривыми конфигами подключается и горит зеленым. что появились строки - получено данных, отправлено данных, последнее рукопожатие. Пример скрина с удачно запущенным wireguard:

Пример скрина с удачно запущенным wireguard

Напоследок замеры скорости по WI-FI:

Через wireguard
Без wireguard
0
19 комментариев
Написать комментарий...
Lexx Andr

Зачем все эти сложности, когда на гитхабе куча скриптов автоинсталлеров, после которых все работает как часы, годами?)
Ну серьёзно

Ответить
Развернуть ветку
Антон
Автор

Поделитесь примерами проверенных скриптов?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Aleksander Aleksandrov

https://github.com/angristan/openvpn-install
ну, конечно openvpn

Ответить
Развернуть ветку
Антон
Автор

Кстати, по вышей ссылке в readme указана ссылка на WireGuard Installer https://github.com/angristan/wireguard-install

Ответить
Развернуть ветку
Aleksander Aleksandrov

wireguard не проверял, но хорошо, что есть.

Ответить
Развернуть ветку
Lexx Andr

Я этим пользуюсь, у него и openvpn есть. Развернул уже несколько десятков серверов, максимум что было - с нуля накатывал операционку из образа и снова скрипт, примерно за пять минут)

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Антон

При правильно выбранной локации и хостере, трафик через WG не то чтобы занижается, как у топик стартера аж до 3-х раз, а наоборот становится выше, то есть вытаскивает, например, мобильный интернет на более высокую скорость. Проверено неоднократно. Арендовать сервера на DO, такой себе челлендж. У меня, например, все IP DO, на серверах стоят в правилах на блокировку, так как с адресов DO, порядка 60% паразитного трафика идёт, всякие спамеры, сканеры и прочая нечесть.

Ответить
Развернуть ветку
Al

Зачем столько танцев с бубном если есть AmneziaVPN?
Там и вг и сокс с обфускацией

Ответить
Развернуть ветку
Антон

Очень интересно-странный вариант, так как мобильное приложение не позволяет выбрать сами приложения трафик которых необходимо пускать через туннель и те, которые напрямую. Предусмотрено либо весь трафик, либо сайты...🤔
К тому же логинится через приложение к серверу, очень своеобразное решение.

Ответить
Развернуть ветку
Веб

Здесь основной момент в том, что Amnezia идеальна для личного пользования. Да и ничто не мешает права урезать на самом сервере. А насчёт приложения... Я сгенерировал под OpenVPN сертификат и пользуюсь им.

Amnezia упрощает запуск своего VPN. Но ничто не мешает поднять этот VPN с нуля 🤷‍♂️ Мне лично лень было этим заниматься 😊

Ответить
Развернуть ветку
Веб

Поддерживаю, с Amnezia не один месяц. Настройка VPN быстрая, работа стабильная. Для личного пользования лучше и проще не нашёл 😊

Ответить
Развернуть ветку
Никита Румянцев

а вот глава Минцифры вообще констатировал, что VPN в России не приживаются

Ответить
Развернуть ветку
Антон
Автор

Поэтому параллельный импорт :)

Ответить
Развернуть ветку
Никита Румянцев

не решает проблем

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Vladislav Boldyrev

Немогу понять, почему конфиг WireGuard работает на клиентах Windows 10 и iOS, но не хочет на Android. Другие VPN подключаются с андроида.

Ответить
Развернуть ветку
itprepod

Вот еще хороший VPN сервис на Wireguard:
https://kupit-vpn.ru
Не нужно заморачиваться с арендой сервера, настройкой Wireguard. Просто оплачиваешь, высылают настройку и пользуешься.

Ответить
Развернуть ветку
16 комментариев
Раскрывать всегда