LINUX.ORG.RU
ФорумAdmin

Как поднять настройки kppp в чистом pppd (с консоли)


0

0

Всем- здравствуйте. Если не в тему- просьба модератора перенести топ. В общих чертах такая проблема: после обновления 26 ядра (Debian Sid) легли X-ы (не спрашивайте как- сам дурак:) ) До этого под X-ами kppp работал и под рутом и под юзером. все отлично. Сохранились все конфиги и настройки. По сути kppp- всего лишь GUI для pppd Вопрос: как с консоли (от рута) запустить pppd? точнее какую команду надо дать чтоб pppd поднял конфиги kppp. в мане написано что можно заюзать файл-конфиг. все перепробывал. ничего не получается..


Ответ на: комментарий от anon_666

Именно модем. SkyLink AnyDaData. С самой настройкой модема проблем нет. Кому нужно - могу поделиться опытом (хотя там все просто до безобразия интересует именно ppp-интерфейс

nakano
() автор топика
Ответ на: комментарий от anon_666

в /etc/ppp/peers у меня 2 файла файл kppp-options: одна строка noauth

второй - provider

# example configuration for a dialup connection authenticated with PAP or CHAP # # This is the default configuration used by pon(1) and poff(1). # See the manual page pppd(8) for information on all the options.

# MUST CHANGE: replace myusername@realm with the PPP login name given to # your by your provider. # There should be a matching entry with the password in /etc/ppp/pap-secrets # and/or /etc/ppp/chap-secrets. user «myusername@realm»

# MUST CHANGE: replace ******** with the phone number of your provider. # The /etc/chatscripts/pap chat script may be modified to change the # modem initialization string. connect «/usr/sbin/chat -v -f /etc/chatscripts/pap -T ********»

# Serial device to which the modem is connected. /dev/modem

# Speed of the serial line. 115200

# Assumes that your IP address is allocated dynamically by the ISP. noipdefault # Try to get the name server addresses from the ISP. usepeerdns # Use this connection as the default route. defaultroute

# Makes pppd «dial again» when the connection is lost. persist

# Do not ask the remote to authenticate. noauth

Настраивал kppp 4 года назад.. подзабылось..

nakano
() автор топика

А какой профит юзать чисто pppd без pptp-linux? Cконфигурил все и делаю 'pon <prov_name>'. или через kvpnc

bk_ ★★
()
Ответ на: комментарий от anon_666

спасибо! очень помогло! :) осталась только одна беда. авторизация. Попробую сам допилить.

nakano
() автор топика
Ответ на: комментарий от anon_666

во блин! теперь выдает ошибку: Can't execute /etc/ppp/ip-up: Invalid argument

Вот вывод pppd (все IP провайдера - динамика):

pppd 2.4.4 started by root, uid 0
PPP generic driver version 2.4.2
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x9306275>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0xa4323548>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MD5> <magic 0xa4323548>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x9306275>]
sent [LCP EchoReq id=0x0 magic=0x9306275]
rcvd [CHAP Challenge id=0x1 <c8feaa7ac4da453db829b8f7d64814e6>, name = "el586-pdsn0"]
sent [CHAP Response id=0x1 <71067006620b783474d4118afde69108>, name = "mobile"]
rcvd [LCP EchoRep id=0x0 magic=0xa4323548]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
CHAP authentication succeeded
PPP BSD Compression module registered
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <addr 77.244.160.81>]
sent [IPCP ConfAck id=0x1 <addr 77.244.160.81>]
PPP Deflate Compression module registered
rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 <addr 77.244.165.127> <ms-dns1 77.244.161.57> <ms-dns3 77.244.160.57>]
sent [IPCP ConfReq id=0x3 <addr 77.244.165.127> <ms-dns1 77.244.161.57> <ms-dns3 77.244.160.57>]
rcvd [IPCP ConfAck id=0x3 <addr 77.244.165.127> <ms-dns1 77.244.161.57> <ms-dns3 77.244.160.57>]
local  IP address 77.244.165.127
remote IP address 77.244.160.81
primary   DNS address 77.244.161.57
secondary DNS address 77.244.160.57
Can't execute /etc/ppp/ip-up: Invalid argument 

Вот собственно /etc/ppp/ip-up (почти все закоментированно):

