Можно направить HTTP-трафик через другой сервер?

Вопрос нуба. У меня три удаленных сервера (S1, S2 и S3). Один из них имеет подключение к Интернету (S1), а два других (S2 и S3) могут только получить доступ к S1 - например, у меня есть SSH без пароля, настроенный с S1 на S2 и S3.

Однако это означает, что я не могу выполнять обновления или управлять пакетами на S2 и S3. Есть ли способ сделать HTTP-запрос на S2 и S3, который туннелируется через S1, в основном обеспечивая доступ в Интернет? Применяется ли SSH-туннель? Если да, то есть ли какой-нибудь ресурс, который пошагово подскажет, как это сделать в моем случае?

Спасибо.

0
задан 14 November 2015 в 10:53
3 ответа

Самый простой способ предоставить доступ в Интернет (http / https) к системам, не имеющим прямого доступа в Интернет, - это использовать прокси, например squid . Установите прокси на S1 и настройте S2 и S3 для использования прокси (например, установив переменную среды http_proxy или обновив файл конфигурации вашего приложения)

3
ответ дан 4 December 2019 в 11:26

Через прокси

Прокси-сервер будет перенаправлять трафик в зависимости от запроса клиента

Преимущества

  • Вы можете перенаправить свой трафик по своему усмотрению (например, совпадая с доменным именем)
  • ​​Журнал доступа централизован на сервере 1

Через Apache

Если вы используете Apache на сервере 1, вы можете создать виртуальный хост для прокси-сервера вашего запроса на сервер 2 и 3

Преимущества

  • Вы можете использовать разные доменное имя для доступа к каждому веб-серверу
  • Веб-журналы будут централизованы на сервере 1
  • Вы можете использовать центральную аутентификацию
  • Вы можете заблокировать подозрительный веб-трафик с помощью правил apache на сервере 1 перед доступом к серверам 2 и 3

Из-за неудобств

  • для подключения к ssh 2 и 3 вам нужно будет подключиться через сервер 1, затем используйте команду ssh для подключения к серверам 2 и 2

через NAT

Если вы используете NAT (адрес сетевого преобразования ), вы можете установить пару внешних IP + портов, связанных с внутренним IP + Port

Преимущества

  • Сервер как будто напрямую подключен к Интернету, так что вы можете избавьтесь от них с помощью пары IP + порт

Недостатки

  • Вам понадобится 1 порт для каждого веб-сервера и каждого ssh
1
ответ дан 4 December 2019 в 11:26

Squid - хорошее решение, как предложил Берт Ниф. Другой вариант, который я порекомендовал бы, - это прокси-сервер SOCKS, который использует туннель SSH, как вы предложили. Он может работать даже с некоторыми менеджерами пакетов: https://askubuntu.com/questions/35223/syntax-for-socks-proxy-in-apt-conf

Ссылка предназначена для ubuntu, но tsocks - нет. Только для Ubuntu.

Вот пример инструкции: https://www.linode.com/docs/networking/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe- просмотр

Или просто Google "socks proxy ssh"

1
ответ дан 4 December 2019 в 11:26

Теги

Похожие вопросы