Как да настроите WireGuard в pfSense
В тази публикация ще обясним как да конфигурирате „клиентска“ връзка на WireGuard към търговски VPN доставчик на pfSense. WireGuard не използва дихотомията клиент/сървър като OpenVPN прави. В WireGuard всеки член на мрежата е възел. В нашия сценарий възелът pfSense по същество ще действа като „клиент“, а възелът WireGuard на вашия VPN доставчик ще действа като „сървър.
Това ръководство предполага, че вече имате настройка на pfSense с работещи WAN и LAN интерфейси.
Предпоставки
Освен машина, работеща с pfSense с две мрежови карти (една WAN, една LAN), ще ви е необходим и VPN доставчик, който поддържа WireGuard и позволява на своите потребители да го конфигурират на своя рутер. Това е критично, защото, за да накарате WireGuard да работи на pfSense (или всеки друг рутер), ще трябва да качите публичния ключ на крайната точка на тунела на pfSense (т.е. на сървъра). Вашият доставчик трябва да ви присвои (и да ви предостави) локален IP адрес от своята мрежа WireGuard. Трябва също да знаете кой(и) порт(ове) вашият доставчик използва за установяване на тунела WireGuard. Можете да намерите всичко това на уеб страницата на вашия VPN доставчик.
Ето някои препоръчани VPN доставчици, които поддържат WireGuard на рутери:
- Windscribe
- Къртица
- VPN
Може да не е най-обширният списък, но ще расте.
Качване на вашия публичен ключ и получаване на IP адрес
Начинът за качване на вашия публичен ключ и получаване на IP адрес варира от доставчик до доставчик. Ето основите как да направите това за всеки от горните доставчици на VPN:
- с VPN , трябва да влезете в акаунта си и ръчно да качите своя публичен ключ. След като бъде качен, iVPN ще ви предостави вашия локален IP адрес.
- с Къртица , можете да използвате следната команда от терминален прозорец: |_+_|. Заменете „0000000“ с номера на вашата сметка и „YOURPUBLICKEY“ с вашия публичен ключ.
- с Windscribe , получавате генератор на конфигурация на WireGuard, който ще ви присвои публичен ключ и IP адрес, като същевременно ви предостави частния ключ, който да използвате във вашата система.
Оттук нататък това ръководство предполага, че сте качили своя публичен ключ и сте получили IP адрес от вашия VPN доставчик.
Относно pfSense
pfSense е приложение за защитна стена/рутер с отворен код, което е базирано на FreeBSD. pfSense се използва от много организации като гръбнак на тяхната мрежова инфраструктура. Но може да се инсталира и на стар компютърен хардуер (или модерни и мощни машини) и да се използва като рутер за домашна употреба.
Използване на pfSense вместо готова реклама рутер е добра идея по много причини. Голяма част са честите актуализации на операционната система за коригиране на уязвимости. Повечето търговски производители на рутери никога не изпращат актуализации на фърмуера на своите потребители, докато повечето хора използват своя рутер близо десетилетие, преди да надстроят. Това е дълго време без актуализации за защита. Но освен по-добра сигурност, pfSense е много по-адаптивен и предоставя много мрежови инструменти в един пакет, който може лесно да побере почти всяка мрежова конфигурация. И всичко това може да се направи чрез интуитивен GUI.
Инсталиране на WireGuard
WireGuard, на pfSense, е допълнителен пакет. Така че първото нещо, което трябва да направим, е да инсталираме пакета WireGuard.
- От горното меню изберете Система > Мениджър на пакети . The Мениджър на пакети се показва.
- Кликнете Налични пакети за показване на списък с налични пакети.
- Превъртете надолу, докато видите WireGuard . Кликнете Инсталирай .
- Ще бъдете подканени да потвърдите инсталацията. Кликнете Потвърдете . Инсталацията започва. Когато завършите, трябва да видите Успех в долната част на инсталационния прозорец.
Конфигуриране на тунела
В тази стъпка ще започнем да конфигурираме нашия WireGuard тунел към нашия VPN доставчик.
- От горното меню изберете VPN > WireGuard . Показват се опциите на WireGuard. Ние сме на Тунели раздел по подразбиране.
- Кликнете Добавяне на тунел . WireGuard Тунели страницата се показва.
- Уверете се Активирайте тунела е отметнато (трябва да е по подразбиране).
- Попълнете описание за вашия тунел.
- Нагласи Слушайте Порт .
- Кликнете Генерирай до Интерфейсни клавиши кутии и копирайте публичен ключ . Ще трябва да качите това на вашия VPN доставчик.
- * За Windscribe , поставете частния ключ, който сте получили от генератора на конфигурация в Личен ключ кутия. Вашият публичен ключ ще бъде автоматично извлечен от частния ключ.
- В Интерфейсни адреси поле, поставете IP адреса, зададен от вашия VPN доставчик, като зададете подмрежовата маска на /32 . Това ръководство предполага, че повечето хора ще конфигурират само IPv4 WireGuard тунел. Ако обаче вашият доставчик предлага IPv4 и IPv6 и искате да използвате и двете, можете да щракнете Добавете Адрес и добавете IPv6 адреса, зададен от вашия доставчик.
- Добавете описание (по избор).
- Кликнете Запазване на тунела . Вие сте върнати обратно към Тунели страница.
Конфигуриране на партньора
- Щракнете върху Връстници раздел.
- Кликнете Добавете Peer . The Връстници страницата се показва.
- отметка Активиране Peer .
- От Тунели от падащото меню изберете тунела WireGuard, който току-що сте конфигурирали.
- В Описание кутия, добавете описание за вашия връстник.
- Махнете отметката Динамичен Крайна точка . The Крайна точка и Порт се появяват кутии.
- Въведете IP адреса на WireGuard „сървъра“ (крайна точка) на вашия VPN доставчик и порта, използван за свързване. Можете да намерите това на уеб страницата на вашия VPN доставчик.
- По желание можете да зададете a Пазя жив интервал. 25 обикновено е добре.
- Въведете публичния ключ на „сървъра“ на WireGuard в полето Публичен ключ. Отново можете да намерите това на уеб страницата на вашия VPN доставчик.
- Под Адрес Конфигурация , влезте 0.0.0.0/0 в Позволен IP адреси поле. Това конфигурира целия трафик да преминава през тунела WireGuard.
- Кликнете Запазване Peer . Вие сте върнати обратно към Връстници страница.
Активиране на услугата WireGuard
Сега, след като настроихме нашия тунел и нашия партньор, можем да активираме услугата WireGuard на pfSense.
- Щракнете върху Настройки раздел. The Настройки страницата се показва.
- отметка Активиране WireGuard , на върха.
- Кликнете Запазване . Услугата WireGuard вече работи. Трябва да видите зелен банер в горната част, показващ това.
Създаване на интерфейс и шлюз на WireGuard
Сега трябва да създадем интерфейс и шлюз, които pfSense ще използва за установяване и прокарване на трафик през тунела WireGuard.
Интерфейс
- От горното меню изберете Интерфейси > Задачи . The Интерфейс Задачи страницата се показва.
- Кликнете върху зеленото Добавете бутон.
- ОПТ1 (опционален интерфейс 1) вече е посочен като интерфейс. Кликнете ОПТ1 .
- The ОПТ1 показва се интерфейсна страница.
- Кликнете Активиране интерфейс .
- В Описание кутия, назовете интерфейса си.
- От IPv4 тип конфигурация падащо меню, изберете Статично IPv4 .
- Под Статично IPv4 Конфигурация , в IPv4 Адрес поле, поставете IP адреса, който вашият VPN доставчик ви е присвоил, и задайте /32 подмрежова маска.
- Повторете стъпките за IPv6, ако искате да използвате и IPv4, и IPv6. Изберете Статично IPv6 от IPv6 Конфигурация Тип падащото меню и поставете IPv6 адреса, зададен от вашия VPN доставчик в IPv6 Адрес кутия (с а /128 подмрежова маска).
Шлюз
- До IPv4 Нагоре по течението шлюз падащо меню, щракнете Добавете а нов шлюз . The Нов IPv4 Шлюз се показва менюто.
- В Шлюз име кутия, въведете име за вашия шлюз. Трябва да е различно от името на интерфейса.
- В Шлюз IPv4 поле, поставете IP адреса, зададен ви от вашия VPN доставчик, както направихме с интерфейса по-горе.
- В Описание кутия , въведете описание (по избор).
- Кликнете Добавете . Върнахте се на ОПТ1 интерфейсна страница.
- Под Статично IPv4 Конфигурация , от IPv4 Нагоре по течението шлюз от падащото меню изберете шлюза, който току-що създадохме.
- Кликнете Запазване .
- Кликнете Приложи Промени на върха. Създадохме интерфейса и шлюза WireGuard.
- Повторете тези стъпки за IPv6 (като използвате IPv6 адреса, зададен от вашия VPN доставчик), ако искате да използвате и IPv4, и IPv6.
Настройка на затягане на LAN MSS
Максималната единица за предаване (MTU) на WireGuard е 1420. Това означава, че ако една дейтаграма надвишава 1420 байта, тя ще бъде фрагментирана, което може да прекъсне връзката. Ако имате проблеми с MTU, докато използвате WireGuard, един от симптомите ще бъде, че определени уебсайтове няма да се зареждат. И ще се почешете по главата, опитвайки се да разберете защо някои сайтове се зареждат добре, докато други не. Когато за първи път настроих WireGuard на моя рутер, почесах главата си с този проблем дни наред, преди да обмисля проблеми с MTU и да настроя MSS затягане.
MSS означава максимален размер на TCP сегмента и настройва размера на предаваната дейтаграма, за да „пасне“ на връзката за данни, по която се предава, без фрагментация. С други думи, затягането на MSS гарантира, че е достатъчно малък, за да премине през MTU на транзитния интерфейс.
Ние ще закрепим MSS нашия LAN интерфейс, за да сме сигурни, че нашият WireGuard тунел работи гладко.
- От горното меню изберете Интерфейси > И .
- Под Общ Конфигурация , в MSS поле, въведете 1380 . 1380 е добра стойност, която трябва да работи на повечето системи. Други стойности също могат да работят. Чувствайте се свободни да експериментирате; само не забравяйте да останете под 1420. Повторете тези стъпки за всеки друг OPT интерфейс, който искате да добавите.
- Кликнете Запазване в долната част на страницата и Приложи Промени .
Конфигуриране NAT
Сега трябва да конфигурираме превода на мрежови адреси за нашия WireGuard тунел.
- От горното меню изберете Защитна стена > NAT .
- Изберете Изходяща раздел.
- Под Изходяща NAT Режим , изберете Наръчник Изходяща NAT правило поколение . Трябва да зададем това, защото искаме да създадем наши собствени NAT правила, за да насочваме нашия трафик през тунела WireGuard.
- Кликнете Запазване .
- Кликнете Приложи Промени на върха.
- Тъй като искаме да прокараме целия LAN трафик през тунела на WireGuard, искаме да изтрием всички NAT правила, които позволяват на LAN трафика да излиза през WAN интерфейса. Изберете правилата, както е показано по-долу за вашия LAN интерфейс и щракнете Изтрий .
- Кликнете Приложи Промени . Вашите правила трябва да изглеждат като екранната снимка по-долу.
- Забележка : Ако искате да използвате само IPv4, можете също да изтриете правилата за IPv6.
Конфигуриране на правилата на защитната стена
Сега ще създадем правила за защитна стена, за да насочваме нашия LAN трафик през тунела WireGuard.
- От горното меню изберете Защитна стена > правила . The Защитна стена правила страницата се показва.
- Изберете И раздел. Показват се правилата на LAN защитната стена.
- Щракнете върху Добавете (горен) бутон. Показва се празно правило за защитна стена.
- Нагласи Действие поле към Пас .
- Уверете се, че Интерфейс полето е зададено на И .
- Нагласи Адрес семейство поле към IPv4 .
- Нагласи протокол да се Всякакви .
- Под Източник , нагласи Източник падащо меню за lan.net .
- Под Дестинация , нагласи Дестинация падащо меню за всякакви .
- Под Екстра Настроики , до Разширено Настроики поле, щракнете върху Дисплей Разширено бутон. The Разширено Настроики се показват.
- Превъртете надолу до Шлюз и изберете шлюза на WireGuard, който конфигурирахме по-рано, от падащото меню.
- Кликнете Запазване .
- Кликнете Приложи Промени . Новото правило се показва под правилото против блокиране. Ако искате да използвате и IPv4, и IPv6, повторете тези стъпки за IPv6.
- Щракнете върху зелено стрелка до две LAN правила по подразбиране, за да ги деактивирате. Сега нашият LAN трафик може да излиза само през шлюза на WireGuard.
Статични маршрути
В няколко стъпки ще зададем нашия шлюз WireGuard като шлюз по подразбиране за нашата кутия pfSense. За да сме сигурни, че няма грешки при зареждане на pfSense (където ще се опита да инициира тунела през самия шлюз на WireGuard), ще настроим статичен маршрут за pfSense, за да използва WAN интерфейса, за да инициира тунела.
- От горното меню изберете Система > Маршрутизиране . Показва се страницата Routing.
- Изберете Статично Маршрути раздел. The Статично Маршрути страницата се показва.
- Щракнете върху Добавете бутон.
- В Дестинация мрежа поле, въведете IP адреса за „сървъра“ на WireGuard, към който се свързвате. Това е същият адрес, използван при конфигурирането на нашия партньор WireGuard.
- От Шлюз падащо меню, изберете ОТ шлюз.
- В Описание поле, въведете описание за вашия статичен маршрут (по избор).
- Кликнете Запазване . Вие сте върнати обратно към Статично Маршрути страница.
- Кликнете Приложи Промени .
Настройка на шлюза по подразбиране
Сега ще зададем нашия WireGuard шлюз като шлюз по подразбиране на кутията pfSense.
- Изберете Шлюзове раздел.
- Под По подразбиране шлюз , от По подразбиране шлюз IPv4 от падащото меню изберете вашия (IPv4) WireGuard шлюз.
- Ако искате да използвате и IPv4, и IPv6, повторете горните стъпки за По подразбиране шлюз IPv6 .
- Кликнете Запазване и Прилага промени.
Конфигуриране на DNS
В следващите стъпки ще конфигурираме нашите DNS настройки за нашия WireGuard тунел.
Обща настройка
- От горното меню изберете Система > Общ Настройвам . The Общ Настройвам страницата се показва.
- Под DNS сървър Настройки , в DNS Сървъри въведете IP адреса на DNS сървъра на вашия VPN доставчик.
- В Шлюз изберете шлюза на WireGuard.
- Премахнете отметката от DNS сървър Замяна кутия.
- Превъртете надолу до края на страницата и щракнете Запазване .
DNS преобразувател
- От горното меню изберете Услуги > DNS Решете . The DNS Решете страницата се показва.
- Ако вашият VPN доставчик поддържа DNSSEC , активирайте го, като поставите отметка в квадратчето. Това осигурява малко подобрение в сигурността (удостоверяване) на вашите DNS заявки.
- До DNS Запитване Препращане , отбележете Активирайте режима на препращане кутия. Това препраща вашите DNS заявки към DNS сървъра, който конфигурирахме в предишната стъпка, в Система > Общ Настройвам .
- Превъртете надолу до края на страницата и щракнете Запазване и Приложи Промени .
DHCP DNS настройки
- От горното меню изберете Услуги > DHCP сървър . The И DHCP сървър страницата се показва.
- Под Сървъри , в DNS сървър 1 поле, въведете IP адреса на DNS сървъра на вашия VPN доставчик (същия сървър, в който сме задали Система > Общ Настройвам ).
- Превъртете надолу и щракнете Запазване и Прилага промени.
Така че назначеният от DHCP DNS сървър е за нашите LAN клиенти, докато DNS Resolver е настроен да се използва от самата кутия pfSense и всички други OPT интерфейси, които може да добавите в бъдеще. И двете са конфигурирани да използват DNS сървъра на вашия VPN доставчик, достъпен само през тунела WireGuard.
Екстра – Конфигуриране на превключвател за изключване
Повечето прилични VPN приложения включват превключвател за изключване. Превключвател за изключване прекъсва трафика ви от интернет, ако VPN връзката ви прекъсне. Това гарантира, че пакетите няма да излязат през вашия нормален ISP шлюз – WAN интерфейса на рутера.
Въпреки че не се нуждаем от специално приложение, за да се свържем с нашия VPN доставчик, когато е настроен на рутера (ура), все пак можем да конфигурираме превключвател за изключване, като използваме плаващи правила на защитната стена. Плаващите правила се различават от обикновените правила за защитна стена по това, че се прилагат първи и че могат да се прилагат към множество интерфейси наведнъж – въпреки че тук ни интересува първото.
Ще използваме плаващите правила на pfSense, за да настроим превключвател за изключване за нашия тунел WireGuard.
- От горното меню изберете Защитна стена > правила . The Защитна стена правила страницата се показва.
- Кликнете върху Плаващ раздел. The Плаващ правила страницата се показва.
- Щракнете върху Добавете (горен) бутон.
- Нагласи Действие поле към Отхвърляне .
- Отбележете бързо кутия.
- Уверете се, че Интерфейс е настроен на ОТ .
- Нагласи Посока да се всякакви .
- Нагласи Адрес Семейство да се IPv4 (или IPv4 + IPv6 ако използвате и двете).
- Нагласи протокол да се Всякакви .
- Нагласи Източник да се всякакви .
- Нагласи Дестинация да се всякакви .
- В Описание поле, въведете описание за вашето правило (по избор).
- Кликнете Запазване . Ще бъдете върнати обратно към страницата с плаващи правила.
- Щракнете върху Добавете (горен) бутон отново.
- Нагласи Действие поле към Пас .
- Отбележете бързо кутия.
- Уверете се, че Интерфейс е настроен на ОТ .
- Нагласи Посока да се всякакви .
- Нагласи Адрес Семейство да се IPv4 (или IPv4 + IPv6 ако използвате и двете).
- Нагласи протокол да се Всякакви .
- Нагласи Източник да се всякакви .
- Нагласи Дестинация падащо меню за Единичен хост или псевдоним .
- Влез в IP адрес на вашия „сървър“ WireGuard в полето отдясно на
- Дестинация поле.
- В Описание поле, въведете описание за вашето правило (по избор).
- Кликнете Запазване . Ще бъдете върнати обратно към страницата с плаващи правила.
- Кликнете Приложи Промени .
Последни стъпки
Добре, значи конфигурирахме нашия WireGuard тунел и партньор. Конфигурирахме NAT, DNS и нашите правила за защитна стена. Освен това сме конфигурирали превключвател за изключване за зареждане. Сега ще рестартираме нашата кутия pfSense. След рестартирането ще потвърдим, че всичко е готово и работи според очакванията.
Рестартира се
- От горното меню изберете Диагностика > Рестартирайте .
- Уверете се, че Рестартирайте метод е настроен на нормално рестартирайте .
- Кликнете Изпращане . pfSense ще се рестартира. След като рестартирате, влезте отново в pfSense.
Финални проверки
Проверка на състоянието на тунела WireGuard
Можем да проверим състоянието на нашия WireGuard в pfSense.
- От горното меню изберете VPN > WireGuard . Показват се опциите на WireGuard.
- Щракнете върху Статус раздел. The Статус страницата се показва.
- Щракнете върху малък стрелка вляво от тунела Име поле. Това показва състоянието на връзката на партньора ви. Зелено добро е.
Тестване на тунела WireGuard
Можем да използваме curl на pfSense, за да проверим дали трафикът ни се насочва през тунела WireGuard.
- От горното меню изберете Диагностика > командване подкана .
- В Изпълни Черупка командване поле, въведете:
- |_+_|
- |_+_||_+_|
- Последният ред на Черупка Изход прозорецът трябва да показва IP адреса на крайната точка на WireGuard, към която сте свързани.
- Стартирайте уеб браузър и посетете страницата за проверка на IP адрес на Comparitech. Той трябва да посочи същия IP адрес, който беше посочен в изхода ни от предходната стъпка.
Добавяне на Widget WireGuard към таблото за управление на pfSense
Можете да покажете widget на WireGuard на таблото за управление на pfSense, ако желаете.
- От таблото за управление щракнете върху + знак в горния ляв ъгъл на потребителския интерфейс. Списъкът на На разположение Джаджи се показва.
- Кликнете WireGuard .
- Widget WireGuard се добавя към таблото за управление.
Увийте
Ето как настройвате „клиентска“ връзка към WireGuard VPN доставчик в pfSense. Ако срещнете някакви проблеми, препоръчвам ви да прегледате настройките на DNS и правилата на защитната стена (обикновени и плаващи). Грешната конфигурация на тези места обикновено е виновникът.
Освен това, VPN включен.