Как настроить доступ в интернет на сервере с РЕД ОС через другой компьютер в локальной сети?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В современной практике системного администрирования часто возникает ситуация, когда сервер с установленной РЕД ОС (или любой другой Linux-системой) находится в закрытом сегменте сети без прямого доступа к внешнему миру. Однако для работы 1С:Предприятия, обновления классификаторов, отправки отчетности или взаимодействия с внешними API (поможет обработка логирования и анализа HTTP-запросов) доступ к интернету жизненно необходим. Подобные задачи часто упоминаются в справочниках по администрированию систем Windows/Linux и 1C, где собраны компактные инструкции на все случаи жизни. Разберем, как организовать этот доступ, если в сети есть хотя бы одна машина с выходом в интернет.

Вариант 1: Использование прокси-сервера (Proxy)

Это наиболее гибкий и контролируемый способ. Мы заставим систему и 1С обращаться не напрямую к веб-сервисам, а к промежуточному узлу (прокси), который будет пересылать запросы — для этого подойдёт специализированное прокси-решение для 1С. Рассмотрим этот процесс по шагам.

Шаг 1: Настройка серверной части (машина с интернетом)

Для начала нам нужно программное обеспечение, которое будет выполнять роль посредника. Мы можем использовать Nginx, Squid или легкий 3proxy. Если мы выберем Nginx, проанализируем пример настройки конфигурации для проброса трафика на конкретные домены:


server {
    listen 1180;
    location / {
        proxy_pass http://api.service-provider.com;
        proxy_set_header Host api.service-provider.com;
    }
}

В данном случае сервер РЕД ОС будет обращаться к локальному IP машины с интернетом на порт 1180, а та перенаправит запрос поставщику услуг.

Шаг 2: Глобальные настройки РЕД ОС

Чтобы системные утилиты и менеджер пакетов понимали, как выходить в сеть, пропишем переменные окружения. Создадим файл /etc/profile.d/proxy.sh, что позволит автоматически применять настройки при входе любого пользователя в систему.


export http_proxy=http://192.168.1.10:3128
export https_proxy=http://192.168.1.10:3128
export no_proxy="localhost,127.0.0.1,localaddress"

После создания файла выполним команду source /etc/profile.d/proxy.sh для немедленного применения параметров. Проверим работоспособность через curl -I https://google.com.

Шаг 3: Настройка менеджера пакетов dnf

Для обновления системы через dnf необходимо отдельно указать прокси в конфигурационном файле /etc/dnf/dnf.conf. Добавим следующую строку:

proxy=http://192.168.1.10:3128

Учитывайте, что настройка зависимостей в отечественных Linux-системах (например, в РЕД ОС или Astra Linux) имеет свои особенности, особенно если вы планируете установку платформы 1С последних версий.

Вариант 2: Настройка доступа специально для 1С:Предприятие

Платформа 1С на Linux имеет свои особенности работы с сетью. Даже если системные прокси настроены, сервер 1С может их игнорировать. Разберем, как принудительно задать параметры прокси для платформы.

Использование файла inetcfg.xml

Основным механизмом управления интернет-соединениями в 1С является файл inetcfg.xml. Он должен располагаться в каталоге с конфигурационными файлами платформы, обычно это /opt/1cv8/conf/. Если файла нет, создадим его и наполним следующим содержанием:


<InternetProxy
    protocols="http=192.168.1.10:3128 https=192.168.1.10:3128"
    bypassOnLocal="true">
</InternetProxy>

Выясним причину, по которой это важно: inetcfg.xml имеет приоритет над настройками, заданными в конфигураторе 1С. Это гарантирует, что серверные вызовы (например, HTTPСоединение) будут проходить через нужный нам узел. Такая настройка критична, если ваша система использует аутентификацию по JWT-токену для взаимодействия с внешними сервисами.

Вариант 3: Проброс портов через SSH-туннель

Если на машине с интернетом запущен SSH-сервер, а устанавливать дополнительное ПО (вроде Squid) запрещено политикой безопасности, мы можем воспользоваться динамическим туннелированием. Проанализируем команду:

ssh -D 1080 user@192.168.1.10

Эта команда создаст на сервере РЕД ОС локальный SOCKS5-прокси на порту 1080. В настройках 1С (через «Параметры интернет-поддержки») останется только указать тип прокси SOCKS5 и адрес localhost:1080. Подобный консольный метод работы часто встречается в рецептах по администрированию серверов 1С без графического интерфейса, например, при управлении лицензиями.

Вариант 4: Прозрачный шлюз (NAT / IP Forwarding)

Этот метод считается наиболее «чистым» с точки зрения приложений, так как они даже не будут подозревать о наличии посредника. Мы превратим машину с интернетом в полноценный маршрутизатор (шлюз).

Настройка на стороне шлюза (Linux):

  1. Разрешим пересылку трафика между сетевыми интерфейсами: sysctl -w net.ipv4.ip_forward=1.
  2. Настроим Masquerading в правилах сетевого экрана, чтобы пакеты от сервера уходили в интернет от имени шлюза:
    
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    

Настройка на сервере РЕД ОС:

Теперь нам достаточно изменить основной шлюз (Default Gateway) в настройках сетевого интерфейса. Посмотрим на пример изменения через nmcli:

nmcli connection modify eth0 ipv4.gateway 192.168.1.10

nmcli connection up eth0

После этого сервер начнет видеть интернет напрямую. Такой подход значительно упрощает жизнь, если вы используете помощник установки и обновления сервера 1С:Предприятие, который требует стабильного сетевого соединения для загрузки компонентов платформы.

Важные нюансы: SELinux и безопасность

РЕД ОС базируется на решениях с повышенным уровнем безопасности, и по умолчанию там включен SELinux. Он может блокировать попытки 1С или системных служб установить сетевое соединение, даже если настройки прокси верны.

Разберем, как проверить и исправить эту ситуацию. Сначала проверим статус командой sestatus. Если режим Enforcing, попробуем временно переключить его в Permissive командой setenforce 0. Если после этого интернет в 1С заработал, значит, проблема в политиках безопасности.

Для правильного решения без отключения безопасности, выполним команду, разрешающую HTTP-активность для веб-сервисов:

setsebool -P httpd_can_network_connect 1

Резюмируем: для разовых задач или обновлений проще всего использовать переменные окружения и настройки dnf. Для стабильной работы 1С:Предприятия лучшим выбором будет создание файла inetcfg.xml или настройка полноценного NAT. Также не забывайте про сопутствующие задачи, такие как обслуживание баз данных 1C на Postgresql, которые становятся актуальными сразу после настройки серверной среды. Помните, что безопасность превыше всего: разрешайте доступ только к тем портам (обычно 80 и 443) и адресам, которые действительно необходимы для работы бизнеса.

← На главную