1

У меня есть 2 сервера под управлением CentOS 6

У меня есть сервер A, который имеет 2 сетевые карты. eth0 является частной тестовой сетью. eth1 - это корпоративная сеть, где прокси-сервер должен использоваться для доступа в Интернет. На этом сервере я использую

      export http_proxy=http://proxyserver:3128/

и могу получить доступ к интернету.

У меня есть сервер B, который имеет 1 сетевую карту. eth0 находится в той же частной тестовой сети, что и выше.

Я хочу, чтобы сервер B мог подключаться к Интернету. Очевидно, что мой единственный вариант - как-нибудь пройти через сервер А. Я безуспешно пытался настроить прокси-сервер squid, а также туннелирование по SSH, я не знаю достаточно ни того, ни другого, и не знаю достаточно, чтобы можно было найти в Google достойный пример. Помогите. Мои навыки Linux серьезно не хватает.

1 ответ1

0

Вы можете попробовать следующее для создания ssh туннеля от B до A.

server_B$ ssh -Nf -L 1234:proxyserver:3128 server_A

-N говорит ssh не запускать оболочку на сервере server_A и -f что она должна перейти в фоновый режим сразу после запроса пароля.

Интересная часть -L , которая определяет переадресацию портов - я все еще поражен тем, что можно сделать с этим:

1234 - это локальный (т.е. на server_B) порт, который прослушивает ssh . (Конечно, это может быть и 3128, но я выбрал другое значение, чтобы проиллюстрировать разницу.)

proxyserver должен быть доступен с server_A; Наконец, 3128 - это порт, на который вы будете перенаправлены.

Поскольку переадресация портов прозрачна, вы можете использовать прокси на сервере server_B (когда туннель открыт) с

export http_proxy=http://localhost:1234/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .