Можно сказать, что для создания pve-хоста необходима функция мягкой маршрутизации. Здесь я решил использовать систему openwrt.
1. Подготовьте образ системы
В Интернете существуют различные системы openwrt. Вы можете скачать официальную прошивку напрямую или зайти на Enshan Wireless Forum, чтобы найти подходящую вам прошивку. Конечно, вы также можете скомпилировать нужную вам прошивку самостоятельно. Вот две ссылки, найденные на форуме Эншань. Одна из них позволяет использовать пользовательские плагины, а другая — более полную версию. На самом деле я использовал обе.
sirpdboy/openwrt: openwrt (github.com)
Конечно, лучшая прошивка – это, безусловно, составленная вами прошивка, которая вам подходит, но процесс относительно хлопотный.
2. Скомпилируйте систему
Текущая компиляция системы в основном делится на официальную и бережливую
. Официальная относительно чистая, а в бережливой больше плагинов. Я постарался скомпилировать их все, поэтому некоторые скриншоты ниже могут быть взяты из разных источников кода. Для компиляции системы я также ссылался на множество статей:
Сначала немного официальных:
[OpenWrt Wiki] Компиляция OpenWrt – Инструкции
Идеальное руководство для изучения OpenWrt с нуля_Блог JackieGemini — блог CSDN
Еще несколько слов от мастера бережливого производства:
Coolsnowwolf/lede: исходный код Lean's LEDE (github.com)
Составьте собственное базовое руководство по OpenWRT, подходящее для новичков, изучите его за 20 минут, доведите до совершенства ПОЛУЧИТЕ новые навыки - Bilibili (bilibili.com) Соберите собственную прошивку OpenWrt_Программное приложение_Что стоит купить (smzdm.com)
1. Подготовка необходимых условий
Компиляцию системы необходимо выполнять в среде Linux, поэтому часто необходимо установить систему Ubuntu или использовать wsl или другие системы Linux. Тогда самое главное — это хорошая сеть, которую можно использовать для «академической» работы. Причина, по которой во многих случаях происходит сбой в процессе подготовки и компиляции, заключается в отсутствии хорошей сетевой среды. Я не буду вдаваться в подробности по этому поводу.
2. Подготовка программной среды.
Сначала обновите список пакетов, код следующий:
sudo apt-get update
Затем установите среду программного обеспечения компиляции:
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync
Вы можете вводить их по одному, чтобы в случае возникновения проблем вовремя их изменить.Конечно, подсказки тоже будут.Например, в ubuntu22 я использую подсказки следующим образом.
Итак, я использую следующую команду:
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc-s1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync
3. Загрузка исходного кода
Официальная команда получения исходного кода:
git clone https://www.github.com/openwrt/openwrt
Команда получения экономичного исходного кода:
git clone https://github.com/coolsnowwolf/lede
4. Обновите и установите пакет расширения.
Для начала нужно войти в директорию с кодом, официальная — cd./openwrt, скудная — cd./lede
Вы можете добавить некоторые вещи, которые вам нужны, изменив файл каналов. Соответствующие команды:
echo 'src-git helloworld https://github.com/fw876/helloworld' >>feeds.conf.default
Конечно, лучше всего скачивать необходимые пакеты напрямую, командой:
cd ./package
git clone https://github.com/fw876/helloworld.git package/lean/luci-app-ssr-plus
cd ../
Затем обновите. Процесс обновления может завершиться неудачей из-за проблем с сетью, поэтому будьте осторожны.
./scripts/feeds update -a
Установить. В общем, пока нет проблем выше, проблем с установкой не будет.
./scripts/feeds install -a
5. Настраиваем openwrt (ключевые моменты)
Дальше самая важная часть, настройте openwrt под собственное оборудование и нужды. Сначала введите следующую команду.
make menuconfig
Подождите немного, и появится следующий интерфейс.
Первые три варианта основаны на вашем собственном выборе оборудования.Я использую чип Intel, поэтому доступны следующие варианты: x86 — x86_64 — Generic x86/64.
Выберите в целевом файле нужное вам изображение и снимите флажки с некоторых ненужных, чтобы сэкономить место.
Размер раздела ядра и размер раздела корневой файловой системы — это размер раздела ядра и размер раздела файловой системы соответственно. Первый относится к пространству, занимаемому ядром openwrt, а второй — к размеру, занимаемому всей системой. Вообще говоря, чем больше, тем лучше, если последний больше, вы можете установить больше. Есть несколько плагинов, но детали все равно зависят от вашей собственной конфигурации. Если места для хранения недостаточно, его невозможно установить, если настройка велика.
Следующие элементы трогать не нужно. Если это код бережливого мастера, вы можете открыть ipv6helper в опции дополнительных пакетов, что поможет вам завершить установку некоторых вещей, связанных с ipv6. В официальной версии такой опции нет, а функция ipv6 включена по умолчанию.
В шрифтах -дежавю есть несколько шрифтов.Вы можете отметить все понравившиеся.
Модули ядра — сетевые устройства содержат некоторый контент, связанный с драйверами сетевой карты. Вам следует выбрать соответствующий вариант на основе вашего собственного драйвера сетевой карты.
Модули ядра — поддержка USB — это опция, связанная с драйвером USB. Выбирайте ее в соответствии со своими потребностями. Вообще говоря, большинство из этих двух элементов выбраны по умолчанию и их не нужно изменять.
Luci — это функция, которую можно назвать обязательной для использования в openwrt, который является частью веб-управления.
Выбрать и открыть в luci-коллекциях.
В модулях сказано, что выбор luci-compat позволит luci открываться без задержек, но конкретная ситуация неясна.
Упрощенный китайский можно выбрать в предпоследних переводах модулей. Тогда вы также можете выбрать тему в luci. Выбрать необходимые плагины можно в luci-приложениях. Вы можете выбрать свой собственный подходящий плагин согласно сайту ниже.
Если мы используем проводную сеть в нашей школе, нам понадобится l2tp, который можно найти в ntwork-vpn. Если вам нужно проникнуть во внутреннюю сеть, вы можете использовать нулевой уровень, а можете открыть его здесь.
После завершения проектирования в соответствии с вашими потребностями вы можете сохранить его, выйти и скомпилировать.
При первой компиляции рекомендуется использовать однопоточную компиляцию. Число после j указывает количество потоков. Команда:
make -j1 V=s
В процессе компиляции вероятны ошибки.Необходимо научиться искать причину ошибки.Некоторые файлы отсутствуют, и большинство из них вызваны сбоем сети.Просто перекомпилируйте. Некоторые случаи связаны с конфликтами, нужно переделать конфиг по подсказкам и отключить конфликтующие опции.
После завершения компиляции вы сможете найти нужный образ img в соответствующей папке оборудования в папке bin.
3. Установка и настройка виртуальной машины Openwrt
Для установки системы обратитесь к следующим двум статьям:
После получения образа openwrt вы можете его установить. Сначала вам нужно войти на веб-страницу системы pve. Выберите узел и нажмите в правом верхнем углу — Создать виртуальную машину.
Узел и идентификатор заполняются по умолчанию и, как правило, их не нужно менять. Если вы чувствуете, что идентификационный номер выглядит не очень хорошо, вы можете изменить его самостоятельно и ввести имя.
На стороне операционной системы выберите не использовать какой-либо носитель и добавьте его позже.
Это системные настройки по умолчанию.
Диск также не нуждается в модификации и позже будет удален.
Ядро можно заполнить в соответствии с производительностью и потребностями вашего компьютера, поскольку openwrt, как программный маршрутизатор, является основой пве-системы, вес процессора намеренно немного поднят.
Выберите объем памяти в соответствии с конфигурацией вашего компьютера. openwrt не предъявляет высоких требований к памяти.
Просто выберите паравиртуализацию для сети.
Наконец подтвердите и создайте.
Откройте вновь созданный узел, откройте «Оборудование», найдите жесткий диск, выберите «Отсоединить», а затем выберите «Удалить». Также удалите приводы CD/DVD.
Затем добавьте сквозной сетевой порт. Вообще говоря, необходимы как минимум два сетевых порта: один для подключения к Интернету, а другой в качестве порта управления для подключения сетевого порта, подключающегося к Интернету, напрямую к openwrt. Выберите «Добавить, PCI-устройство» и найдите свою собственную сетевую карту.
После этого вам необходимо загрузить файл образа, выбрать локальный — iso-образ, нажать «Загрузить», а затем загрузить собственный образ системы openwrt.
После завершения загрузки после целевого файла будет указана информация о местоположении изображения: Лучше всего скопировать ее, поскольку она будет использоваться позже.
Войдите в интерфейс ssh, введите следующую команду и нажмите Enter. Среди них 102 необходимо изменить на свой собственный идентификатор. Следующий путь — это только что скопированный раздел. Поскольку я удалил local-lvm, я использую local, который обычно является local-lvm.
qm importdisk 103 /var/lib/vz/template/iso/openwrt-x86-64-generic-squashfs-combined.img local
Затем повторно войдите в интерфейс виртуальной машины, которую вы только что открыли, выберите оборудование, а затем вы найдете дополнительный вариант жесткого диска. Дважды щелкните, чтобы войти и изменить шину/устройство на SATA.
Затем войдите в интерфейс параметров и измените порядок загрузки на sata 0. Это необходимо изменить, иначе он не сможет нормально завершить работу даже после включения компьютера.
Все, нажмите Пуск в правом верхнем углу. Вы можете войти в консоль и ввести следующую команду, чтобы изменить IP-адрес.
vi /etc/config/network
Измените параметр ipaddr в разделе lan на необходимый IP-адрес. Затем сохраните, выйдите и перезапустите.
Введите IP-адрес, который вы только что установили в Интернете, чтобы войти в luci, и вы сможете более удобно изменить свой openwrt!