Wireguard настройка mac os

WireGuard Client: macOS

In this tutorial, we setup a WireGuard client on macOS. Before following this tutorial, you should already have a working WireGuard server running. Install the WireGuard app for macOS.

Get the Server Public Key

From the server, print the server’s public key. We’ll need this soon.

Configure the Client

Click the WireGuard icon in the MacOS menu bar, then click “Manage Tunnels”. Click the plus button at the bottom left corner of the “Manage WireGuard Tunnels” window, then click “Add Empty Tunnel…”

Give the tunnel a name. Something human-readable like “office” or “Raspberry Pi”.

The client public key is set for us in this dialog, and can be copy-pasted. We’ll need this soon.

Ignore “On-Demand” for this tutorial.

The text area is used to edit the client configuration. Notice the syntax of the client config is the same as the server config.

Copy the client public key, then click “Save” to close the dialog.

Configure the Server

Edit the WireGuard service config file at /etc/wireguard/wg0.conf . (Use a command like sudo nano /etc/wireguard/wg0.conf .) Add a [Peer] section to the bottom.

Apply the server config change.

Ensure that the server config change was correctly applied.

Activate the Tunnel

Back in the macOS client tunnel manager, click the “Activate” button.

Test the Tunnel from the Server

Test the Tunnel from the Client

Are packets for the WireGuard server routed via the WireGuard tunnel utun0 ? Query the routing table.

Is the WireGuard server accessible via the tunnel? Ping the server from the client.

Источник

Wireguard для MAC: win или fail?

В этом посте мы продолжаем обсуждать плюсы и минусы использования Wireguard — новаторского подхода к технологиям VPN. Программа доступна не только на Linux, но и на других платформах и ОС.

Понятное дело, что производительность и качество сборки будет наивысшим для Linux и Unix систем с открытым исходным кодом. Однако, как отметили в комментариях для Windows есть вполне приличный графический клиент. Есть таковой и у MacOS, а для Linux отдельного графического клиента нет, если не считать настройку Wireguard из Network Manager.

Wireguard для macOS доступна в App Store и устанавливается стандартным образом. На данный момент последняя версия 1.0.12, средний рейтинг довольно высокий — 4.7 из 5. Ничто не предвещало того, что в рождественский день 25-го декабря 2020 г. автору Wireguard Jason A. Donenfeld-у оборвут телефон жалобами и яростными нападками на кошмарно некачественное и неработающее ПО для Mac.

В предыдущий день такое же не рождественское настроение было у пользователя macOS по имени Rachel. Вместо того, чтобы отмечать праздник в кругу родных и близких людей, она написала гневный отчет в своем блоге о том, как неделю назад потратила уйму времени, но так и не смогла обновить Wireguard.

Читайте также:  Windows 10 rtm rus

После того, как вышла новая версия Wireguard и появилось соответствующее уведомление от macOS, Rachel запустила обновление текущей версии 1.0.10. Действие завершилось ошибкой в связи с тем, что Wireguard необходимо остановить прежде, чем запустить обновление. Однако особенность программы для macOS в том, что необходимо самостоятельно завершить защищенное соединение, так как программа не делает этого в автоматическом режиме.

Помимо того, Wireguard будет пытаться установить защищенное соединение снова и снова, если в настройках выбран режим on-demand. Для окончательной остановки программы, необходимо сначала отключить этот режим в редакторе настроек.


Рис. 1 Опция on-demand в настройках Wireguard для macOS

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

Just the way it failed told me something was up with the overall model here. It feels like the UI is poking at the «thing doing the actual work» with very long and wobbly sticks. It’s doing this in a dimly-lit room with oversized gloves zip-tied to its hands, and its glasses are smeared with filth. In short, it’s not in control of the situation, not really.

Исчерпав попытки обновить программу штатными средствами, блогерша принудительно удалила её и установила свежую версию с Macports, провозившись немного c созданием ключей и конфигурации в ручном режиме. История повторилась 24-го декабря после приобретения новенького Big Sur, чем еще можно заняться на Рождество кроме крэш-теста Wireguard? В этот раз все пошло даже еще хуже.

Обновление опять не сработало и снова программу пришлось останавливать вручную. Однако на этот раз попытка отключить режим on-demand ни к чему не привела, интерфейс Wireguard не подавал признаков жизни. Перейдя к плану Б, Рейчел собиралась и на этот раз установить программу с ресурса Macports. Для этого нужно было экспортировать конфиг в zip файл, однако это тоже не сработало.

