IPB Вначале поищи ответ здесь через Поиск,
потом
на LinuxForumWiki, alv.me, Rus-Linux.net и Citkit.ru

Правила нашего форума · Пользователи · Календарь · Помощь
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topic Start new topic
> Вопросы по VPN (PPTP) в openSUSE 10.3 (.x86)., Без YAST, без pptp-command. Только настройками и скриптом.
DrugVignera
сообщение Jul 23 2008, в 19:53
Сообщение #1


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

Добрый день!
Пытаюсь настроить себе интернет через VPN в Линухе. Только не надо сразу гнать меня в поиск, я уже посмотрел - куча информации (по запросу "pptp", по "vpn" не ищет), разные проблемы, и разбираться с ними я буду ещё месяца 2... Лучше дайте соответствующую моей проблеме ссылку, хотя я думаю, проще будет пару слов сказать.
В то время как всё значительно проще.
Есть мануал по подключению VPN в GNU\Debian Linux 4.0 : http://wiki.telecom.mipt.ru/index.php/Подк...ие:PPTP_в_Linux
(Если не доступна для внешнего инета, скажите - выложу сюда.) Пробую эту статью адаптировать для openSUSE 10.3.
Т.е. делаю так:
1) Нужные пакеты уже стоят.
2) Настройка pptp.
2.1) В /etc/ppp/chap-secrets пишу строчку: <МойЛогин> PPTP <МойПароль> *
2.1.1) Содержимое /etc/ppp/options.pptp:
Код
#
# We don't need the tunnel server to authenticate itself
#
noauth

#
# Turn off transmission protocols we know won't be used
#
nobsdcomp
nodeflate

#
# Reconnect
#
persist

2.2) Содержимое /etc/ppp/peers/telecom:
Код
pty "pptp vpdn-campus.mipt.ru --nolaunchpppd"
connect /bin/true
name <МойЛогин>
remotename PPTP
file /etc/ppp/options.pptp
ipparam telecom

3) Маршрутизация и автозапуск VPN.
3.2) Использую следующий модифицированный скрипт /etc/init.d/mipt-route:
Код
#! /bin/sh

### BEGIN INIT INFO
# Provides:             mipt-telecom
# Required-Start:       $network $local_fs $remote_fs
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    mipt network route manager
### END INIT INFO

set -e
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
. /lib/lsb/init-functions

gateway=`route -n | grep "^0\.0\.0\.0 \+[1-9][0-9.]\+" --color | awk '{print $2}'`

add_route_ppp() {
    inetaddr=`ifconfig ppp0|grep inet|cut -c 21-36 |awk '{print ($1)}'`
    route add default gw $inetaddr
}

add_route() {
    route add -host 193.125.142.233 gw $gateway #> /dev/null 2>&1 &                   #vpdn-campus.mipt.ru
    route add -host 192.188.189.3 gw $gateway > /dev/null 2>&1 &                      #gw.mipt.ru
    route add -host 193.125.143.244 gw $gateway > /dev/null 2>&1 &                    #sa4.mipt.ru
    route add -host 193.125.143.173 gw $gateway > /dev/null 2>&1 &                    #ns.mipt.ru
    route add -net 192.188.189.0 netmask 255.255.255.0 gw $gateway > /dev/null 2>&1 & #
    route add -net 10.0.0.0 netmask 255.0.0.0 gw $gateway > /dev/null 2>&1 &          #
    route add -net 172.16.0.0 netmask 255.240.0.0 gw $gateway > /dev/null 2>&1 &      #
    route add -net 192.168.0.0 netmask 255.255.0.0 gw $gateway > /dev/null 2>&1 &     #
    route add -net 81.5.64.0 netmask 255.255.192.0 gw $gateway > /dev/null 2>&1 &     #
    route add -net 193.125.142.0 netmask 255.255.254.0 gw $gateway > /dev/null 2>&1 & #
    route add -net 194.85.80.0 netmask 255.255.252.0 gw $gateway > /dev/null 2>&1 &   #
}

delete_route() {
    route del default > /dev/null 2>&1 &
    route del 193.125.142.233 > /dev/null 2>&1 &                          #vpdn-campus.mipt.ru
    route del 192.188.189.3 > /dev/null 2>&1 &                            #gw.mipt.ru
    route del 193.125.143.244 > /dev/null 2>&1 &                          #sa4.mipt.ru
    route del 193.125.143.173 > /dev/null 2>&1 &                          #ns.mipt.ru
    route del -net 192.188.189.0 netmask 255.255.255.0 > /dev/null 2>&1 & #
    route del -net 10.0.0.0 netmask 255.0.0.0 > /dev/null 2>&1   &        #
    route del -net 172.16.0.0 netmask 255.240.0.0 > /dev/null 2>&1 &      #
    route del -net 192.168.0.0 netmask 255.255.0.0 > /dev/null 2>&1 &     #
    route del -net 81.5.64.0 netmask 255.255.192.0 > /dev/null 2>&1 &     #
    route del -net 193.125.142.0 netmask 255.255.254.0 > /dev/null 2>&1 & #
    route del -net 194.85.80.0 netmask 255.255.252.0 > /dev/null 2>&1 &   #
}

case "$1" in
start)
    delete_route
    sleep 1
    add_route
    sleep 1
    pon telecom
    sleep 3
    add_route_ppp
    log_daemon_msg "Start"
;;
stop)
    delete_route
    sleep 2
    poff telecom
    log_daemon_msg "Stop"
;;
restart)
    #stop --begin--
        delete_route
        sleep 2
        poff telecom
        log_daemon_msg "Stop"
    #stop --end--
    #start --begin--
        delete_route
        sleep 1
        add_route
        sleep 1
        pon telecom
        sleep 3
        add_route_ppp
        log_daemon_msg "Start"
    #start --end--
    log_daemon_msg "Restart"
;;
*)
    log_action_msg "Usage: /etc/init.d/mipt-route {start|stop|restart}"
    exit 1
esac

exit 0

(!!!!) И вот тут-то начинаются все проблемы и главные вопросы:
Что используется в openSUSE 10.3 вместо "pon" и "poff"? Он таких не знает.

Далее насчёт того, как запустить скрипт при подъёме сетевой карточки: файла /etc/network/interfaces у меня нету, даже папки /etc/network нет; ничего похожего на "iface eth0 inet dhcp" в других файлах я не нашёл, соответственно куда надо прописывать "post-up sleep 10 && /etc/init.d/mipt-route start"?

Итак, внимание ВОПРОС, чем же в этом случае надо запускать VPN, вместо pon? И как останавливать вместо poff?
P.S. Подозреваю, что после решения этих проблем появятся и другие...


Спасибо сказали:
Go to the top of the page
 
+Quote Post
sda
сообщение Jul 23 2008, в 20:20
Сообщение #2


Бывалый
Иконка группы

Сообщений: 443

Вставить имя   :   Цитата

ОС: SuSE

Группа: Участники

Почитай вот тут (скриптик в самом низу заметки):

http://sda00.blogspot.com/2008/07/blog-post.html

тебе нужно (если с YAST-ом не хочешь связываться, а всё делать скриптами) установить 'smpppd', 'linux-atm-lib', 'pptp' (может что ещё в зависимости от типа DSL соединения)

но игнорировать YaST некрасиво. чтобы не было геморроя или ставь 'kinternet' или (если как и меня жаба давит тащить qt* в систему) поставь 'exalt' вот по этой ссылке (он имитирует наличие 'kinternet' в системе):

http://download.opensuse.org/repositories/...8-12.5.i586.rpm

оно потянет за собой гораздо меньше, чем qt*. а всё, что ты выше понарисовал - стирай и откатывайся на дефолт. это не дебиан.

твои настройки будут храниться в двух файлах:

/etc/sysconfig/network/ifcfg-dsl0
/etc/sysconfig/network/providers/ПРОВАЙДЕР

не ленись, настрой разок YaST-ом и посмотри каково их содержимое.

и на прощание одна прописная истина: не пользуй NetworkManager для DSL соединений (только kinternet или что-то что подсовывает системе фейк, что kinternet установлен).


--------------------
А форумокъ всёжъ таки с гнiльцой...©
Go to the top of the page
 
+Quote Post
ivan2ksusr
сообщение Jul 23 2008, в 20:21
Сообщение #3


Бывалый
Иконка группы

Сообщений: 457

Вставить имя   :   Цитата

ОС: Mac OS X, OpenSuse

Группа: Участники

плохо вы искали или не хотели найти того чего вам необходимо
к примеру вот сылочка: http://forum.spnet.ru/showthread.php?t=23679
далее в гугле простой запрос vpn openSuse terminal
удачи
ну и + ru.opensuse.org smile.gif
Go to the top of the page
 
+Quote Post
sda
сообщение Jul 23 2008, в 20:30
Сообщение #4


Бывалый
Иконка группы

Сообщений: 443

Вставить имя   :   Цитата

ОС: SuSE

Группа: Участники

Цитата(ivan2ksusr @ Jul 23 2008, в 21:21) *
плохо вы искали или не хотели найти того чего вам необходимо
к примеру вот сылочка: http://forum.spnet.ru/showthread.php?t=23679
далее в гугле простой запрос vpn openSuse terminal
удачи
ну и + ru.opensuse.org smile.gif


IMHO:
отличный пример того, как делать не надо. и примеров таких - именно "в гугле простой запрос vpn openSuse terminal".


--------------------
А форумокъ всёжъ таки с гнiльцой...©
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Jul 23 2008, в 21:25
Сообщение #5


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

