Вопрос или проблема
У нас есть специфическая конфигурация интранета, где мне необходимо указать прокси для доступа к обновлениям SUSE для SLES (например, для обновления установщика), но у нас также есть локальный сервер обновлений, с которым нужно связываться напрямую.
Поэтому проблема в следующем: если я укажу proxy=http://IP:port
, то весь трафик будет направлен через прокси; то есть переменные окружения http_proxy
и https_proxy
будут установлены в соответствующее значение. Чтобы избежать использования прокси, я обычно использую переменную окружения no_proxy=localhost,127.0.0.1,.our.domain.org
.
Так что вопрос: существует ли параметр командной строки загрузчика GRUB, который устанавливает no_proxy
(NO_PROXY
в /etc/sysconfig/proxy
) (когда загружается установочный носитель SLES15 для установки или обновления)?
Ответ или решение
К сожалению, на данный момент нет прямого способа задать параметр NO_PROXY
(или no_proxy
) через командную строку загрузки GRUB при использовании установочного носителя SUSE SLES 15. Однако я могу предложить несколько вариантов обхода этой проблемы.
Понимание контекста
Ваша ситуация включает наличие прокси-сервера для доступа к серверу обновлений SUSE, в то время как есть необходимость прямого доступа к локальному серверу обновлений. Использование переменной окружения no_proxy
позволяет избежать перенаправления трафика через прокси для указанных адресов.
Изменения в конфигурации
-
Создание кастомного скрипта:
Вы можете создать скрипт, который будет выполняться во время установки и будет изменять переменные окружения. Сначала загрузите установочный образ, а затем добавьте свой скрипт, например, в/etc/profile.d/
. После загрузки инсталлятора он будет проверять наличиеproxy
и заменять его на ваши настройки. При этом не забудьте установить соответствующие разрешения на выполнение. -
Использование командной строки здесь и сейчас:
Если во время самой установки вам необходимо изменить конфигурацию прокси, вы можете выполнить команду для установки переменной окружения:export no_proxy=localhost,127.0.0.1,.our.domain.org
Однако это придется делать каждый раз. Это не самый удобный метод, но дает возможность быстро тестировать вашу конфигурацию.
-
Изменение конфигурационных файлов:
Если вы решите продолжать процесс установки и предпочтете более постоянный подход, вы можете вручную отредактировать файл/etc/sysconfig/proxy
после загрузки в режиме инсталляции и перед установкой, добавляя нужные вам исключения.
Установка GRUB
Если вы хотите добавить дополнительные параметры в GRUB, вы можете изменять файл конфигурации GRUB (/etc/default/grub
) в установленной системе. Вот шаги, которые могут вам помочь:
-
Откройте файл GRUB для редактирования:
sudo nano /etc/default/grub
-
Найдите строку, начинающуюся с
GRUB_CMDLINE_LINUX_DEFAULT
и добавьте сюда свои параметры, например:GRUB_CMDLINE_LINUX_DEFAULT="... proxy=http://IP:port ... no_proxy=localhost,127.0.0.1,.our.domain.org"
-
Обновите конфигурацию GRUB:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Теперь вы сможете при загрузке сразу назначать параметры, которые вам нужны.
Заключение
В конечном итоге, возможности настройки NO_PROXY
при загрузке с помощью параметров командной строки GRUB ограничены. Вы можете использовать механизмы, такие как изменение конфигурации или написание скриптов, которые будут динамически управлять этой переменной в процессе установки. Это позволит вам гибко управлять трафиком и осуществлять доступ как к локальным, так и к удаленным ресурсам.