Автор Гілка: Internet по ssh  (Прочитано 4385 раз)

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Internet по ssh
« : 2012-04-20 15:51:05 »
Завдання таке. В локальній мережі є комп host1, який отримує інтернет від проксі host3, прив’язаний до IP і MAC-адреси. Хочу спробувати роздати інтернет на інший комп host2. Такі ситуації описані в різних статтях, проте на жаль механізму я не розумію і в мене не виходить зробити. Робив по цій статті.
На host1 виконав команду
ssh user2@host2 -L 5555:host3:3128
на host2
ssh -D 5555 user1@host1
Далі прописую у налаштуваннях мережі для firefox
host socks5: localhost
port: 5555
і ... очікуваного виходу в інтернет не отримую.
Допоможіть розібратися, що не так зробив.

Відсутній Дмитро Редчук

  • Кореспондент
  • ***
  • дописів: 104
  • Карма: +0/-0
Re: Internet по ssh
« Відповідей #1 : 2012-04-20 16:53:21 »
На host1 маршрутизацію дозволено?

$ cat /proc/sys/net/ipv4/ip_forward
0

У мене заборонено.
«Критика має бути конструктивною. Інакше вона деструктивна» ©
Щось не так? — Зроби так.

Prahlad Jani

  • Гість
Re: Internet по ssh
« Відповідей #2 : 2012-04-20 17:17:13 »
1. net.ipv4.ip_forward впливає тільки при форвардінгу на рівні ядра, сиречь iptables. xinetd, ssh і інші примочки на це з очевидних причин клали. Таки ж man OSI stack.
2. ssh user2@host2 -L 5555:host3:3128 - на йогсотота там ssh тунель? Що мається на увазі під "отримує інтернет від проксі host3"? Це праймарі гейтвей? Якщо так, то викиньте його взагалі зі схеми, він не суттєвий. Головне - факт наявності з’єднання на host1.

Далі. Справді, можна забіндити локальний порт на host1 через ssh -N -D 0.0.0.0:5555 localhost (перший пункт в статті, да, в мануалах теж все є) і потім тупо ганяти вогнелис через сокс4/5 (уже викладено - "Далі прописую у налаштуваннях мережі для firefox..."). Це шлях через дупу. Чому просто не зробити з host1 гейтвей і підправити таблицю роутів на host2?

Prahlad Jani

  • Гість
Re: Internet по ssh
« Відповідей #3 : 2012-04-20 17:22:19 »
тупо ганяти вогнелис через сокс4/5 (уже викладено - "Далі прописую у налаштуваннях мережі для firefox...")
Я перепрошую, так, як написав, буде сокс проксі на host1:5555, а не на локалхост, як у вас. Ну і не забувайте про selinux і те, що порти мають бути відкриті на айпітейблах.

Відсутній Дмитро Редчук

  • Кореспондент
  • ***
  • дописів: 104
  • Карма: +0/-0
Re: Internet по ssh
« Відповідей #4 : 2012-04-20 17:37:56 »
Таки ж man OSI stack
Хи-ги, Ваша правда.
«Критика має бути конструктивною. Інакше вона деструктивна» ©
Щось не так? — Зроби так.

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: Internet по ssh
« Відповідей #5 : 2012-04-22 12:54:32 »
На host1 маршрутизацію дозволено?

$ cat /proc/sys/net/ipv4/ip_forward
0

У мене заборонено.
Також було заборонено, дозволив, проте результату поки що немає.

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: Internet по ssh
« Відповідей #6 : 2012-04-22 13:03:41 »
Далі. Справді, можна забіндити локальний порт на host1 через ssh -N -D 0.0.0.0:5555 localhost (перший пункт в статті, да, в мануалах теж все є) і потім тупо ганяти вогнелис через сокс4/5 (уже викладено - "Далі прописую у налаштуваннях мережі для firefox..."). Це шлях через дупу. Чому просто не зробити з host1 гейтвей і підправити таблицю роутів на host2?

Оскільки я в тих питаннях не спеціаліст, то допускаю наявність яких завгодно можливостей. Поки що навіть цей шлях через дупу не хоче працювати. Допоможіть його прокласти.
Якщо є інші способи, не відмовляюся спробувати. Дайте лиш наводку, де б це прочитати (ну бажано тільки не man google).

Prahlad Jani

  • Гість