Последней каплей стала безуспешная попытка удалить программу, перетащив значок в Корзину из интерфейса Программы. Ведь для этого надо было остановить Wireguard, а он никак не останавливался. Пришлось старым дедовским способом убить процесс с помощью kill -9 PID. Тогда-то Рейчел написала свой отчет, который довольно скоро попал в топ-лист на HackerNews. В комментариях отметили, что пост больше похож на rant — ворчание, что видно хотя бы из отрывка:
It later turned out that something or other happened upstream, and now they treated timeouts as failures, or something, I don’t know exactly, and I don’t really care.

После этого в дискуссию включился сам автор Wireguard, написав обстоятельный ответ на пост Рейчел. Сразу же выяснилось, что столь странное поведение при обновлении свойственно не только Wireguard, но и другим VPN-клиентам на macOS. Все они при должны быть остановлены до запуска обновления, таковы особенности операционной системы от Apple.

This is not unique to Wireguard. I’ve had this happen with the Lockdown app too. This is an Apple problem. Apple should notify you that the VPN app needs to close in order to upgrade then offer you a simple way of doing that.

От AppStore не поступает сигналов о том, что приложение VPN должно быть завершено. Обходное решение состоит в том, чтобы отслеживать оповещения из UI, однако этот механизм ненадежен и частенько никаких оповещение не поступает. Приходится постоянно делать снэпшоты VM и ждать завершения циклов обновления на AppStore. Apple должна исправить ситуацию, но не торопится этого делать.

Читайте также:  Windows server user settings

В такой ситуации выбор небольшой. Проводя три четверти своего времени разработки Wireguard в поисках обходных решений различных багов macOS, начинаешь принимать это за данность. И несмотря на то, что программа бесплатна, Jason A. Donenfeld делает все возможное, чтобы качество ПО оставалось на должном уровне. Последнее было в ответ на следующую фразу Рейчел.

What about the problems? Well, it’s free. They owe me nothing.

Вторым пунктом Jason A. Donenfeld признает, что в версию 1.0.10 закралась регрессия, которую впрочем оперативно исправили. Однако дальше пошла бюрократия проверки кода в AppStore. В программе была ссылка на страницу пожертвований. Автору предложили поделиться заработанным, или убрать ссылку. Затем они проверили не ту версию, затем что-то еще…

Сама регрессия была результатом того, что новый разработчик по неопытности удалил обходное решение для бага ОС при добавлении пакета WireguardKit. Заурядный случай, если ведешь разработку для интегрированной среды Apple NetworkExtension. Как правило исправление дефекта происходит «в течении нескольких минут после получения отчета», но проверка кода в AppStore затягивается, а блогеры готовы дать подножку здесь и сейчас.

По поводу странного поведения GUI в режиме on-demand автор Wireguard еще раз прошелся по NetworkExtension и трудностям разработки для macOS. Шаг влево, шаг вправо — в AppStore могут зафиксировать нарушения API и в итоге заблокировать учетную запись разработчика. Привязка же к NetworkExtension объясняется тем, что лишь такие приложения можно распространять через AppStore. Никак не помогает в отладке приложений тот факт, что Apple в отличие от Microsoft не предоставляет необходимых DebugSymbols.

and after identifying the issue I’ll often have several ideas for «clever» workarounds. Which of them are acceptable for the App Store? Usually none! C’est la vie.

Тогда возникает естественный вопрос — а что же вы так мучаетесь на этом AppStore? Можно конечно выкатить отдельную сборку и самостоятельно распространять её, но тогда придется поддерживать две параллельные версии, потому что Jason A. Donenfeld не хочет оставить пользователей AppStore ни с чем. В итоге все-же приходится терпеть и приспосабливаться.
Автор Wireguard призвал Рейчел не только критиковать, но и принять участие в разработке кода. В сообществе пользователей ПО с открытым исходным кодом это считается этической нормой — вместо того, чтобы предъявлять претензии присылайте патчи, или хотя бы пишите документацию. В дальнейших планах бесшовная интеграция с NetworkExtension и KeyChain, исправление дефектов и пользовательского интерфейса.

Хотелось бы узнать мнение читателей, терпимо работает Wireguard на неродных платформах, или действительно полный швах?

Источник

Using WireGuard on macOS

