конфигурирование доступа в интернет через другой сервер

Вопрос или проблема

У меня есть сервер A, который имеет сетевую карту с 4 портами, и он настроен на выход в интернет через свой eth0, где указаны DNS, шлюз и прокси.

У меня есть идентичный сервер B с статическим IP-адресом 192.168.1.2, и я только подключаю его порт eth1 к порту eth1 сервера A (где сервер A eth1 имеет статический IP 192.168.1.1).

Как в Linux, а именно в RHEL-8.10, настроить сеть, чтобы предоставить серверу B доступ в интернет через сервер A?

В качестве администратора мне нужна тестовая система (сервер B), которую я могу “подорвать” и перезагрузить, не влияя на пользователей на производственном сервере A. Но мне нужен доступ в интернет на сервере B, чтобы удобно выполнять базовые операции с yum install.

Ответ или решение

Настройка доступа в интернет через другой сервер – это важная задача для системных администраторов, особенно в сценариях, где необходимо обеспечить доступ к внешним ресурсам с помощью изолированных тестовых машин. Рассмотрим, как настроить сервер B для доступа в интернет через сервер A в Linux, конкретно в Red Hat Enterprise Linux (RHEL) 8.10.

1. Исходные условия

У вас есть два сервера:

  • Сервер A:

    • Порт eth0: настроен для доступа в интернет, с указанным DNS, шлюзом и прокси.
    • Порт eth1: имеет статический IP 192.168.1.1.
  • Сервер B:

    • Порт eth1: имеет статический IP 192.168.1.2.
    • Подключен к порту eth1 сервера A.

2. Настройка сети на сервере A

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

2.1. Включение IP-переадресации

Откройте терминал и выполните команду:

sudo sysctl -w net.ipv4.ip_forward=1

Эта команда включает IP-переадресацию. Чтобы сделать это изменение постоянным, отредактируйте файл /etc/sysctl.conf и добавьте следующую строку:

net.ipv4.ip_forward = 1

Перезагрузите настройки:

sudo sysctl -p

2.2. Настройка iptables

Для обеспечения NAT (Network Address Translation) необходимо настроить правила iptables. Выполните следующие команды:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Сохраните правила iptables, чтобы они применялись после перезагрузки:

sudo iptables-save | sudo tee /etc/sysconfig/iptables

3. Настройка сети на сервере B

Теперь на сервере B убедитесь, что сетевые настройки установлены правильно.

3.1. Настройка сети

Отредактируйте конфигурационный файл интерфейса eth1. Обычно он находится в /etc/sysconfig/network-scripts/ifcfg-eth1. Файл может выглядеть следующим образом:

TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

3.2. Настройка DNS

Также потребуется настроить DNS на сервере B. Для этого отредактируйте файл /etc/resolv.conf и добавьте свой DNS-сервер, например:

nameserver 8.8.8.8

4. Проверка подключения

После выполнения всех настроек перезагрузите сервисы сетевого интерфейса на сервере B:

sudo systemctl restart network

Теперь протестируйте подключение к интернету с помощью команды:

ping -c 4 google.com

Если ответ приходит, значит, настройки выполнены корректно, и сервер B имеет доступ к интернету через сервер A.

5. Заключение

Настройка доступа к интернету через другой сервер – это эффективная методика для обеспечения функционирования тестовой среды без воздействия на рабочие серверы. Следуя данным инструкциям, вы можете легко настроить два сервера для совместной работы и использовать сервер B для установки необходимых пакетов через yum install, что увеличит вашу продуктивность и упростит рабочие процессы.

Оцените материал
Добавить комментарий

Капча загружается...