Re: Internet по ssh
« Відповідей #7 : 2012-04-23 17:54:36 »
Оскільки я в тих питаннях не спеціаліст, то допускаю наявність яких завгодно можливостей. Поки що навіть цей шлях через дупу не хоче працювати. Допоможіть його прокласти.
Якщо є інші способи, не відмовляюся спробувати. Дайте лиш наводку, де б це прочитати (ну бажано тільки не man google).
Перепрошую, я сюди зрідка з’являюсь. Документ з опеннету ви вже маєте, але є важливий момент, якого я не розумію. Що ви маєте на увазі під "В локальній мережі є комп host1, який отримує інтернет від проксі host3". Чим конкретно є host3?  Чи є він default route ("ip route show | grep default" або "route | grep default"), тобто всі з’єднання з host1 йдуть на host3, чи він є справді якимось проксі сервером, що прописується, скажімо, в настройках вогнелиса, а локальну мережу host1 отримує від іншого гейтвею? Якщо друге, то який саме проксі?

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: Internet по ssh
« Відповідей #8 : 2012-04-24 08:50:55 »
Що ви маєте на увазі під "В локальній мережі є комп host1, який отримує інтернет від проксі host3". Чим конкретно є host3?  Чи є він default route ("ip route show | grep default" або "route | grep default"), тобто всі з’єднання з host1 йдуть на host3, чи він є справді якимось проксі сервером, що прописується, скажімо, в настройках вогнелиса, а локальну мережу host1 отримує від іншого гейтвею? Якщо друге, то який саме проксі?
Я спробую відповісти на своєму ламерському рівні, бо ви очевидно мислите більш загальними категоріями. Наскільки я знаю, host3 є проксі сервером, який напряму під’єднаний до провайдера і роздає інтернет в локальну мережу.
default route він очевидно не є, бо у виконаній команді його айпі я не бачу:
[root@btr taras]# ip route show | grep default
default via 172.16.28.254 dev eth1  metric 10
Параметри цього проксі я прописую у налаштуваннях переглядачів.
Не зміг зрозуміти, що мається на увазі під "локальну мережу host1 отримує від іншого гейтвею?" Поясніть, будь ласка.
Ще поки це писав, з’явилася думка, про яку раніше не думав. Що означає "пряме з’єднання з інтернетом"?

Prahlad Jani

  • Гість
Re: Internet по ssh
« Відповідей #9 : 2012-04-24 17:37:13 »
Ситуація ясна, дякую. Є зовнішній проксі-сервер на host3:3128 (сквід, видимо), який приймає з’єднання тільки і виключно від host1, але ігнорує host2, бо не знає його "в обличчя". Мережеве з’єдання є на всіх машинах. Задача - прокинути з’єднання з host2 на host3:3128 через host1, щоб проксі не знав звідки до нього реально лізуть.

В принципі, я зрозумів, що ви хотіли зробити. Виглядає це логічно, але прокидувати тунель і ліпити додатковий сокс проксі мені видається не зовсім раціональним варіантом. Набагато простіше зробити свій маленький сервіс на host1, з якого гнати з’єднання на host3 за допомогою xinetd. Для цього (все на host1):

1. Інсталите xinetd, якщо його ще нема.
2. Додаєте в /etc/services наступне:

lproxyd         8501/tcp
lproxyd         8501/udp

3. Створюєте файл /etc/xinetd.d/lproxyd з наступним вмістом:
service lproxyd
{
     flags = REUSE
     user = nobody
     socket_type = stream
     wait = no
     port = 8501
     redirect = host3 3128
}

4. Запускаєте сервіс xinetd.

Далі пишете в вогнелис на host2, щоб юзав проксі на host1 на порту 8501 - http проксі, як я розумію там у вас на host3.

Назва lproxyd вибрана зі стелі, головне щоб назви в services і xinetd.d/whatever співпадало. Порт 8501 теж зі стелі, просто на нього ніхто поки не претендував.

Термін "Пряме з’єднання з інтернетом" використовується в міру розбещеності місцевого системного адміністратора. Підозрюю, наявність правила на гейтвеї, що з’єднання від вас можна гнати в інтернети в обхід проксі.

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: Internet по ssh
« Відповідей #10 : 2012-04-25 11:00:01 »
Зробив. Отримую
The proxy server is refusing connections

Prahlad Jani

  • Гість
Re: Internet по ssh
« Відповідей #11 : 2012-04-25 13:56:01 »
З host2 "telnet host1 8501" що каже? Це точно не селінукс чи айпітейбли рубають його на host1?

Відсутній btr

  • Письменник
  • *****
  • дописів: 654
  • Карма: +1/-0
Re: Internet по ssh
« Відповідей #12 : 2012-04-25 16:44:54 »
Пробував поки що з віндовса. Пише, що під’єднатися не вдалося, збій під’єднання.