Спасибо, буду ботать.
Значит, теми файлами (в /etc/ppp/) никак не получится? Жаль. А для чего же они присутствуют в моём дистрибутиве?
Go to the top of the page
 
+Quote Post
ivan2ksusr
сообщение Jul 24 2008, в 00:23
Сообщение #6


Бывалый
Иконка группы

Сообщений: 457

Вставить имя   :   Цитата

ОС: Mac OS X, OpenSuse

Группа: Участники

Цитата(sda @ Jul 23 2008, в 21:30) *
Цитата(ivan2ksusr @ Jul 23 2008, в 21:21) *
плохо вы искали или не хотели найти того чего вам необходимо
к примеру вот сылочка: http://forum.spnet.ru/showthread.php?t=23679
далее в гугле простой запрос vpn openSuse terminal
удачи
ну и + ru.opensuse.org smile.gif


IMHO:
отличный пример того, как делать не надо. и примеров таких - именно "в гугле простой запрос vpn openSuse terminal".

не спорю, возможно и хреновый пример(за 1 минуту больше ни чего и не нашел), здесь уклон к тому что поиском пользоваться все же стоит и надо уметь(и тема уже избита напрочь по поводу впн, а что он написал не смог найти, значит есть какие либо другие мистические факторы), ИМХО - я стобой не соглашусь, а имхо или нет эт уже интимное.
з.ы. не будем тему переводить во флейм
Go to the top of the page
 
+Quote Post
HighwayStar
сообщение Jul 24 2008, в 02:04
Сообщение #7


Завсегдатай
Иконка группы

Сообщений: 235

Вставить имя   :   Цитата

ОС: openSUSE 11.0, 11.1
Город: Иркутск

Группа: Участники

Цитата(DrugVignera @ Jul 24 2008, в 03:25) *
Спасибо, буду ботать.
Значит, теми файлами (в /etc/ppp/) никак не получится? Жаль. А для чего же они присутствуют в моём дистрибутиве?

Получится. Эти файлы относятся к пакету pptp. Их тоже можно настроить через мастер pptp-command.

Если хочется без яста и pptp-command то удаляй пакет pptp и яст и бери в руки книжку по C и компилятор и вперед писать свой pptp клиент.

P.S Если нужно подключаться из терминала то вместо kinternet есть консольный cinternet, а так же iскрипты fup и ifdown
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Jul 29 2008, в 14:02
Сообщение #8


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

Если кому ещё интересно:
http://wiki.telecom.mipt.ru/index.php/Наст...в_OpenSuse_10.3
Go to the top of the page
 
+Quote Post
Deo
сообщение Jul 29 2008, в 22:19
Сообщение #9


Постоялец
Иконка группы

Сообщений: 178

Вставить имя   :   Цитата

ОС: OpenSuse 11.1

Группа: Участники

pon и poff на самом деле используют pppd
соответственно - в консоль и
pppd call имя_провайдера
либо (как я люблю) pppd call имя_провайдера debug nodetach
и по ctrl+C в этом окне можно будет разорвать связь, чтоб потом не делать killall

Файл имя_провайдера должен лежать в /etc/ppp/peers
однако в него еще нужно положить требуемую инфу и настроить роутинг...
А вообще добро пожаловать в "Проекты нашего форума" - Пошаговая настройка pptp соединения aka VPN.
http://ru.posix.wikia.com/wiki/PPTP


--------------------
Фхтагн! Мозг! Ням-ням!
~ Ктулху про Ленина

Негром годов преклонных будь хоть я, выучил русский я то за бы, Лёнин нём на разговаривал что.
~ Йода про Лёнина
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Nov 17 2008, в 17:53
Сообщение #10


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

Извините за очередной тупёж, но как этот скрипт __грамотно__ поставить в автозагрузку, чтобы при старте компа и подъёме сетевой карточки автоматически подключался инет? А то мне надоело уже каждый раз запускать этот скрипт. Напомню, сам скрипт добавляет адрес VPN-сервера, кучу локальных маршрутов, командует pptp-command start, затем добавляет дефолтный route add default dev ppp0.

Когда я его поместил в /etc/sysconfig/network/if-up.d/, при загрузке он выматерился несколько раз:
Код
Setting up loopback interface     lo        
    lo        IP address: 127.0.0.1/8  
Checking for network time protocol daemon (NTPD): unused
Can't determine current runlevel
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
Turning on
anon warn[pptp_gre_bind:pptp_gre.c:95]: connect: Network is unreachable
anon fatal[main:pptp.c:284]: Cannot bind GRE socket, aborting.
ERROR!  Connection timed out.
SIOCADDRT: No such device
done
System Boot Control: The system has been set up


Код
Setting up network interfaces:
    lo        
    lo        IP address: 127.0.0.1/8  
Checking for network time protocol daemon (NTPD): unused
<notice>startproc: execve (/opt/kde3/bin/kdm) [ /opt/kde3/bin/kdm ], [ CONSOLE=/dev/console ROOTFS_FSTYPE=ext3 TERM=linux SHELL=/bin/sh ROOTFS_FSCK=0 INIT_VERSION=sysvinit-2.86 KDEROOTHOME=/root/.kdm REDIRECT=/dev/tty1 COLUMNS=124 PATH=/bin:/sbin:/usr/bin:/usr/sbin vga=0x317 RUNLEVEL=5 SPLASHCFG=/etc/bootsplash/themes/SuSE/config/bootsplash-1024x768.cfg PWD=/ LANG=ru_RU.UTF-8 PREVLEVEL=N LINES=44 QT_SYSTEM_DIR=/usr/share/desktop-data SHLVL=2 HOME=/ XCURSOR_THEME=crystalwhite WINDOWMANAGER=/usr/bin/kde SPLASH=yes splash=silent ROOTFS_BLKDEV=/dev/disk/by-id/scsi-SATA_MAXTOR_STM33206_6QF4QV0C-part3 _=/sbin/startproc DAEMON=/opt/kde3/bin/kdm ]
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
SIOCADDRT: No such process
Turning on
anon warn[pptp_gre_bind:pptp_gre.c:95]: connect: Network is unreachable
anon fatal[main:pptp.c:284]: Cannot bind GRE socket, aborting.
<notice>checkproc: /opt/kde3/bin/kdm 2650
<notice>killproc: kill(2642,15)
ERROR!  Connection timed out.
SIOCADDRT: No such device
done    eth0      device: D-Link System Inc RTL8139 Ethernet (rev 10)
    eth0      (DHCP) . <notice>pidofproc: dhcpcd 3034
IP/Netmask: 10.55.112.22 / 255.255.254.0
doneSetting up service network  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .done

причём после каждого ругательства подолгу тормозит дальнейшую загрузку системы. Тем не менее, после всего этого инет таки появляется.
При перезагрузке тоже ошибка:
Код
Shutting down network interfaces:
    eth0      device: D-Link System Inc RTL8139 Ethernet (rev 10)
Turning off
Sending HUP signal to PPTP processes...
done    ppp0      
              No configuration found for ppp0
              Nevertheless the interface will be shut down.
Turning off
Sending HUP signal to PPTP processes...
pptp: no process killed
scripts/ifdown-ppp: line 110: /usr/sbin/smpppd-ifcfg: No such file or directory
failed to bring interface ppp0 down
failedShutting down service network  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .done


Пробовал также вставлять этот скрипт в /etc/ppp/ip-up.d/, но в этом случае, естественно, вообще ничего не происходит.
Так как надо правильно сделать?
Заранее спасибо за поддержку.
Go to the top of the page
 
+Quote Post
vovanvster
сообщение Nov 17 2008, в 18:39
Сообщение #11


Завсегдатай
Иконка группы

Сообщений: 291

Вставить имя   :   Цитата

ОС: Gentoo-x86_64
Город: Архангельск

Группа: Участники

Многовато наворочали, а всё гораздо проще:
1) Создать в /etc/ppp/peers/ файл, к примеру (inet)
содержимое файла:

pty "pptp (имя или адрес VPN сервера) --nolaunchpppd" # скобки не нужны
user ***************************
password "*************" # пароль в кавычках
noauth
nobsdcomp
nodeflate
defaultroute
mtu 1492 # мту надо спросить у провайдера
maxfail 0
persist

2) Создать в /home/username/bin/ файл, к примеру опять-же (inet)
содержимое файла:

#! /bin/sh
route add -host (адрес 1го DNS сервера) gw (адрес шлюза) # скобки нигде не нужны
route add -host (адрес 2го DNS сервера) gw (адрес шлюза)
route add -host (адрес 1го VPN сервера) gw (адрес шлюза)
route add -host (адрес 1го VPN сервера) gw (адрес шлюза)
route del default
pppd call inet

И всё !!!
Подключаться командой: sudo inet

Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Nov 17 2008, в 23:35
Сообщение #12


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

vovanvster
Когда-то я пробовал что-то подобное, но ничего не вышло. В частности, никакого mtu мне никто не скажет. Получилость только через pptp-command. Менять сейчас ничего не хочу.
Цитата
Подключаться командой: sudo inet

Последний мой вопрос как раз про то, как сделать подключение автоматическим при загрузке компа и поднятии сетевой карточки, безо всяких sudo и ввода рутовских паролей.
Для Дебиана описано, как это делается, я верю, что и для openSUSE тоже как-то можно.
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Nov 17 2008, в 23:42
Сообщение #13


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

Ладно, сейчас скажете, что при включении/отключении сетевой карты всё равно требуется вмешательство рута. Но это - скорее исключительные случаи. В основном, интересует автозагрузка, т.е. включил комп - инет уже есть. Доставай Оперу, и погнали. smile.gif))
Go to the top of the page
 
+Quote Post
k0da
сообщение Nov 18 2008, в 00:02
Сообщение #14


OpenSuSE bug hunter
Иконка группы

Сообщений: 4799

Вставить имя   :   Цитата

ОС: Factory
Город: Prague

Группа: Модераторы разделов

DrugVignera
При правильном подходе и нстаройки через яст интерфейс поднимается при загрузке через стандартный ifup


--------------------
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Go to the top of the page
 
+Quote Post
artb1sh
сообщение Nov 18 2008, в 00:24
Сообщение #15


Интересующийся новичок
Иконка группы

Сообщений: 67

Вставить имя   :   Цитата

ОС: OpenSuSe 10.3, FC8
Город: artb1sh

Группа: Участники

а как прикрутить автоподнималку vpn? разрыв каждый час
Go to the top of the page
 
+Quote Post
dmitry-p
сообщение Nov 27 2008, в 14:48
Сообщение #16


Прохожий
Иконка группы

Сообщений: 3

Вставить имя   :   Цитата

Группа: Участники

Цитата(artb1sh @ Nov 18 2008, в 00:24) *
а как прикрутить автоподнималку vpn? разрыв каждый час


Автозагрузка в SUSE: создайте файл /etc/init.d/after.local
Впишите в этот файл имена файлов, которые должны запускаться после подъема всех устройств (в т.ч. и сетевых интерфейсов).
Например, Если хотим законнектиться к провайдеру, то вписываем название нашего соединения inet (или как он у вас называется в каталоге /etc/ppp/peers/inet)

Важно знать!
Когда мы делаем 'pptp-command start', то сначала устанавливается туннель pptp между моим компом и сервером провайдера, а поверх этого туннеля запускается демон pppd (он думает, что работает с модемом). Для управления соединением, pppd берет необходимые ему параметры из файла /etc/ppp/options.pptp, Но если каких-то параметров ему не хватает в этом файле, то демон смотрит в свой "родной" файл /etc/ppp/options и берет недостающее из него.
Чтобы не путаться, в каком файле, какие параметры, я все параметры слил в options.pptp и указал в нем, чтобы демон pppd не лазил за параметрами в options. Это делает строка:

#pty "/usr/sbin/pptp 192.168.2.1 --nolaunchpppd"

Без диеза НЕ работает! Двойные кавычки обязательно!
Таким образом, параметры для соединения будут браться только из одного файла.
Приведу описание наиболее употребительных параметров (но не всех):

lock - попросить pppd блокировать последовательное устройство, используемое для соединения, для эксклюзивного использования
noauth - не требовать аутентификации от сервера, это сервер аутентифицирует нас
nobsdcomp - стоп компрессия
nodeflate - устанавливаем метод сжатия пакетов в 0
idle N– параметр, который определяет время в секундах N, в течение которых держится соединение в отсутствие активности. Я устанавливаю 86400 (24 часа), т.е. если меня нет за компом 24 часа, то соединение можно разорвать.
lcp-echo-interval N – этот параметр задает интервал времени в секундах N, через который посылать эхо-запросы серверу для проверки соединения. Я устанавливаю 60. Пробовал ставить 1 секунду – сеть начинает сильно лагать.
lcp-echo-failure N - этот параметр связан с предыдущим - после N неудачных запросов разорвать соединение. Я устанавливаю 10, потому что у провайдера тоже бывают проблемы и если установить например «1», то глупо рвать соединение после потери первого эхо-запроса.
persist – параметр, который создан для автоматического подъема соединения, в случае разрыва. Он работает НЕ корректно. Я его закоментировал, поэтому нижеследующие параметры теряют смысл
maxfail N- прекратить попытки автосоединения после N неудач
holdoff N- подождать N секунд после разрыва соединения перед повторным соединением
connect /bin/true - если это не указать, параметр holdoff игнорируется

Итак, вот мои 2 конфигурационных файла с параметрами для соединения pptp (демон pppd):
______________________________________
#Содержимое файла /etc/ppp/peers/inet
#Вместо цифрового адреса можно указать полный символический адрес, например tvpn.telepuzik.net
#Узнать Server IP своего провайдера можно, пинганув его командой: ping tvpn или ping tvpn.telepuzik.net,
#при условии, что у вас все правильно в resolv.conf
#Перед следующими двумя строками диезы не убирать, без диезов не работает
# Server IP: 192.168.7.254
# Route: add default TUNNEL_DEV
name Artur009
remotename PPTP
file /etc/ppp/options.pptp
______________________________________
Прочитав последнюю строчку, демон смотрит сюда:
______________________________________
#содержимое файла /etc/ppp/peers/options.pptp

