Openwrt использует Wireguard для удаленной сети (все устройства в удаленной домашней сети)
Openwrt использует Wireguard для удаленной сети (все устройства в удаленной домашней сети)

Эта статья Впервые опубликовано в 🌱 Сенча, изменятьнагрузкаПожалуйста, укажите Приходитьисточник.

Недавно я купил дружеский Nano pi (модель FriendlyElec NanoPi R2S (CpuMark : 20651.944334 Scores)),Непосредственно размещать домашнюю интрасеть. Маршрутиспользовать,Все выступления лучше, чем раньше Новый маршрут 3 Гораздо лучше.

Повозившись с различными плагинами, я решил использовать WireGuard для открытия виртуальной домашней сети и облегчения удаленного доступа к различным устройствам в домашней сети. Раньше я использовал OpenVPN, и он действительно немного раздут. На этот раз я просто хотел опробовать его и посмотреть, насколько эффективен Wireguard. После его использования я могу только сказать, что это отличная вещь, в которую можно играть разными способами, о которых я даже не мог подумать.

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

Сначала объясните ситуацию:

  • Модель оборудования: FriendlyElec NanoPi R2S (CpuMark : 20651.944334 Scores)
  • Архитектура:ARMv8 Processor rev 4 (v8l) x 4 (1200MHz, 55.5°C)
  • прошивка OpenWrt R22.3.23 / LuCI Master (git-22.068.45502-a50e601)

В моей прошивке используется Leans Великий Бог Многофункциональная версия прошивки, поставляется с WireGuard Подождите плагина, поэтому пропустите его здесь OpenWrt Установить WireGuard шаги.

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

WireGuard Подготовка публичной сети#

На сервере Установить Wireguard Я использовал скрипт с открытым исходным кодом **wireguard-install руководить Установить:

Язык кода:javascript
копировать
$ curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
$ chmod +x wireguard-install.sh
$ ./wireguard-install.sh

Если загрузка github идет медленно, вы можете здесь Найдите мою базу кода в зеркале кодирования, просто скопируйте ее и используйте.

Установить Процесс прост,Войти в общедоступную сеть IP-адрес, затем нажмите Enter, чтобы завершить настройку.

Установить После завершения,Запустите скрипт еще раз,Вы можете добавить одноранговый узел.

Каждое устройство должно иметь отдельный файл конфигурации. Если он является общим, несколько устройств не могут быть подключены к сети одновременно.

Сгенерированный файл конфигурации, вероятно, выглядит следующим образом:

Язык кода:javascript
копировать
cat /root/wg0-client-iphone.conf
[Interface]
PrivateKey = xxxxxxxxxxxxxxxxx
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = xxxx,xxxx

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxx
PresharedKey = xxxxxxxxxxxxxxxxxxxx
Endpoint = x.x.x.x:xxx
AllowedIPs = 10.66.66.0/24, 192.168.2.0/24

нужно внимание [Peer] частичный AllowedIPs , значение по умолчанию 0.0.0.0/0 , то есть весь глобальный трафик проходит через это VPN. Если вам нужен только определенный сегмент сети, просто зайди сюда. такой как мой Wireguard сегмент сети для 10.66.66.0/24,Сегмент семейной интрасети сетидля 192.168.2.0/24 , сформулирую эти два сегмента сети достаточно. Автоматическая активация туннеля для нас Конфигурация обоих сегментов сетиизмаршрутизация。

для каждого клиента (в том числе OpenWrt ) После создания файла конфигурации произойдет следующее: OpenWrt Получите доступ к сети и создайте нашу удаленную виртуальную сеть и домашнюю подсеть. NAT использовать.

OpenWrt Конфигурация#

Сначала добавьте строку класса протокола для WireGuard VPN Тип интерфейса, в базовой конфигурации заполните соответствующее содержимое конфигурационного файла:

Затем добавляем пир и продолжаем заполнять содержимое файла конфигурации:

После заполнения сохраните его. Далее настройте брандмауэр и выберите. lan площадь может быть:

здесь у меня также возникают проблемы. Ошибка брандмауэра может препятствовать удаленному доступу к нашим хостам OpenWrt OpenWrt OpenWrt в сети.

Используйте значение по умолчанию lan конфигурации, нет необходимости настраивать различные сложные маршрутизации или iptables выполнять nat изменять Измененный,Если возникла проблема с здесь Конфигурация,Или у вас особые потребности,Вам нужна дополнительная Конфигурация.

До сих пор,соединятьИнтерфейс,или перезапустить OpenWrt , используя удаленный доступ WireGuard Другое устройство в сети должно иметь возможность успешно ping С помощью устройства интрасети вы можете получить доступ к различным услугам.

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

Если у вас возникли проблемы, вы можете использовать tcpdump Или другие инструменты захвата пакетов для отслеживания на всем пути. icmp сообщение для устранения проблемы.

На этом этапе настройка завершена.

Ссылки#

Примечание. В этой работе используется Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Международное лицензионное соглашение Дайте разрешение.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose