решения для перехода
с Windows на Linux
Помощник
![]() |
потом на LinuxForumWiki, alv.me, Rus-Linux.net и Citkit.ru |
|
|
Правила нашего форума · Пользователи · Календарь · Помощь |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#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. Подозреваю, что после решения этих проблем появятся и другие... |
|
|
![]()
Сообщение
#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льцой...©
|
|
|
![]()
Сообщение
#3
|
|
![]() Бывалый ![]() Сообщений: 457 Вставить имя : Цитата ОС: Mac OS X, OpenSuse
Группа: Участники
|
плохо вы искали или не хотели найти того чего вам необходимо
к примеру вот сылочка: http://forum.spnet.ru/showthread.php?t=23679 далее в гугле простой запрос vpn openSuse terminal удачи ну и + ru.opensuse.org ![]() |
|
|
![]()
Сообщение
#4
|
|
![]() Бывалый ![]() Сообщений: 443 Вставить имя : Цитата ОС: SuSE
Группа: Участники
|
плохо вы искали или не хотели найти того чего вам необходимо к примеру вот сылочка: http://forum.spnet.ru/showthread.php?t=23679 далее в гугле простой запрос vpn openSuse terminal удачи ну и + ru.opensuse.org ![]() IMHO: отличный пример того, как делать не надо. и примеров таких - именно "в гугле простой запрос vpn openSuse terminal". -------------------- А форумокъ всёжъ таки с гнiльцой...©
|
|
|
![]()
Сообщение
#5
|
|
Интересующийся новичок ![]() Сообщений: 69 Вставить имя : Цитата
Группа: Участники
|
Спасибо, буду ботать.
Значит, теми файлами (в /etc/ppp/) никак не получится? Жаль. А для чего же они присутствуют в моём дистрибутиве? |
|
|
![]()
Сообщение
#6
|
|
![]() Бывалый ![]() Сообщений: 457 Вставить имя : Цитата ОС: Mac OS X, OpenSuse
Группа: Участники
|
плохо вы искали или не хотели найти того чего вам необходимо к примеру вот сылочка: http://forum.spnet.ru/showthread.php?t=23679 далее в гугле простой запрос vpn openSuse terminal удачи ну и + ru.opensuse.org ![]() IMHO: отличный пример того, как делать не надо. и примеров таких - именно "в гугле простой запрос vpn openSuse terminal". не спорю, возможно и хреновый пример(за 1 минуту больше ни чего и не нашел), здесь уклон к тому что поиском пользоваться все же стоит и надо уметь(и тема уже избита напрочь по поводу впн, а что он написал не смог найти, значит есть какие либо другие мистические факторы), ИМХО - я стобой не соглашусь, а имхо или нет эт уже интимное. з.ы. не будем тему переводить во флейм |
|
|
![]()
Сообщение
#7
|
|
Завсегдатай ![]() Сообщений: 235 Вставить имя : Цитата ОС: openSUSE 11.0, 11.1 Город: Иркутск
Группа: Участники
|
Спасибо, буду ботать. Значит, теми файлами (в /etc/ppp/) никак не получится? Жаль. А для чего же они присутствуют в моём дистрибутиве? Получится. Эти файлы относятся к пакету pptp. Их тоже можно настроить через мастер pptp-command. Если хочется без яста и pptp-command то удаляй пакет pptp и яст и бери в руки книжку по C и компилятор и вперед писать свой pptp клиент. P.S Если нужно подключаться из терминала то вместо kinternet есть консольный cinternet, а так же iскрипты fup и ifdown |
|
|
![]()
Сообщение
#8
|
|
Интересующийся новичок ![]() Сообщений: 69 Вставить имя : Цитата
Группа: Участники
|
Если кому ещё интересно:
http://wiki.telecom.mipt.ru/index.php/Наст...в_OpenSuse_10.3 |
|
|
![]()
Сообщение
#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 -------------------- Фхтагн! Мозг! Ням-ням!
~ Ктулху про Ленина Негром годов преклонных будь хоть я, выучил русский я то за бы, Лёнин нём на разговаривал что. ~ Йода про Лёнина |
|
|
![]()
Сообщение
#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/, но в этом случае, естественно, вообще ничего не происходит. Так как надо правильно сделать? Заранее спасибо за поддержку. |
|
|
![]()
Сообщение
#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 |
|
|
![]()
Сообщение
#12
|
|
Интересующийся новичок ![]() Сообщений: 69 Вставить имя : Цитата
Группа: Участники
|
vovanvster
Когда-то я пробовал что-то подобное, но ничего не вышло. В частности, никакого mtu мне никто не скажет. Получилость только через pptp-command. Менять сейчас ничего не хочу. Цитата Подключаться командой: sudo inet Последний мой вопрос как раз про то, как сделать подключение автоматическим при загрузке компа и поднятии сетевой карточки, безо всяких sudo и ввода рутовских паролей. Для Дебиана описано, как это делается, я верю, что и для openSUSE тоже как-то можно. |
|
|
![]()
Сообщение
#13
|
|
Интересующийся новичок ![]() Сообщений: 69 Вставить имя : Цитата
Группа: Участники
|
Ладно, сейчас скажете, что при включении/отключении сетевой карты всё
равно требуется вмешательство рута. Но это - скорее исключительные
случаи. В основном, интересует автозагрузка, т.е. включил комп - инет
уже есть. Доставай Оперу, и погнали.
![]() |
|
|
![]()
Сообщение
#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 |
|
|
![]()
Сообщение
#15
|
|
Интересующийся новичок ![]() Сообщений: 67 Вставить имя : Цитата ОС: OpenSuSe 10.3, FC8 Город: artb1sh
Группа: Участники
|
а как прикрутить автоподнималку vpn? разрыв каждый час
|
|
|
![]()
Сообщение
#16
|
|
Прохожий ![]() Сообщений: 3 Вставить имя : Цитата
Группа: Участники
|
а как прикрутить автоподнималку 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. Где ковырять? |
|
|
![]()
Сообщение
#17
|
|
Прохожий ![]() Сообщений: 3 Вставить имя : Цитата
Группа: Участники
|
Небольшое уточнение:
для автозапуска pptp при загрузке компа в файле /etc/init.d/after.local надо написать: pptp-command start inet |
|
|
![]()
Сообщение
#18
|
|
Интересующийся новичок ![]() Сообщений: 69 Вставить имя : Цитата
Группа: Участники
|
dmitry-p
Спасибо за толковый расшар, если у меня что сломается (или когда надумаю переставлять линуху, благо 11.1 не за горами), я обращусь к этому материалу. А насчёт /etc/init.d/after.local попробую дома, попозже. Спасибо. |
|
|
![]()
Сообщение
#19
|
|
![]() Добрость и скромнота ![]() Сообщений: 685 Вставить имя : Цитата ОС: openSuSE 11.0 FreeBSD 6.2
Группа: Участники
|
Но у меня остался один проблемный вопрос, который я хотел бы задать профессионалам. Почему, сразу после разрыва соединения командой ‘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 !
|
|
|
![]()
Сообщение
#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' И все. |
|
|
![]()
Сообщение
#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 !
|
|
|
![]()
Сообщение
#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. |
|
|
![]()
Сообщение
#23
|
|
![]() openSUSE Localization Team ![]() Сообщений: 1150 Вставить имя : Цитата ОС: openSUSE 11.1 x86-64 Город: Санкт-Петербург
Группа: Участники
|
Это просто система ищет файл, в котором было бы прописано, как
корректно зашатдаунить интерфейс ppp0. Ибо для eth0 такой есть, а для
остальных - нет. И жалуется, дескать, я его всё равно опущу, но если
что не так - извиняйте, хозяин...
-------------------- Йоды магистра речи тайна раскрыта: оказывается, на форте программист старый есть он просто!
"Настоящие мужчины используют поиск" ©Goodvin |
|
|
![]()
Сообщение
#24
|
|
Интересующийся новичок ![]() Сообщений: 69 Вставить имя : Цитата
Группа: Участники
|
Minton
Да это и так понятно. У меня даже есть соответствующий скрипт "telecomoff", который корректно выключает VPN, но куда его воткнуть или, так же, как и с этим - ссылку прописать, - я ещё не разбирался. |
|
|
![]()
Сообщение
#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), но экспериментировать уже не стал. |
|
|
![]()
Сообщение
#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 интерфеся, один из них отвалиться. |
|
|
![]()
Сообщение
#27
|
|
![]() openSUSE Localization Team ![]() Сообщений: 1150 Вставить имя : Цитата ОС: openSUSE 11.1 x86-64 Город: Санкт-Петербург
Группа: Участники
|
Так как диапазон адресов для локалки известен априори и легко коротко
описывается, логичнее маршрут по умолчанию назначать на ppp0, а все
локальные пакеты отправлять на шлюз локалки. А что там у вас за
специфические хосты вам могут ответить только участники вашей же сети,
мы тут не в курсе
![]() -------------------- Йоды магистра речи тайна раскрыта: оказывается, на форте программист старый есть он просто!
"Настоящие мужчины используют поиск" ©Goodvin |
|
|
![]()
Сообщение
#28
|
|
Интересующийся новичок ![]() Сообщений: 69 Вставить имя : Цитата
Группа: Участники
|
Неплохая
модификация скрипта, мне она очень понравилась, самое главное правильно
разрулить роутинг, у меня вот некоторые вопросы возникли ты указываешь
эти вот хосты, чьи они, а точнее что это за хосты и куда они отправляют
пакеты? Код 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'ом.) |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 15th August 2009 - в 00:11 |
> подшипники для пользователей linux > Франция для туристов в фотографиях и отзывах > хотите качественно создать сайт > купить полиэтиленовые пакеты с логотипом, производство пакетов |
> офисный переезд > элитная сантехника от известных дизайнеров > пластиковые окна и стеклопакеты от компании РАМокна > Только у нас элитная недвижимость в Москве для Вас |
> компьютерный магазин, продажа ноутбуков > Топографические, векторные, спутниковые GPS карты на mapsshop.ru > Купить сотовый телефон на Sotmarket.ru > именно сейчас продажа кондиционеров лучше не найдете |