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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: PPTP-подключение не поднимается из interfaces  (Прочитано 2420 раз)

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

Оффлайн sensei88

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Для удаленного доступа к серверу в удаленной локалке создано клиентское PPTP-подключение.
Содержимое файла: "/etc/ppp/peers/rem-office"
pty "pptp XX.XX.XX.XX --nolaunchpppd" #тип и адрес сервера
name vpnclientlogin       #логин
remotename remoffice      #имя соединения
require-mppe-128          #включаем поддержку MPPE
nodefaultroute            #не создавать маршрут по умолчанию
unit 11                   #номер ppp интерфейса
persist                   #переподключаться при обрыве
maxfail 100               #количество попыток переподключения
holdoff 10                #интервал между подключениями
file /etc/ppp/options.pptp
ipparam "rem-office"
Соединение нормально запускается и останавливается командами "pon rem-office" и "poff rem-office".

Теперь хотим сделать автозапуск соединения, прописав его в "/etc/network/interfaces":
auto tunnel
iface tunnel inet ppp
provider rem-office
up route add -net 192.168.0.0/24

Не работает! В смысле - не запускается при старте системе и по команде перезапуска сети "/etc/init.d/networking restart"

Пробовал:
1) Явно заменять tunnel на ppp11
auto ppp11
iface ppp11 inet ppp

2) Писать маршрут в развёрнутой форме:
up route add -net 192.168.0.0 netmask 255.255.255.0 ppp11

Всё равно не работает.

В чём может быть дело?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28267
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #1 : 10 Августа 2015, 18:35:25 »
1. Верните конфигурацию как было сначала.
2. Перестаньте уже использовать "networking restart"
3. Что даёт
ifup tunnel? Устанавливается ли соединение? Если да, то это означает, что на момент попытки установки соединения при старте системы сеть ещё недоступна. Можно попробовать добавить "post-up ifup tunnel" в интерфейс, подключёный к интернету, либо убрать auto и написать простенький апстарт скрипт.
description "PPP start"

start on net-device-up IFACE!=lo

task
start /sbin/ifup tunnel
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #2 : 10 Августа 2015, 18:47:19 »
так-то вроде ещё pre-up /sbin/ifconfig eth0 up не хватает

Оффлайн sensei88

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #3 : 10 Августа 2015, 20:02:32 »
1. Верните конфигурацию как было сначала.
Вернул к этому состоянию:
auto tunnel
iface tunnel inet ppp
provider rem-office
up route add -net 192.168.0.0/24
2. Перестаньте уже использовать "networking restart"
Почему?
3. Что даёт
ifup tunnel? Устанавливается ли соединение?
Нет, не устанавливается. Дословно выдаёт вот что:
SIOCADDRT: No such device
Failed to bring up tunnel.

Что интересно, сейчас сделал "shutdown -r now", система перезагрузилась и подняла "ppp11", но при этом не добавила соответствующий маршрут к сети (192.168.0/24). На "ifdown" отвечает:
ifdown: interface tunnel not configured

Ещё один нюанс. При загрузке системы после "reboot now" ругается на невозможность сконфигурировать сеть, решает подождать дополнительные 60 секунд, в итоге загружает без конфигурации сети. (Если быть точным, так было днём: сейчас у меня нет возможности видеть процесс загрузки.)
« Последнее редактирование: 10 Августа 2015, 20:35:34 от sensei88 »

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1089
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #4 : 11 Августа 2015, 03:34:22 »
Автор, ты всё правильно сделал, но немного не дописал. Я у себя для PPP-соединения в /etc/network/interfaces дописал такое:
auto mts
iface mts inet ppp
     provider mts

Здесь вся соль в последней строке. Там надо указывать имя PPP-пира.

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #5 : 11 Августа 2015, 09:13:54 »
так-то вроде ещё pre-up /sbin/ifconfig eth0 up не хватает
Это pptp. Кроме pre-up /sbin/ifconfig eth0 up туда надо ещё адрес назначить. Впрочем, работает и без этого.
Почему?
deprecated
SIOCADDRT: No such device
Failed to bring up tunnel.
Читайте, что написано. И да, для этого есть /etc/ppp/ip-up.d/, в нём настройка тоньше.
Здесь вся соль в последней строке. Там надо указывать имя PPP-пира.
Смотрим первый пост.
OpenWrt 19.07

Оффлайн sensei88

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #6 : 11 Августа 2015, 11:28:59 »
auto mts
iface mts inet ppp
     provider mts
