Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: скрипт для роутов VPN  (Прочитано 1644 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн wilp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
скрипт для роутов VPN
« : 31 Марта 2009, 12:34:11 »
Добрый день!

Чтобы после установки VPN-соединения по dns-имени vpn-сервера Автоматом прописывались маршруты в таблицу маршрутизации до подсетей ip-remote, dns-сов vpn-сети?

Где об этом поулярно пишут ?

еще вот какой вопросик:
В конфиге для VPN соединения, файле /etc/ppp/peers/"мой файл настроек для соединения"
указан параметр
usepeerdns

В этом случае при успешной установке VPN, файлик /etc/resolv.conf затирается и в нем прописывают dns от VPN сети.
А если я хочу использовать как dns от vpn, так и другой днс ,скажеи провайдера.

Как мне это сделать?

Пользователь решил продолжить мысль 31 Марта 2009, 08:36:34:
по ходу вот какой вопрос нарисовался
dns1 - ip адрес моего роутера
dns2, dns3 - ip удаленныч dns
усли в /etc/resolv.conf указать так
ip-dns1
ip-dns2
ip-dns3

то dns-адреса из dns2 и 3, не резолвятся в ip
а если так

ip-dns2
ip-dns3
ip-dns1

тогда все резолвится.

Разве имеет значение порядок?
« Последнее редактирование: 31 Марта 2009, 14:45:09 от wilp »

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #1 : 31 Марта 2009, 15:34:09 »
Есть адрес локального DNS сервера (dns-local), локальный DNS сервер знать не знает про интернет, а резолвит только локальные имена в локальные IP адреса. Есть два адреса DNS серверов выдаваемые провайдером при поднятии VPN туннеля (dns-isp1, dns-isp2), DNS сервера провайдера знать не знают о нашем локальном DNS сервере.

Убираем из /etc/ppp/peers/"имя файла настроек для соединения" параметр usepeerdns

Прописываем в /etc/ppp/resolv/"имя файла настроек для соединения"

nameserver dns-local
nameserver dns-isp1
nameserver dns-isp2
options attempts:1 timeout:1

attempts:1 - 1 попытка резолва имени в адрес (по умолчанию 5)
timeout:1 - 1 секунда ожидания между попытками (по умолчанию 2)

В таком варианте резолвятся и локальные имена и имена в интернете, по крайней мере у меня все арбайтен. :)

В принципе, можно не убирать параметр usepeerdns, прописываем в  /etc/resolv.conf

nameserver dns-local
options attempts:1 timeout:1

а скрипт 0000usepeerdns при поднятии VPN приведет все в надлежащий вид.
« Последнее редактирование: 31 Марта 2009, 16:08:26 от Bambr »

Оффлайн wilp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #2 : 31 Марта 2009, 22:21:01 »

В принципе, можно не убирать параметр usepeerdns, прописываем в  /etc/resolv.conf

nameserver dns-local
options attempts:1 timeout:1

а скрипт 0000usepeerdns при поднятии VPN приведет все в надлежащий вид.

Если не убирать usepeerdns, тогда при установке VPN-соедитнения
файлик /etc/resolv.conf будет затираться и в нем будут прописываться
nameserver dns-isp1
nameserver dns-isp2

И в итоге будем иметь только 2-а dns-провайдера.
Или я чего то не понимаю, объясните плиз =)
« Последнее редактирование: 31 Марта 2009, 22:23:33 от wilp »

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #3 : 01 Апреля 2009, 12:04:44 »
Глянул скрипт /etc/ppp/ip-up.d/0000usepeerdns, действительно, в результате его работы из старого файла /etc/resolv.conf при поднятии VPN туннеля в новый попадают только строки не начинающиеся с nameserver. Значит возьмем и подправим скрипт, чтобы он делал то, что нам нужно.

Было:
# merge the new nameservers with the other options from the old configuration
{
  cat /etc/ppp/resolv.conf
  grep --invert-match '^nameserver[[:space:]]' "$REALRESOLVCONF" || true
} > "$REALRESOLVCONF.tmp"

Стало:
# merge the new nameservers with the other options from the old configuration
{
  grep '.' "$REALRESOLVCONF" || true
  cat /etc/ppp/resolv.conf
} > "$REALRESOLVCONF.tmp"

Оффлайн wilp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #4 : 02 Апреля 2009, 08:51:58 »
Сделал так:

[quote author=Bambr link=topic=53088.msg389990#msg389990 date=1238499249]

В принципе, можно не убирать параметр [b]usepeerdns[/b], прописываем в  [b]/etc/resolv.conf[/b]

[code]
nameserver dns-local
options attempts:1 timeout:1

а скрипт 0000usepeerdns при поднятии VPN приведет все в надлежащий вид.

возьмем и подправим скрипт, чтобы он делал то, что нам нужно.
Было:
# merge the new nameservers with the other options from the old configuration
{
  cat /etc/ppp/resolv.conf
  grep --invert-match '^nameserver[[:space:]]' "$REALRESOLVCONF" || true
} > "$REALRESOLVCONF.tmp"

Стало:
# merge the new nameservers with the other options from the old configuration
{
  grep '.' "$REALRESOLVCONF" || true
  cat /etc/ppp/resolv.conf
} > "$REALRESOLVCONF.tmp"


При таком варианте в файле /etc/resolv.conf
Такие записи получаются
nameserver dns-local
options attempts:1 timeout:1
nameserver dns-isp1
nameserver dns-isp2

Даем команду nslookup
<пишем dns-имя хоста из isp и dns в ip не резолвит.

Делал по 2-му варианту:
Убираем из /etc/ppp/peers/"имя файла настроек для соединения" параметр usepeerdns

Прописываем в /etc/ppp/resolv/"имя файла настроек для соединения"

nameserver dns-local
nameserver dns-isp1
nameserver dns-isp2
options attempts:1 timeout:1


Тоже не резолвит dns из isp в ip.
Может в этом случае нужно указать в файлике параметров /etc/ppp/peers/"мой файл настроек для соединения"
какую-то строку ,чтобы смотрел сюда  /etc/ppp/resolv/"имя файла настроек для соединения" ?

А вот если ,как я уже изначально делал:

nameserver dns-isp1
nameserver dns-isp2
nameserver dns-local
options attempts:1 timeout:1

То теперь, набираем nslookup
<пишем dns-имя не известное ,ни в dns-local, ни в dns-isp1, dns-isp2
В результатет на экране выходят строки
;; Got SERVFAIL reply from dns-isp1, trying next server 
;; Got SERVFAIL reply from dns-isp2, trying next server
Server:         192.168.0.1
Address:        192.168.0.1#53

** server can't find dns-имя: NXDOMAIN
Как видим, все dns-сервера отрабатывают. Не смогли резолвить, только потому , что dns-имя задал "asdf", т.е. не известное им.[/code]

Почему при такой записи в  /etc/resolv.conf
nameserver dns-isp1
nameserver dns-isp2
nameserver dns-local
options attempts:1 timeout:1
Все хорошо.

А так нет ?
nameserver dns-local
nameserver dns-isp1
nameserver dns-isp2
options attempts:1 timeout:1


« Последнее редактирование: 02 Апреля 2009, 09:45:01 от wilp »

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #5 : 02 Апреля 2009, 12:37:37 »
DNS сервер dns-local возомнил себя "последней инстанцией", т.е. его слово "закон", раз сказал не знаю такого имени, значит и остальные DNS сервера его не знают и точка. Примерно так поступают DNS сервера моего интернет провайдера, поэтому приходится прописывать свой локальный DNS сервер первым.

Внесите следующие изменения в скрипт /etc/ppp/ip-up.d/0000usepeerdns:
# merge the new nameservers with the other options from the old configuration
{
  cat /etc/ppp/resolv.conf
  grep '.' "$REALRESOLVCONF" || true
} > "$REALRESOLVCONF.tmp"

тогда /etc/resolv.conf, при старте VPN, будет преобразовываться к виду, который у вас работоспособен:
nameserver dns-isp1
nameserver dns-isp2
nameserver dns-local
« Последнее редактирование: 02 Апреля 2009, 12:40:24 от Bambr »

Оффлайн wilp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #6 : 02 Апреля 2009, 16:22:02 »
Так все арбайтен, т.е. все резолвится.

Но.... я сейчас поясню,

dns-local - это внутренний ip моего домашнего роутера. (192.168.0.1) . Роутер сам поддерживает Интернет соединения с моим провайдером.
А dns-isp1, dns-isp2 - это не dns-сервера моего провайдреа, а dns'ы частной сети до которой устанавливается VPN-соединениес ubuntu.

По этому вопрос:
Если VPN поднято, и в этом, моем случае dns'ы в первую очередь используются от VPN (dns-isp1,2).
На сколько это замедлит работу Интернета с ubuntu?
DNS'ы провайдера физически в одном городе со мной, а dns'ы VРN за 1000км.
« Последнее редактирование: 02 Апреля 2009, 16:25:44 от wilp »

Оффлайн wilp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #7 : 05 Апреля 2009, 12:36:10 »
Имеется в виду тот случай, когда dns-servers в VPN сети знают о именах Инета, как то ya.ru,google.com и вообще всех имен Инета. В моем случае эти днс-сервера будут в первую очередь отрабатывать. И каи это скажется на скорости резолвинга?
« Последнее редактирование: 05 Апреля 2009, 12:39:07 от wilp »

Оффлайн wilp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: скрипт для роутов VPN
« Ответ #8 : 23 Апреля 2009, 15:17:54 »
Действительно, проверяю как быстро происходит резолвинг dnsname в ip в 2-х случаях:

1. Когда у меня не установлено VPN соединение и в файле
/etc/resolv.conf есть только одна строчка
nameserver ip-local - это адрес моего роутера для выхода в Интернет. Он же и является "кэширующим dns-сервером".

Используем утилиту dig, проверяем
# dig ya.ruПолучаем
;; Query time: 1 msec
2. Когда установлено VPN соединения с частной сетью и в файле
/etc/resolv.conf
Прописано так:
nameserver dns-isp1
nameserver dns-isp2
nameserver dns-local

Опять проверяем
# dig ya.ru....

Получаем
;; Query time: 27 msec
Таким образом при работе через dns -isp1, dns-is2  получаем задержку в 26 раз больше!!!
Как мне сделать так, чтобы при установленном vpn-соединении с частной сетью , в первую очеред использовался dns-local моего роутера?

Пользователь решил продолжить мысль 23 Апреля 2009, 19:44:40:
Товарищи, подскажите по вопросу плиз

Пользователь решил продолжить мысль 24 Апреля 2009, 17:48:02:
Товарищи, подскажите, поможет ли повышение роли моего dns-сервера ( моего роутера) ?
И если "ДА", то как это сделать.
« Последнее редактирование: 24 Апреля 2009, 17:48:02 от wilp »

 

Страница сгенерирована за 0.032 секунд. Запросов: 23.