Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [РЕШЕНО] Initramfs и статический IP?

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО] Initramfs и статический IP?, Proxmox Виртуальная Среда
     
    Dunuin
    Guest
    #1
    0
    07.02.2021 20:14:00
    Привет! Мой Proxmox установлен поверх Debian 10, который стоит на LVM, который, в свою очередь, работает на LUKS, а LUKS — на RAID1 mdraid. Для разблокировки LUKS после загрузки я использую dropbear-initramfs, чтобы подключаться по SSH к хосту. Proxmox запускается только после того, как я таким образом разблокирую LUKS. Раньше всё работало отлично, без проблем, но теперь я хочу поменять сеть так, чтобы хост был подключён к разным подсетям через один VLAN-транк к моему свитчу. Этот транк отлично работает после запуска Proxmox, но таким образом я не могу использовать ту же сетевую карту для разблокировки LUKS, потому что не знаю, поддерживает ли initramfs tagged VLAN.

    Кто-нибудь знает, возможно ли это?

    Ещё одна проблема — я хочу заменить мой роутер виртуальной OPNsense внутри VM на этом хосте Proxmox. Сейчас initramfs использует DHCP и получает IP от роутера, который я собираюсь заменить. Поэтому мне очень нужно, чтобы initramfs использовал статический IP, чтобы я мог по SSH подключаться к initramfs во время загрузки, даже если роутер ещё не работает.

    Мой файл "/etc/initramfs-tools/initramfs.conf" выглядит так:

    Code:  
    #  
    # initramfs.conf  
    # Файл конфигурации для mkinitramfs(8). См. initramfs.conf(5).  
    #  
    # Учтите, что настройки из этого файла могут быть переопределены  
    # файлами конфигурации в каталоге /etc/initramfs-tools/conf.d.

    #  
    # MODULES: [ most | netboot | dep | list ]
    #  
    # most - добавляет большинство файловых систем и все драйверы жёстких дисков.  
    #  
    # dep - пытается угадать, какие модули загрузить.  
    #  
    # netboot - базовые модули, сетевые модули, но без блочных устройств.  
    #  
    # list - включает только модули из списка 'additional modules'.  
    #

    MODULES=most

    #  
    # BUSYBOX: [ y | n | auto ]
    #  
    # Использовать оболочку busybox и утилиты. Если n — используются klibc-утилиты.  
    # auto (или unset) — busybox используется, если установлен, иначе klibc.  
    #

    BUSYBOX=auto

    #  
    # KEYMAP: [ y | n ]
    #  
    # Загружать раскладку клавиатуры на этапе initramfs.  
    #

    KEYMAP=n

    #  
    # COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ]
    #

    COMPRESS=gzip

    #  
    # NFS Section конфигурации.  
    #

    #  
    # DEVICE: ...  
    #  
    # Указать конкретный сетевой интерфейс, например eth0  
    # Переопределяется по ip= или BOOTIF= в параметрах загрузки.  
    #

    DEVICE=eno2  
    ip=192.168.43.50::192.168.43.1:255.255.255.0:Hypervisor:eno2:off:192.168.43.1:192.168.42.1:

    #  
    # NFSROOT: [ auto | HOST:MOUNT ]
    #

    NFSROOT=auto

    #  
    # RUNSIZE: ...  
    #  
    # Размер tmpfs для /run, например 256M или 10%  
    # Переопределяется параметром initramfs.runsize= при загрузке.  
    #

    RUNSIZE=10%

    #DROPBEAR=y

    Строка "DEVICE=eno2" работает, но при этом eno2 используется в режиме DHCP по умолчанию. Строка  
    "ip=192.168.43.50::192.168.43.1:255.255.255.0:Hypervisor:eno2:off:192.168.43.1:192.168.42.1:"  
    должна устанавливать статический IP, шлюз, DNS-серверы, интерфейс и hostname, но не работает — похоже, эта строчка игнорируется. Кто-нибудь знает, как правильно настроить статический IP?
     
     
     
    xed
    Guest
    #2
    0
    20.02.2022 18:18:00
    Это сообщение должно быть закреплено. Решение Dunuin — это то, что я придумал сам давным-давно, мог бы сэкономить мне время!
     
     
     
    Dunuin
    Guest
    #3
    0
    20.02.2022 19:10:00
    Я тоже теперь сохранил это в закладках. Всегда полезно иметь возможность снова найти старые темы на случай, если понадобится повторить, а ты совсем ничего не помнишь. Ещё раз спасибо H4R0, это было для меня настоящим испытанием. И до сих пор всё работает без проблем.
     
     
     
    user973249
    Guest
    #4
    0
    24.12.2023 02:11:00
    Очень помогло мне тоже. Есть ещё один вопрос: на моём PVE8.1 несколько интерфейсов, к которым подключена дополнительная «инфраструктура» (разные коммутаторы и точки доступа). Поэтому я хотел бы, чтобы dropbear-initramfs слушал все эти VLAN-интерфейсы (всего 4) — это возможно? Тогда я мог бы перезагружать PVE8.1 независимо от того, к какому интерфейсу подключён.
     
     
     
    Echogolf
    Guest
    #5
    0
    29.01.2024 00:17:00
    Это всё ещё работает для Debian 12.4 и Proxmox 8.1. Но есть ли на самом деле особая необходимость использовать двоеточие ":" в строках VLAN= и BOND=, если обычное обозначение VLAN для интерфейса, бриджа или бонда — это точка "."? Особенно учитывая, что в определении IP= для VLAN используется именно точка. Понимаю, что нужно было внимательнее читать документацию, но это два часа моей жизни, которые я уже не верну, потому что поставил "." вместо ":" :-S. Глядя на скрипты, не сводится ли всё к простому изменению ":" на "." в циклах for?

    Итак, делаем так:
    wget https://github.com/stcz/initramfs-tools-network-hook/archive/main.zip  
    unzip main.zip  
    # от имени root  
    # объединяем распакованный архив с нужной папкой initramfs-tools командой:  
    rsync -a ./etc/ /etc/  
    # делаем скрипты исполняемыми командой  
    chmod -r +x /etc/initramfs-tools/*  
    apt update  
    apt upgrade  
    # если ещё не установлен:  
    apt install vlan  

    # Редактируем /etc/initramfs-tools/initramfs.conf:  
    # закомментировать строку DEVICE с помощью #, она не нужна.  
    # DEVICE=  

    # Задаём VLAN. Обратите внимание, используется двоеточие, а не точка. Например:  
    VLAN="enp0s25:2"  

    # Изменяем строку IP= для VLAN с учётом использования точки, а не двоеточия, для интерфейса. Например:  
    IP=192.168.2.241::192.168.2.1:255.255.255.0:yourdebianhostname:enp0s25.2  

    # Запускаем от root:  
    update-initramfs -u -v  

    Перезагружаемся для проверки.
     
     
     
    deviantintegral
    Guest
    #6
    0
    03.10.2025 23:51:00
    Оказывается, эта строка очень важна, если вы используете каталог conf.d. Строка в каталоге local-top, которая загружает переменные через . /conf/conf.d/*.conf, работает только если _все_ скрипты в этом каталоге имеют права на исполнение. Если бы скрипт не использовал подстановочный знак, всё бы отлично работало без права на исполнение. Так как мне не хотелось менять права на другие скрипты, я просто заменил строку на . /conf/conf.d/vlan.conf.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры