Тунель yum трафік через інший сервер через ssh


10

Я запускаю робочий стіл Fedora за корпоративним проксі, який блокує yumтрафік (зокрема *.gzі *.bz2). У мене є доступ до окремої машини RedHat через ssh, яка може завантажувати все, що завгодно.

Коли я виконую yum updateта інші команди yum: чи можна перенести цей трафік до машини RedHat, щоб зробити завантаження для мене? У мене немає кореневого доступу на машині RedHat, але я можу увійти та використовувати wget для завантаження файлів. Якщо так, то як?

Відповіді:


21

Моє рішення було схоже на @ slm, але я використовував SOCKS, тому що він простіший і не вимагає встановлення проксі на сервер чи клієнт.

Запустіть усі команди на комп’ютері з обмеженим доступом.

в yum.confнаборі проксі наступним

proxy=socks5h://localhost:1080

від термінального типу

ssh -D 1080 YOUR_USER@YOUR_SERVER_WITH_FULL_WEB_ACCESS

натисніть клавішу Enter і введіть свій пароль.

тепер, в окремому терміналі (не ssh one) типу

yum update

1
Я намагався використовувати налаштування proxy socks5h в yum.conf, але yum скаржиться, що це не http, https або ftp. (використовуючи Centos6)
gnac

Моє рішення працює з Fedora 20 і 21. Cent та Fedora подібними дистрибутивами, тому дивно, що це не працює.
jax

Привіт, команда ssh, яку ви згадали, повинна виконуватися на комп'ютері з обмеженим доступом? Якщо так, то мені цікаво, як брандмауер не блокується та спричинить помилку на кшталт "ssh: підключиться до хосту YOUR_SERVER_WITH_FULL_WEB_ACCESS порт 22: Нема маршруту до хосту". YOUR_SERVER_WITH_FULL_WEB_ACCESS доступний на машині з обмеженнями?
Хей

@Гей так, "YOUR_SERVER_WITH_FULL_WEB_ACCESS" повинен бути доступний з вашої машини. У моєму випадку - мій Інтернет був обмежений локально.
jax

4

Ви повинні мати можливість проксі-трафіку YUM через SSH-з'єднання так:

  1. додати до /etc/yum.confзахищеного сервера:

    proxy=http://127.0.0.1:8080
    
  2. з сервера з нормальним вхідним / вихідним ssh-доступом:

    $ ssh -R 8080:ssh.server:8080 user@protected.server
    
  3. На сервері, на якому потрібно запустити команди YUM:

    $ yum update
    

Список літератури


Мені просто потрібні роз'яснення. (Я буду називати свій робочий стіл Fedora як desktopі сервер RedHat з повним доступом до завантаження як server). Тому я думаю, що мені потрібно буде робити proxy=http://127.0.0.1:8080на моєму, desktopоскільки це комп'ютер, який потребує оновлень yum, а також ssh -R 8080:ssh.server:8080 user@protected.serverна моєму desktop. Звідки ця serverконфігурація входить у цю чи її немає?
jax

2
Вам не вистачає кроку запуску проксі-сервера HTTP, який слухає на порту 8080 ssh.server.
Жил 'ТАК - перестань бути злим'

@Gilles мені потрібен проксі на мій desktopабо server? Якщо це не сервер, я не можу його встановити, оскільки у мене немає кореневого доступу
jax

@jax Вам потрібно запустити проксі-сервер на пристрої з підключенням до Інтернету. Не потрібно запускати його як root. Tinyproxy легко налаштувати (є багато альтернатив).
Жил 'ТАК - перестань бути злим'

@Gilles, я десь виявив, що ви можете створити проксі Socks, який, мабуть, автоматично спрямовує TCP-трафік. ssh -D 8888 user@serverна робочому столі, то вам потрібно сказати yum, щоб використовувати цей сервер proxy=socks5h://localhost:8888. То чи бачите ви з цим якусь проблему? Це означатиме, що мені не потрібно нічого встановлювати на серверну машину, що ідеально підходить у моєму випадку, оскільки це спільна машина. Я не зможу перевірити це до понеділка.
jax 27
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.