#!/bin/sh
#
# This script is run by the pppd after the link is established.
# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
# set IP address, run the mailq etc. you should create script(s) there.
#
# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
# after that package), so choose local script names with that in mind.
#
# This script is called with the following arguments:
#    Arg  Name                          Example
#    $1   Interface name                ppp0
#    $2   The tty                       ttyS1
#    $3   The link speed                38400
#    $4   Local IP number               12.34.56.78
#    $5   Peer  IP number               12.34.56.99
#    $6   Optional ``ipparam'' value    foo

# The  environment is cleared before executing this script
# so the path must be reset
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH

# These variables are for the use of the scripts run by run-parts
##PPP_IFACE="$1"
##PPP_TTY="$2"
##PPP_SPEED="$3"
##PPP_LOCAL="$4"
##PPP_REMOTE="$5"
##PPP_IPPARAM="$6"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM

# as an additional convenience, $PPP_TTYNAME is set to the tty name,
# stripped of /dev/ (if present) for easier matching.
##PPP_TTYNAME=`/usr/bin/basename "$2"`
##export PPP_TTYNAME 

# If /var/log/ppp-ipupdown.log exists use it for logging.
##if [ -e /var/log/ppp-ipupdown.log ]; then
##  exec > /var/log/ppp-ipupdown.log 2>&1
##  echo $0 $*
##  echo
##fi

# This script can be used to override the .d files supplied by other packages.
##if [ -x /etc/ppp/ip-up.local ]; then
##  exec /etc/ppp/ip-up.local "$*"
##fi

##run-parts /etc/ppp/ip-up.d \
##  --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6"

# if pon was called with the "quick" argument, stop pppd
##if [ -e /var/run/ppp-quick ]; then
##  rm /var/run/ppp-quick
##  wait
##  kill $PPPD_PID
##fi  

Я так понимаю что pppd всеж таки устанавливает соединение, а в самом конце - виснет. Может как-то запустить скрипт без ip-up? Вроде где-то видел сообщение про это. Есть у кого какие-нибудь мысли?

nakano
() автор топика
Ответ на: комментарий от nakano

>Я так понимаю что pppd всеж таки устанавливает соединение
Верно.

а в самом конце - виснет.

Нет.

Закомментируйте _всё_ в ip-up, проверьте что он исполняемый.

Чтобы интернет работал, нужно ещё прописать defaultroute в конфиг pppd.

+адреса dns-серверов в /etc/resolv.conf, либо usepeerdns опять же в конфиг pppd.

anon_666
()
Ответ на: комментарий от anon_666

все так и сделал.

в /etc/ppp/options :

ipcp-accept-local
defaultroute
replacedefaultroute
usepeerdns

в /etc/ppp/resolv.conf :

nameserver 77.244.161.57
nameserver 77.244.160.57

в /etc/ppp/peers/cdma (конфиг запуска CDMA модема)

debug
/dev/ttyUSB0
921600
noipdefault
defaultroute
ipcp-accept-local
lcp-echo-interval 60
lcp-echo-failure 5
usepeerdns
nopcomp
noauth
noaccomp
nodetach
user "mobile"
connect "/usr/sbin/chat -s -S -V -t 5 -f /etc/ppp/cdma.chat"

подключается, но ничего даж не пингуется. роутинг?

nakano
() автор топика
Ответ на: комментарий от anon_666

route выдает вот так:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
77.244.160.81   *               255.255.255.255 UH    0      0        0 ppp0
link-local      *               255.255.0.0     U     0      0        0 eth0
default         *               0.0.0.0         U     0      0        0 ppp0 

nakano
() автор топика
Ответ на: комментарий от anonymous

вот с роутингом у меня неочень.. как его (gate) указать? а в конце, кстати,

default         *               0.0.0.0         U     0      0        0 ppp0
разве это не он?

nakano
() автор топика
Ответ на: комментарий от nakano

предварительно естественно route del default

anonymous
()

Посмотри

/etc/wvdial.conf Во всяком случае gnome-ppp лишь гуй к wvdial. Может все настройки там и достаточно сделать #wvdial. Ещё хорошая ссылка, но по 3g http://muhas.ru/?t=3g

kraftello ★★★★★
()