Здесь вся соль в последней строке. Там надо указывать имя PPP-пира.
Так я точно так же указал. В чём разница между твоим и моим конфигами?

Почему?
deprecated
А что тогда использовать для передёргивания сети?
SIOCADDRT: No such device
Failed to bring up tunnel.
Читайте, что написано. И да, для этого есть /etc/ppp/ip-up.d/, в нём настройка тоньше.
Читаю: SIOCADDRT: Нет такого устройства. Невозможно поднять tunnel.
К сожалению, мне это мало что говорит. Гугление тоже много не дало.
Буду рад пояснениям или ссылке на соотв. материал.
Я с линуксом может, не совсем на вы, но пока ещё по имя-отчеству.

Объясните, пожалуйста, что я делаю не так.
Вроде беру готовые решения с написанных в сети руководств - а оно не работает.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #7 : 11 Августа 2015, 11:34:48 »
так-то вроде ещё pre-up /sbin/ifconfig eth0 up не хватает
Это pptp. Кроме pre-up /sbin/ifconfig eth0 up туда надо ещё адрес назначить. Впрочем, работает и без этого.
Как я понимаю, если не указывать адрес, то возьмётся из того же interfaces

Оффлайн sensei88

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #8 : 11 Августа 2015, 18:51:21 »
Дело в последней строчке:
up route add -net 192.168.0.0/24В ее отсутствие "ifup/ifdown tunnel", и даже "networking restart" работают нормально!
С ней - не работает.

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #9 : 11 Августа 2015, 19:21:29 »
А что тогда использовать для передёргивания сети?
ifdown -a; ifup -a
Как я понимаю, если не указывать адрес, то возьмётся из того же interfaces
Так точно. Поэтому смысла в этой строке нет.
Дело в последней строчке:
up route add -net 192.168.0.0/24В ее отсутствие "ifup/ifdown tunnel", и даже "networking restart" работают нормально!
С ней - не работает.
Ну логично же. Как система узнает через какой интерфейс/шлюз ей работать?
OpenWrt 19.07

Оффлайн sensei88

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #10 : 11 Августа 2015, 21:52:10 »
Нашлось решение проблемы!

Экспериментальным путём установлено, что система, по всей видимости, начинает выполнять команды с up/post-up раньше, чем соединение полноценно установится, всё куда надо пропишется и система всё это осознает.
Поэтому при вызове команды
up route add -net 192.168.0.0/24 dev ppp11команда завершается с ошибкой: нет такого устройства "ppp11".

Само решение проблемы простое донельзя: добавить строку с командой "sleep":
up sleep 5
up route add -net 192.168.0.0/24 dev ppp11
Мне "хватает" 2 секунд, "с запасом" взял 5 секунд. Кому-то, возможно, потребуется больше...
« Последнее редактирование: 11 Августа 2015, 22:44:40 от sensei88 »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #11 : 11 Августа 2015, 23:05:59 »
Я выше говорил, где писать. Повторю еще раз: в /etc/ppp/ip-up.d/
А теперь что писать. Скрипт. С маршутами на нужные сети.
(Нажмите, чтобы показать/скрыть)
Цитировать
если этот интерфейс уже в сети?
А как Вы поняли что интерфейс уже в сети? У Вас вероятно получается, что Ваша команда выполняется в /etc/network/if-up.d/ (man ifupdown), когда GRE-сессия только открылась, но pppd ещё не отработал: не поднял интерфейс и не получил адрес по IPCP. Только в таком случае можно получить ошибку SIOCADDRT: No such device, когда нет физического, либо логического интерфейса .
OpenWrt 19.07

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #12 : 11 Августа 2015, 23:15:55 »
Как я понимаю, если не указывать адрес, то возьмётся из того же interfaces
Так точно. Поэтому смысла в этой строке нет.
Я вижу смысл в этой строке в том, что система прежде, чем поднять ppp поднимает eth0. А не тупо стучится в закрытые ворота.

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #13 : 11 Августа 2015, 23:18:53 »
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 12 Августа 2015, 00:03:57 от koshev »
OpenWrt 19.07

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: PPTP-подключение не поднимается из interfaces
« Ответ #14 : 12 Августа 2015, 00:14:44 »
А почему в up, а не pre-up?
Так я и пишу pre-up
А Вы не путаете с PPPoE
Нет, не путаю. Хотя могу и ошибаться в плане необходимости этой строки - не имею большого опыта работы с pptp.... да и маленького тоже.

 

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