#pty "/usr/sbin/pptp 192.168.2.1 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
idle 86400
#persist
#maxfail 5000
#holdoff 10
#connect /bin/true
lcp-echo-interval 60
lcp-echo-failure 10
#mppe-40
#mppe-128
#mppe-stateless
mtu 1000
mru 1000

Все эти знания я почерпнул из форумов и ковырянием файлов настроек.
Но у меня остался один проблемный вопрос, который я хотел бы задать профессионалам.
Почему, сразу после разрыва соединения командой ‘pptp-command stop inet’ и попыткой последующего установления соединения командой ‘pptp-command start inet’ у меня поднимается интерфейс ppp1 вместо ppp0? И это является критическим явлением при раздаче Интернета в мою локальную сеть, потому что файервол настроен на раздачу Интернета с единственного интерфейса ppp0.
Гуру, gosu, профи! Как решить проблему? Как убить демона pppd сразу после команды ‘pptp-command stop inet’? Ибо, если сразу после нее сделать: kill pppd, то при установлении соединения поднимается ppp0.
Где ковырять?
Go to the top of the page
 
+Quote Post
dmitry-p
сообщение Nov 27 2008, в 15:06
Сообщение #17


Прохожий
Иконка группы

Сообщений: 3

Вставить имя   :   Цитата

Группа: Участники

Небольшое уточнение:
для автозапуска pptp при загрузке компа в файле /etc/init.d/after.local надо написать:
pptp-command start inet
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Nov 27 2008, в 18:17
Сообщение #18


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

dmitry-p
Спасибо за толковый расшар, если у меня что сломается (или когда надумаю переставлять линуху, благо 11.1 не за горами), я обращусь к этому материалу.
А насчёт /etc/init.d/after.local попробую дома, попозже. Спасибо.
Go to the top of the page
 
+Quote Post
sarutobi
сообщение Nov 27 2008, в 19:27
Сообщение #19


Добрость и скромнота
Иконка группы

Сообщений: 685

Вставить имя   :   Цитата

ОС: openSuSE 11.0 FreeBSD 6.2

Группа: Участники

Цитата(dmitry-p @ Nov 27 2008, в 14:48) *
Но у меня остался один проблемный вопрос, который я хотел бы задать профессионалам.
Почему, сразу после разрыва соединения командой ‘pptp-command stop inet’ и попыткой последующего установления соединения командой ‘pptp-command start inet’ у меня поднимается интерфейс ppp1 вместо ppp0? И это является критическим явлением при раздаче Интернета в мою локальную сеть, потому что файервол настроен на раздачу Интернета с единственного интерфейса ppp0.
Гуру, gosu, профи! Как решить проблему? Как убить демона pppd сразу после команды ‘pptp-command stop inet’? Ибо, если сразу после нее сделать: kill pppd, то при установлении соединения поднимается ppp0.
Где ковырять?


Код
pppd call inet
#содержимое файла /etc/ppp/peers/options.pptp

pty "/usr/sbin/pptp 192.168.2.1 --nolaunchpppd"
updetach

?


--------------------
We're going back to the time we knew under a violet moon !
Go to the top of the page
 
+Quote Post
dmitry-p
сообщение Nov 29 2008, в 18:53
Сообщение #20


Прохожий
Иконка группы

Сообщений: 3

Вставить имя   :   Цитата

Группа: Участники

Попробовал updetach - ничего не изменилось. При разрыве соединения демон pppd остается висеть в процессах.
Вот, нашел описание updetach:
http://74.125.77.132/search?q=cache:OmgxGH...lient=firefox-a

Я пошел другим путем, и проблему свою решил.
Из-под рута открыл файл /usr/sbin/pptp-command
В конце этого большого файла нашел строки:
CODE
#stop
#
#this does work old pptp-stop
sub stop() {
Rotate$resolv,$resolv_real,$resolv_pptp;
print "Send HUP signal to PPTP processes...\n";
'killall -HUP pptp'


и дописал
CODE
'killall -HUP pptp pppd'


И все.
Go to the top of the page
 
+Quote Post
sarutobi
сообщение Nov 29 2008, в 19:25
Сообщение #21


Добрость и скромнота
Иконка группы

Сообщений: 685

Вставить имя   :   Цитата

ОС: openSuSE 11.0 FreeBSD 6.2

Группа: Участники

Вы не совсем верно поняли мой совет. Я предложил раскомментировать строку `pty "/usr/sbin/pptp 192.168.2.1 --nolaunchpppd"`, добавить опцию updetach (она переводит pppd в режим демона) и выполнять подключение не командой pptp-command start inet а pppd call inet. В этом случае демон pppd прекращает свою работу сразу же по разрыву соединения. У меня описываемый вариант работал около года, пока не купил железный роутер с поддержкой VPN.


--------------------
We're going back to the time we knew under a violet moon !
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Dec 8 2008, в 04:26
Сообщение #22


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

dmitry-p
Только сейчас дошли руки опробовать этот after.local. Спасибо, в основном, работает. (После ifdown eth0 / ifup eth0, конечно же, VPN не восстанавливается, но на это я уже забил...)
Есть ещё одна маленькая досада. При перезагрузке компа начало появляться некое сообщение об ошибке:
Цитата
Shutting down network interfaces:
eth0 device: D-Link System Inc RTL8139 Ethernet (rev 10)
done ppp0
No configuration found for ppp0
Nevertheless the interface will be shut down.
scripts/ifdown-ppp: line 110: /usr/sbin/smpppd-ifcfg: No such file or directory
failed to bring interface ppp0 down
failedShutting down service network . . . . . . . . . . . . . . .done

Что это, буду потихонечку разбираться. Или, может, добрые люди подскажут. ;-)))

