LINUX.ORG.RU

PPP туннель через ДВА и более SSH серверов


0

0

Дома стоит комп с городской локалкой. На работе сервак с другой городской локалкой. По другую сторону сервака локалка самой конторы. Обе городские локалки зашлюзованы. Домашний комп НЕ имеет внешнего IP адреса.
Интересная задача: соединить домашнюю машину и внутреннюю локалку на работе. Я например сделал это чтоб смотреть на работе телек с моего домашнего тюнера, управляемого по http. А вобще фантазия безпредельна - как то, скажем, халявный инет.

Если кого интересует, напишу, как это делается в одну строчку.

схема примерно такая:

home-->--[town LAN]--gate--[city LAN]--work_server--[work LAN]--myworkmachine


если хоть один хост имеет выделенный IP-адрес, то можно на нем поднимать vpn-сервер.

а можно просто пробросить порты с помощью ssh

курить ман ssh на предмет ключей -L -R

ode
()

Пеши, не томи. Может чего новое узнаем. Тем более одна строчка всего.

gods-little-toy ★★★
()
Ответ на: комментарий от ode

1) на работе сервер имеет выделенный адрес, но на нем я ничего поднять не могу. его админят в другой конторе по договору. вот в этом вся и жопа - ничего поднять нельзя. Поэтому надо заходить по ssh на сервер, где у меня лоховские привилегии, а с него можно опять по ssh на внутреннюю машину рабочей локалки.
2) Проброска портов - глупая вещь: а) не заменяет полноценного сетевого интерфейса б) порты порезаны фаерволом кроме ssh http ftp почты. вот так.

scyld
() автор топика
Ответ на: комментарий от scyld

вобщем, это вот так.

pppd connect-delay 5000 noauth nodetach debug pty 'ssh -t scyld@workserver.workisp.ru "ssh -t root@192.168.1.26 "pppd noauth 192.168.4.50:192.168.4.51" " '

scyld мой лоховский логин на сервере workserver.workisp.ru
root - мой рут на внутренней рабочей машине 192.168.1.26
ну а 192.168.4.50:192.168.4.51 это адреса концов ppp туннеля, по вкусу

одно но. на 192.168.1.26 должен лежать публичный ключ ssh от scyld@workserver.workisp.ru. создаете его ssh-keygen -t dsa -N '' и копируете на 192.168.1.26 в /home/root/.ssh/authorized_hosts2
это надо для того чтоб второй ssh входил без пароля, т.к. вам его вводить будет негде.

потом можно прописать маршруты. и будут полноценно объединены 2 сети - домашняя и внутренняя рабочая.
вот.так.

scyld
() автор топика
Ответ на: комментарий от anonymous

1. если не умеешь читать, она в том, что это через 2 и более ssh.
2. все что приводилось в источниках (которые ты наверное и читал) странным образом неработало. и неработало с самыми разными ошибками. а это работает. сам можешь проверить.
3. а еще новизна в том, чтобы разные челы наподобие ode не предлагали курить маны в неправильном направлении.

scyld
() автор топика
Ответ на: комментарий от sdio

еще один чудак. русским же языком писано, что у домашней тачки нет внешнего адреса, кроме того, на самой работе нет NAT. тока инет через прокси и пошта через communigate. Если уважаемый напишет как через http-proxy подсоединиться к vpn или ssh серверу, я буду ссать кипятком в потолок.

scyld
() автор топика
Ответ на: комментарий от scyld

>1. если не умеешь читать, она в том, что это через 2 и более ssh.

То есть твое достижение заключается в том, что в описанном везде конвеере (pppd/ssh+key/pppd) ты продублировал одно звено(ssh+key)? Это, конечно, серьезное достижение. Это ж какой недюжий интеллект нужен. 8)

>2. все что приводилось в источниках (которые ты наверное и читал) странным образом неработало. и неработало с самыми разными ошибками. а это работает. сам можешь проверить.

Прямо-таки везде не работало (http://www.google.com/search?client=safari&rls=en-us&q=vpn+over+ssh&a...)? 8) Вот извращенцы и дезинформаторы живут в Internet! 8) Специально все скопом и неправильные варианты пишут.

anonymous
()
Ответ на: комментарий от scyld

>Если уважаемый напишет как через http-proxy подсоединиться к vpn или ssh серверу, я буду ссать кипятком в потолок.

Начинай "ссать кипятком в потолок"

man openvpn
       --http-proxy server port [authfile] [auth-method]
              Connect to remote host through an HTTP proxy at  address  server
              and port port.  If HTTP Proxy-Authenticate is required, authfile
              is a file containing a username and  password  on  2  lines,  or
              "stdin" to prompt from console.

              auth-method should be one of "none", "basic", or "ntlm".


>у домашней тачки нет внешнего адреса
Это ни о чем не говорит. 
Если бы ты сказал, что она не доступна с точки зрения маршрутизации
(т.е. нельзя сделать ping home_ip_address), тогда другое дело.

>кроме того, на самой работе нет NAT.
Опять изменение условий исходной задачи. Да, пАшел ты!

sdio ★★★★★
()
Ответ на: комментарий от sdio

и чо ты написал про опенвпн? сам то понял? или тебе перевести и объяснить?

это говорит. нет адреса, значит нет. значит она не доступна с точки зрения маршрутизации (хотя существует nat-traverse, но для этого нужен nat на работе, которого там нет). это так естественно, как чистить зубы перед сном.

никакого изменения условий. было же сказано - на работе порезаны все порты, кроме перечисленных. их ядро по дефолту режектит. если уважаемый сделает NAT на паре-тройке портов, я опять буду ссать кипятком. до потолка соседей сверху.

scyld
() автор топика
Ответ на: комментарий от scyld

/me думает вот и попробуй понять человека, то ли за помощью пришел, то ли знаниями похвастаться...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.