Последнее обновление: 3 Ноябрь 2020

This guide for macOS users explains how to connect to Mullvad’s WireGuard® servers.

Choose one of the two following options. Do not use them simultaneously.

Option 1: use the Mullvad app

The Mullvad VPN app for macOS uses the WireGuard protocol by default, so all you need to do is connect.

Option 2: use the WireGuard app

Currently, the WireGuard app requires macOS version 10.14 or newer.

Download WireGuard app

  1. Open the macOS App Store and find the WireGuard app.
  2. Click Get/Install to download and install the app.
  3. Start the WireGuard app from your computer’s Launchpad or Application folder. The WireGuard icon will display in your desktop’s top menu bar (no window will automatically open).

Generate a configuration file

  1. In a browser window, navigate to our WireGuard configuration generator.
  2. Enter your Mullvad account number in the Account number field.
  3. Under Platform, choose macOS.
  4. Click on Generate a new key pair. (Generate a separate key pair for each device that you use.)
  5. From the Server drop-down menu, select the server of your choice.
  6. Click on Download and wait for the file to download.
Читайте также:  Linux tracker miner fs

Import the configuration file

  1. Click on the WireGuard icon located in your desktop’s top menu bar.
  2. In the drop-down menu, select Import tunnel(s) from file.
  3. Navigate to your Download folder and select the configuration file that you downloaded from Mullvad’s website.
  4. Click Import.
  5. Click Allow if you get a pop-up saying «‘WireGuard’ would like to Add VPN Configurations.»

Connect

  1. Click on the WireGuard icon located in your desktop’s top menu bar.
  2. In the drop-down menu, select the Mullvad VPN server that you want to connect to, for example «mullvad-se2».
  3. A checkmark will appear next to it. That’s it!
  4. You can visit our Connection check to check that you’re connected.

Disconnect

  1. Click on the WireGuard icon located in your desktop’s top menu bar.
  2. In the drop-down menu, click on the server that you’re connected to (the one with a checkmark next to it).
  3. The checkmark will disappear, signaling that you are disconnected.

Want to access your local network when connected with WireGuard?

  1. Click on the server profile
  2. Click on the edit icon
  3. Check the «Exclude private IPs» checkbox
  4. Add 10.64.0.0/10 to the end of AllowedIPs
  5. Click on the Save icon
  6. Disable and then Enable the server profile that you edited

Is it working?

While on your device, visit our Connection check to get a quick overview of your Mullvad-WireGuard connection status. In addition, it’s a good time to check if your browser is leaking information and therefore jeopardizing your privacy.

Q: I get a pop-up, «‘WireGuard’ is trying to view tunnel private keys,» when trying to edit a tunnel. Is this normal?
A. Yes. Click on Use Password if you want to continue.

External resources

«WireGuard» is a registered trademark of Jason A. Donenfeld.

Источник

Настройка vpn wireguard на примере маршрутизатора openwrt в роли сервера и macos в роли клиента

Установить пакет wireguard

Дополнительно можно установить модули для luci

Создать private и public ключи

Дополнительно можно сгенерировать preshared ключ

Настроить сетевой интерфейс

Где Wireguard название интерфейса

Настроить peer

Опция preshared_key не обязательная

Перезапустить сервис network

Настроить firewall

Открыть порт 1234

Занести интерфейс Wireguard в зону lan и включить опицию Masquerading

Без опции Masquerading на клиенте не будет доступен интернет и все что находиться за tap0 интерфейсом (в моем случае есть openvpn bridge с tap0 интерфейсом)

Перезапустить сервис firewall

Клиент MacOs

Установить приложение

Установить приложение WireGuard из App Store

Пример конфигурации

Опция PresharedKey зависит от настроек сервера

О песочнице

Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

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

О модерации

Не надо пропускать:

  • рекламные и PR-публикации
  • вопросы и просьбы (для них есть Хабр Q&A);
  • вакансии (используйте Хабр Карьеру)
  • статьи, ранее опубликованные на других сайтах;
  • статьи без правильно расставленных знаков препинания, со смайликами, с обилием восклицательных знаков, неоправданным выделением слов и предложений и другим неуместным форматированием текста;
  • жалобы на компании и предоставляемые услуги;
  • низкокачественные переводы;
  • куски программного кода без пояснений;
  • односложные статьи;
  • статьи, слабо относящиеся к или не относящиеся к ней вовсе.

Источник

Оцените статью