Страница 1 из 1
связь между двумя серверами
Добавлено: 2009-07-08 17:53:55
popka
Привет вообщем опишу такую ситуацию есть два сервера SERVER #1 и SERVER #2 . Так вот SERVER #1 находится за NAT и доступ из вне я к нему получить не мог и что мне пришло в голову поднять между ними VPN туннель, SERVER #1 подключается к SERVER #2 спокойно пакеты бегают туда-сюда SERVER #1 пингует ресурсы SERVER #2 и даже устанавливает связь по ssh c ним так же и с другими ресурсами которые находятся в сети номера второго, но когда я пытаюсь SERVERОм #2 установить связь с первым по средством ssh всё вроде проходит нормально запрашивается имя пользователя, потом пароль и всё после того как я наберу пароль и нажму ENTER сеанс зависает, хотя что первый что второй показывает что сокеты открыты между ними по ssh. Помогите решить проблему, пожалуйста.
Re: связь между двумя серверами
Добавлено: 2009-07-08 19:59:16
schizoid
копни в сторону ДНС
Re: связь между двумя серверами
Добавлено: 2009-07-08 22:07:04
popka
я сомневаюсь что дело в днс дело в том, что бывают иногда такие моменты которые не как не систематизированны допустим раз в сутки пустит и тут же зависнит снова сеанс.
Re: связь между двумя серверами
Добавлено: 2009-07-09 8:54:38
princeps
лаги. adsl, наверное?
Re: связь между двумя серверами
Добавлено: 2009-10-07 15:12:35
popka
всё отлично, уменьшил MTU до 1400 и всё отлично работает, правда какая-то проблема с маршрутизацией, со стороны клиента в сторону сервера и за его приделы пакеты бегают, а вот обратно почему то клиент не маршрутизирует
сервер
Код: Выделить всё
router# sockstat -4 | grep nat
root natd 1213 4 div4 *:8669 *:*
root natd 553 4 div4 *:8668 *:*
router# ipfw show | grep 866
00040 27962395 21402265090 divert 8668 ip from any to any via rl1
00050 27962502 21402291713 divert 8668 ip4 from any to any via rl1
00090 27545929 20288611819 divert 8669 ip from any to any via ng0
router#
клиент
Код: Выделить всё
freebsd# sockstat -4 | grep nat
root natd 3809 4 div4 *:8669 *:*
root natd 685 4 div4 *:8668 *:*
freebsd# ipfw show | grep 866
00050 28 2712 divert 8668 ip4 from any to any via rl0
00090 0 0 divert 8669 ip4 from any to any via ng0
Re: связь между двумя серверами
Добавлено: 2009-10-07 17:24:50
Laa
А зачем НАТ на тунеле? Может убрать нат и дать пакетам маршрутизироваться??
Re: связь между двумя серверами
Добавлено: 2009-10-08 8:28:18
popka
Laa писал(а):А зачем НАТ на тунеле? Может убрать нат и дать пакетам маршрутизироваться??
я попробую, но сомневаюсь
Re: связь между двумя серверами
Добавлено: 2009-10-08 9:05:32
popka
удалил нат с интерфейса ng0 оставил только на rl0 не работает

Re: связь между двумя серверами
Добавлено: 2009-10-08 22:15:39
AGN
тут несколько моментов...
1. По разные стороны тунеля не должно быть одинаковой подсети... иначе тунель будет работать только по своим адресам от машины до машины... т.е. скажем при соединении у сервера 10.10.10.10, а у клиента 10.10.10.20... они между собой по этим адресам будут "общаться" без проблем... а вот если за этими серваками и там и там любимая сетка 192.168.0.0/24 - далее будет облом... т.к. если завернуть маршрутами 192.168.0.0/24 в тунель - у тебя локалка не будет работать... и толку всё равно 0... т.к. машина будет искать хост из той же подсети по АРПу ... и шлюз ей не уперся... т.е. сервак будет искать 192.168.0.0/24 за тунелем и при этом локалка у него отвалится, но ту сеть он будет видеть.
2. Если сети разные (например 192.168.0.0/24 и 192.168.1.0/24) то нужно просто нормально прописать маршруты с обеих сторон... что бы вторую сеть искали за тунелем... иначе её будут искать через дефолтный шлюз провайдера - на котором подобные сети вообще запрещены...
В нате тут особо потребности не вижу... разве что клиентам из одной подсети раздавать инет через шлюз в другой... но какой смысл плодить трафик на двух каналах?
Re: связь между двумя серверами
Добавлено: 2009-10-09 11:46:43
schizoid
popka писал(а):удалил нат с интерфейса ng0 оставил только на rl0 не работает

а маршруты описал?
Re: связь между двумя серверами
Добавлено: 2009-10-10 0:57:16
AGN
Мы уже в аське разобрались... всё оказалось проще...
т.к. машина "клиент" не являлась шлюзом для своей сети и маршрут на шлюзе прописать не представлялось возможным - нужен был нат...
а нат не работал из-за ошибки в правилах ipfw... вот и всё.
Re: связь между двумя серверами
Добавлено: 2009-10-23 8:53:49
popka
Теперь вообщем другая проблема тот впн сервер к которому конектится mpd не имеет реального ип и благодаря dyndns удалось привязать динамический ип к домену но вот если сервер перезагрузится то мпд занова не переподключается в виду того что ломится на старый ип пробовал такой вариант в down script
Код: Выделить всё
#!/bin/sh
/sbin/ipfw delete 24
/sbin/ipfw delete 25
/sbin/ipfw delete 51
#/sbin/ipfw delete 90
#/sbin/route delete 85.21.0.66
#/sbin/route delete default
#/sbin/route add default 10.197.80.1
/bin/kill -3 `cat /var/run/natd2.pid`
/sbin/route delete -net 192.168.0.0 192.168.10.1
/bin/sleep 5
/bin/sh /usr/local/etc/mpd4/vpn/updown.sh &
передаю управление скрипту updown.sh и в фон его
Код: Выделить всё
#!/bin/sh
/bin/kill `cat /var/run/mpd.pid`
/bin/sleep 10
/usr/local/sbin/mpd4 -b
в итого действительно один раз mpd убивается и перезапускается, но только один раз, а если сервер в этот момент не доступен то он соответственно не может не куда подцепиться и весит. Вообщим можно конечно вызывать по крону скрипт который будет каждые 5 минут к примеру смотреть поднят ли интерфейс и если нет то перезапускать, но хочется силами mpd.