Для справки: в /etc/init.d/after.local у меня всего одна строчка:
Код
/etc/ppp/ip-up.d/telecomon

- путь к скрипту, который добавляет route-ы и делает pptp-command start.
Go to the top of the page
 
+Quote Post
Minton
сообщение Dec 8 2008, в 11:20
Сообщение #23


openSUSE Localization Team
Иконка группы

Сообщений: 1150

Вставить имя   :   Цитата

ОС: openSUSE 11.1 x86-64
Город: Санкт-Петербург

Группа: Участники

Это просто система ищет файл, в котором было бы прописано, как корректно зашатдаунить интерфейс ppp0. Ибо для eth0 такой есть, а для остальных - нет. И жалуется, дескать, я его всё равно опущу, но если что не так - извиняйте, хозяин...


--------------------
Йоды магистра речи тайна раскрыта: оказывается, на форте программист старый есть он просто!

"Настоящие мужчины используют поиск" ©Goodvin
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Dec 8 2008, в 18:14
Сообщение #24


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

Minton
Да это и так понятно. У меня даже есть соответствующий скрипт "telecomoff", который корректно выключает VPN, но куда его воткнуть или, так же, как и с этим - ссылку прописать, - я ещё не разбирался.
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Dec 18 2008, в 18:10
Сообщение #25


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

В общем, так. Решение проблем, если это кому-то ещё интересно. Недавно сидел и копался в Линухе, и вот хочу представить результаты своих полуночных бдений:
1) Ошибка
Цитата
scripts/ifdown-ppp: line 110: /usr/sbin/smpppd-ifcfg: No such file or directory
failed to bring interface ppp0 down

Появляется и без прописывания в after.local моего скрипта, и появлялась, судя по всему, и раньше, просто я не обращал на неё внимания. Лечится установкой пакета "smpppd" (за каким-то лешим).

2) Поэкспериментировав со скриптами /etc/init.d/network и /sbin/ifup, разобрался, почему мой VPN не запускается при подъёме eth0, в случае если скритп подъёма VPN (в моём случае "telecom") поместить в папку /etc/sysconfig/network/if-up.d
Всё это из-за того, что у меня локальная сеть настроена (и _должна_ быть настроена) с DHCP (в скрипте /sbin/ifup в строчке 1232 стоит
Код
"$BOOTPROTO" != dhcp
) . Так что увы.

3) Тем не менее, при опускании карточки папка /etc/sysconfig/network/if-down.d обрабатывается, поэтому туда я поместил скрипт, отключающий VPN за мгновения до смерти сети:
Код
#!/bin/sh
#
# pptp
if [ "$1" == "eth0" ]; then
    pptp-command stop
    ifdown ppp0
fi
exit 0

Раньше перед ifdown ppp0 стояло ещё sleep 2, но и без него всё нормально работает.

4) Насчёт
Цитата
No configuration found for ppp0
Nevertheless the interface will be shut down.

Убирается с глаз долой путём копирования файла /etc/sysconfig/network/ifcfg.template (или ifcfg-eth0) в /etc/sysconfig/network/ifcfg-ppp0 и удалением из него всего содержимого (оставив только 1 байт :-)). В принципе, можно и что-то наподобие ifcfg-eth0 нацарапать, я сделал так:
Код
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME='VPN (PPTP) MIPT-Telecom'
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='manual'
USERCONTROL='no'

Тоже работает.

5) И последнее. Поместив свой основной запускающий скрипт в /etc/init.d/, заметил, что он появляется в Yast-е в пункте Система -> Системные службы (Runlevel) со статусом "Нет*". Так что думаю, можно его включить и оттуда (вместо того, чтобы прописывать в /etc/init.d/after.local), но экспериментировать уже не стал.
Go to the top of the page
 
+Quote Post
archangelnick
сообщение Jun 14 2009, в 22:28
Сообщение #26


Прохожий
Иконка группы

Сообщений: 1

Вставить имя   :   Цитата

ОС: Suse 11.1
Город: Волгоград

Группа: Участники