Ещё накопал

etc\wvdial.conf 
---------------------------- 
[Dialer Defaults] 

New PPPD = yes 
Modem = /dev/ttyUSB0 
Baud = 921600 
Phone = #777 
Password = 212345 
Username = 80921064092@people.net.ua 

“” ‘ATZ’ 
‘OK’ ‘AT&F0? 

‘OK’ ‘ATE0V1? 

# List signal quality 
‘OK’ ‘AT+CSQ’ 
‘OK’ ‘ATS7=60? 
‘OK’ ‘ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0? 
OK-AT-OK ATDT#777 
CONNECT \d\c
kraftello ★★★★★
()
Ответ на: комментарий от anon_666

wvdial не нужен

Ето йа знаю. Но нужно людям предлагать простые решения. Решит проблему, будет желание и опции pppd изучит. ТСу: вот хорошее обсуждение и решение проблем с энидата и скайлинк http://archlinux.org.ru/arch_forum/viewtopic.php?f=16&t=2295&p=17580&sid=7e17...

kraftello ★★★★★
()
Ответ на: wvdial не нужен от kraftello

господа, да собственно проблема почти решилась. pppd из консоли поднял. пингую даже самого себя (внешний динамический IP выданый провайдером) только нуружу (например ping ya.ru) не идет. схожусь во мнении что проблема в route. либо проблема в дефолтном гейте либо еще в чем-то. копаю в эту сторону..

nakano
() автор топика
Ответ на: комментарий от nakano

Можно пинать.

Не спец, я конечно. А пров пингуется? Может дело в DNS? У меня такое было, провайдер пинговался, а дальше никак.

kraftello ★★★★★
()
Ответ на: www.yandex.ru (77.88.21.3) от kraftello

Да вот в том-то и дело: на 77.88.21.3 а также на динамически выдаваемый провайдером IP пинги ИДУТ на ура! зато например: ping ya.ru - хост не найден. В чем может быть дело? Господа, у кого такое было, подскажите. Уже неделю бьюсь..

nakano
() автор топика
Ответ на: комментарий от nakano

>Да вот в том-то и дело: на 77.88.21.3 а также на динамически >выдаваемый провайдером IP пинги ИДУТ на ура! зато например: ping ya.ru >- хост не найден. В чем может быть дело?
Пропиши nameserver 8.8.8.8 в /etc/resolv.conf и убери usepeerdns из конфига pppd. Profit.

anon_666
()

Внесу свои пять копеек.

1. Я еще не у одного дистрибутива не встечал адекватных настроек pppd
2. Программа chat рулит. wv-dial и ГУЙ не рулят!
3. Читай man pppd, man chat.
4. Сотри все нафиг из каталога /etc/ppp.
5. Должны пристутствовать следующие файлы: options, chat-script, peers/providername, pap-secrets, chap-secrets, srp-secrets
6. В options: noauth, nodetach, debug.
7. В peers/providername: ttyname ttyUSBX, connect 'chat -f /etc/ppp/chat-script', name login, usepeerdns, defaultroute.
8. Остальные опции не важны. PPPD их сам согласует.
9. Запускаем pppd call providername. Наслаждаемся результатом. Некоторые опции можно и нужно выносить в командную строку. Они имеют более высокий приоритет. Например: pppd ttyUSBYYY login another-login, сall providername.
10. DNS нужно добавлять через скрипт ip-up.
11. Тюним процесс установки PPP-соединения. Стараемся максимально уменьшить количество согласований (смотрим по факту). Тип аутентификации - железно PAP. Отключаем согласование сжатия.
12. Привинчиваем свистелки и перделки. Через полгода успешно забываем.

Демон pppd сначала должен получить октет-ориентированный асинхронный канал. В твоем случае через /dev/ttyUSBX. Затем (в твоем случае) он должен его перевести из командного режима в режим PPP через connect 'chat -f ...'. В случае PPTP или PPPoE это делают соответствующие хелперы.

Я не очень хорошо знаю как должны инициализироваться CDMA-модемы. ИМХО сhat-script должен быть примерно такой: " AT OK ATD#777. Или вообще " ATD#777. Потом навершень себе рюшек типа ABORT, SAY и т.п. man chat, короче.

Macil ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.