URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94890
[ Назад ]

Исходное сообщение
"Как привязать адреса с другого сервера"

Отправлено numeric , 30-Июл-13 22:14 
Уважаемые подскажите, как можно подключить и использовать public адреса с другого сервера как свои собственные? Т.е. в частности чтобы была возможность использовать эти интерфесы при создании сокета через них.

Пробовал gre туннели, и подключал типа "ifconfig eth0:1 inet x.x.x.x". Не особо помогло. Туннель работал, но соединения через x.x.x.x не создавалось.

Какие маршруты надо прописывать в этом случае? Должна ли быть привязка public адреса к локального адресу? Вообще нужен ли туннель? Поскажите куда копать...


Содержание

Сообщения в этом обсуждении
"Как привязать адреса с другого сервера"
Отправлено gpl77 , 30-Июл-13 23:09 
> Уважаемые подскажите, как можно подключить и использовать public адреса с другого сервера
> как свои собственные? Т.е. в частности чтобы была возможность использовать эти
> интерфесы при создании сокета через них.
> Пробовал gre туннели, и подключал типа "ifconfig eth0:1 inet x.x.x.x". Не особо
> помогло. Туннель работал, но соединения через x.x.x.x не создавалось.
> Какие маршруты надо прописывать в этом случае? Должна ли быть привязка public
> адреса к локального адресу? Вообще нужен ли туннель? Поскажите куда копать...

к туннелю добавьте nat на "другом сервере"


"Как привязать адреса с другого сервера"
Отправлено numeric , 31-Июл-13 09:32 
благодарю за ответ. Только я слабо понимаю что я должен сделать в nat. Насколько я понял, правила прописываются для маршрутизации к внутренним сетям. А у меня задача использовать на сервере А public адреса с Б.

Сервер А:
[root@la ~]# ifconfig
gretun   Link encap:UNSPEC  HWaddr AD-D6-A1-91-00-00-E1-2E-00-00-00-00-00-00-00-00  
          inet addr:172.31.1.2  P-t-P:172.31.1.0  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP  MTU:1476  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:126 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:672 (672.0 b)  TX bytes:10584 (10.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1176 (1.1 KiB)  TX bytes:1176 (1.1 KiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:418 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:43010 (42.0 KiB)  TX bytes:52972 (51.7 KiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:173.y.y.145  P-t-P:173.y.y.145  Bcast:173.y.y.145  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Вот сервер Б:
[root@nj ~]# ifconfig
gretun   Link encap:UNSPEC  HWaddr CE-48-CA-B2-00-00-E1-FE-00-00-00-00-00-00-00-00  
          inet addr:172.31.1.1  P-t-P:172.31.1.0  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP  MTU:1476  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1176 (1.1 KiB)  TX bytes:1008 (1008.0 b)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:132 errors:0 dropped:0 overruns:0 frame:0
          TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9053 (8.8 KiB)  TX bytes:9053 (8.8 KiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:26344 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22224 errors:0 dropped:4 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9158007 (8.7 MiB)  TX bytes:3008928 (2.8 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:206.x.x.178  P-t-P:206.x.x.178  Bcast:206.x.x.178  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:206.x.x.180  P-t-P:206.x.x.180  Bcast:206.x.x.180  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1


"Как привязать адреса с другого сервера"
Отправлено gpl77 , 31-Июл-13 13:04 
> благодарю за ответ. Только я слабо понимаю что я должен сделать в
> nat. Насколько я понял, правила прописываются для маршрутизации к внутренним сетям.
> А у меня задача использовать на сервере А public адреса с
> Б.

nat-ом вы на сервере Б перепишете поле src-адреса в IP пакете пришедшем с сервера А.
Т.е. для всех остальных пакет будет выглядеть как отправленный с сервера Б.

Но, еще раз перечитав ваш вопрос,
я не уверен, что его понял:

"Т.е. в частности чтобы была возможность использовать эти интерфесы при создании сокета через них. "

эта часть мне непонятна. переформулируйте от задачи.


"Как привязать адреса с другого сервера"
Отправлено numeric , 31-Июл-13 15:30 
эх-хе-хе...Долго думал чтобы переформулировать, но... :)

Задача в том чтобы использовать нужный локальный интерфейс в запросе...Пример на perl:


        $sock = IO::Socket::INET->new(
            PeerAddr => $server,
            PeerPort => $port,
            Proto => 'tcp',
            LocalAddr => $local_ip,
            Timeout => 10);

Прошу прощения за код, так и не смог найти более "админское" объяснение :). Т.е. в данном случае интересует создание tcp сокета, но используя физические/виртуальные интерфейсы с другого сервера (Б).

Проблема в том, что это работает на сервере А для всех интерфейсов и алиасов (venet0:0 - 173.x.x.145), но не работает (timeout) для интерфейсов сервера Б, подключенных на А (использовал ifconfig venet0:1 inet 206.x.x.180). Туннель то же в этом не помогает, вообще уже не пойму зачем он здесь :)


"Как привязать адреса с другого сервера"
Отправлено reader , 31-Июл-13 16:06 
>[оверквотинг удален]
>    Timeout => 10);
>

> Прошу прощения за код, так и не смог найти более "админское" объяснение
> :). Т.е. в данном случае интересует создание tcp сокета, но используя
> физические/виртуальные интерфейсы с другого сервера (Б).
> Проблема в том, что это работает на сервере А для всех интерфейсов
> и алиасов (venet0:0 - 173.x.x.145), но не работает (timeout) для интерфейсов
> сервера Б, подключенных на А (использовал ifconfig venet0:1 inet 206.x.x.180). Туннель
> то же в этом не помогает, вообще уже не пойму зачем
> он здесь :)

может это

http://ru.wikibooks.org/wiki/SSH_%D1%82%D1�...
http://habrahabr.ru/post/81607/
http://habrahabr.ru/post/81638/


"Как привязать адреса с другого сервера"
Отправлено gpl77 , 31-Июл-13 16:59 
> эх-хе-хе...Долго думал чтобы переформулировать, но... :)
> Прошу прощения за код, так и не смог найти более "админское" объяснение
> :). Т.е. в данном случае интересует создание tcp сокета, но используя
> физические/виртуальные интерфейсы с другого сервера (Б).
> но не работает (timeout) для интерфейсов
> сервера Б, подключенных на А (использовал ifconfig venet0:1 inet 206.x.x.180). Туннель
> то же в этом не помогает, вообще уже не пойму зачем
> он здесь :)

я в затруднении :-) :-)
я могу сформулировать то что я понял так:
вы хотите находясь на одной машине/ОС открывать соединения на другой машине/ОС?

ну, тогда, "это" можно назвать "неким прокси-сервером".
вот sshd такое умеет, как вам советуют выше.
Но у себя в коде вы будете "открывать сокет" на локальной машине, и ssh/putty вам его прокинет на другой конец.

И придумано это для того, чтобы безопасно работать с приложениями, которые сами не умееют
это делать (безопасно). Вот X11, например.

В вашем случае непонятно (мне, по крайней мере) - что нужно то :-)


"Как привязать адреса с другого сервера"
Отправлено numeric , 31-Июл-13 21:39 
эм-м...Господа, спасибо за помощь...Возьму пока время подумать и попробовать.