Доброго времени суток, я не знаю, был ли тут вопрос, но как можно разрулить 2 интерфейся ppp* и eth0, когда для обоих требуеться gw по дефолту, и главное разное для обоих, если делаешь gw для eth0, то не будет работать интерфейс ppp0, или на оборот, уже который день бьюсь с этим роутингом никак не могу разрулить, их то сеть не работает все пакеты бегут через - ppp0 , то наоборот.

Неплохая модификация скрипта, мне она очень понравилась, самое главное правильно разрулить роутинг, у меня вот некоторые вопросы возникли ты указываешь эти вот хосты, чьи они, а точнее что это за хосты и куда они отправляют пакеты?
Код
route add -host 193.125.142.233 gw $gateway #> /dev/null 2>&1 &                   #vpdn-campus.mipt.ru
    route add -host 192.188.189.3 gw $gateway > /dev/null 2>&1 &                      #gw.mipt.ru
    route add -host 193.125.143.244 gw $gateway > /dev/null 2>&1 &                    #sa4.mipt.ru
    route add -host 193.125.143.173 gw $gateway > /dev/null 2>&1 &                    #ns.mipt.ru
    route add -net 192.188.189.0 netmask 255.255.255.0 gw $gateway > /dev/null 2>&1 & #


Вообщем у меня выходит запарка, никак не могу поднять 2 интерфеся, один из них отвалиться.
Go to the top of the page
 
+Quote Post
Minton
сообщение Jun 14 2009, в 23:12
Сообщение #27


openSUSE Localization Team
Иконка группы

Сообщений: 1150

Вставить имя   :   Цитата

ОС: openSUSE 11.1 x86-64
Город: Санкт-Петербург

Группа: Участники

Так как диапазон адресов для локалки известен априори и легко коротко описывается, логичнее маршрут по умолчанию назначать на ppp0, а все локальные пакеты отправлять на шлюз локалки. А что там у вас за специфические хосты вам могут ответить только участники вашей же сети, мы тут не в курсе smile.gif


--------------------
Йоды магистра речи тайна раскрыта: оказывается, на форте программист старый есть он просто!

"Настоящие мужчины используют поиск" ©Goodvin
Go to the top of the page
 
+Quote Post
DrugVignera
сообщение Jun 15 2009, в 11:34
Сообщение #28


Интересующийся новичок
Иконка группы

Сообщений: 69

Вставить имя   :   Цитата

Группа: Участники

Цитата(archangelnick @ Jun 14 2009, в 23:28) *
Неплохая модификация скрипта, мне она очень понравилась, самое главное правильно разрулить роутинг, у меня вот некоторые вопросы возникли ты указываешь эти вот хосты, чьи они, а точнее что это за хосты и куда они отправляют пакеты?
Код
route add -host 193.125.142.233 gw $gateway #> /dev/null 2>&1 &                   #vpdn-campus.mipt.ru
    route add -host 192.188.189.3 gw $gateway > /dev/null 2>&1 &                      #gw.mipt.ru
    route add -host 193.125.143.244 gw $gateway > /dev/null 2>&1 &                    #sa4.mipt.ru
    route add -host 193.125.143.173 gw $gateway > /dev/null 2>&1 &                    #ns.mipt.ru
    route add -net 192.188.189.0 netmask 255.255.255.0 gw $gateway > /dev/null 2>&1 & #


Если ещё интересно:
route add -host 193.125.142.233 gw $gateway #> /dev/null 2>&1 & #vpdn-campus.mipt.ru
- это локальный адрес, маршрут в локалке до сервака, на котором организован этот чёртов VPN и которые мне выдаёт реальный IP для выхода в Интернет.
Остальные адреса - IP других известных только нам локальных серверов. Как я понимаю, эти маршруты добавляются затем, чтобы трафик до них считался не как внешний, а как локальный. (Вообще говоря, сейчас уже никаких этих маршрутов, кроме первого, добавлять не надо - всё добавляется автоматически DHCP'ом.)
Go to the top of the page
 
+Quote Post

 Reply to this topic Start new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 15th August 2009 - в 00:11

Реклама:

> подшипники для пользователей linux
> Франция для туристов в фотографиях и отзывах
> хотите качественно создать сайт
> купить полиэтиленовые пакеты с логотипом, производство пакетов
> офисный переезд
> элитная сантехника от известных дизайнеров
> пластиковые окна и стеклопакеты от компании РАМокна
> Только у нас элитная недвижимость в Москве для Вас
> компьютерный магазин, продажа ноутбуков
> Топографические, векторные, спутниковые GPS карты на mapsshop.ru
> Купить сотовый телефон на Sotmarket.ru
> именно сейчас продажа кондиционеров лучше не найдете


Нашему форуму сейчас: 5 лет 3 месяца 12 дней.

Рейтинг@Mail.ru liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня SpyLOG