Вопрос по xl2tpd (Решено)

Приветствую, по теме: провайдер Corbina-Telecom (сейчас уже слилась в экстазе с Beeline и мимикрировала)
Соединяюсь при помощи xl2tpd (community/xl2tpd 1.2.4-1), читал по вопросу, аж учитался. Работает, но есть вопросы. Пихнул демона в rc.conf,
cat /etc/rc.conf
#
# /etc/rc.conf - Main Configuration for Arch Linux
#
# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
# LOCALE: available languages can be listed with the 'locale -a' command
# HARDWARECLOCK: set to "UTC" or "localtime", any other value will result
#   in the hardware clock being left untouched (useful for virtualization)
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
#
LOCALE="ru_RU.UTF-8"
HARDWARECLOCK="UTC"
TIMEZONE="Europe/Moscow"
KEYMAP="ru"
CONSOLEFONT="cyr-sun16"
CONSOLEMAP=
USECOLOR="yes"
# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed
# MOD_BLACKLIST: Prevent udev from loading these modules
# MODULES: Modules to load at boot-up. Prefix with a ! to blacklist.
#
# NOTE: Use of 'MOD_BLACKLIST' is deprecated. Please use ! in the MODULES array.
#
MOD_AUTOLOAD="yes"
#MOD_BLACKLIST=() #deprecated
MODULES=()
# Scan for LVM volume groups at startup, required if you use LVM
USELVM="no"
# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
#
HOSTNAME="bobart"
# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces.
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
#   - prefix an entry in INTERFACES with a ! to disable it
#   - no hyphens in your interface names - Bash doesn't like it
# 
# DHCP:     Set your interface to "dhcp" (eth0="dhcp")
# Wireless: See network profiles below
#
# Static IP example
# eth0="dhcp"
eth0="dhcp"
INTERFACES=(lo eth0)
# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
#   - prefix an entry in ROUTES with a ! to disable it
#
gateway="default gw 10.123.160.1"
ROUTES=(gateway)
 
# Enable these network profiles at boot-up.  These are only useful
# if you happen to need multiple network configurations (ie, laptop users)
#   - set to 'menu' to present a menu during boot-up (dialog package required)
#   - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network.d
#
# This now requires the netcfg package
#
#NETWORKS=(main)
# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
#   - prefix a daemon with a ! to disable it
#   - prefix a daemon with a @ to start it up in the background
#
DAEMONS=(syslog-ng @network hal @gdm @netfs @crond @alsa @xl2tpd)
Но при загрузке интерфейс не поднимается, убирал xl2tpd из бэкграунда, перемещал в перед hal - без разницы, приходится стопить и запускать заново, тогда поднимается, таким вот макаром:
sudo /etc/rc.d/xl2tpd stop|start
С маршрутами методом тыка и гуглёжа вроде разобрался, на тему удаления и перенаправления ppp0 на gw, убунтовско/дебиановская фича тут не катит: “replacedefaultroute”, короче, костыли, но поддерживают пока.
Вот мои конфиги:
cat /etc/xl2tpd/xl2tpd.conf
[global]
access control = yes
[lac corbina]
lns = tp.internet.beeline.ru
redial = yes
redial timeout = 1
require chap = yes
require authentication = no
name = bobart
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes

cat /etc/ppp/options.xl2tpd
name bobart
remotename tp
ipparam beeline
connect /bin/true
mru 1500
mtu 1500
nodeflate
nobsdcomp
noauth
persist
maxfail 0
nopcomp
noaccomp
defaultroute
#replacedefaultroute #этой строки нету, дописал сейчас, чтобы было понятно откуда она и что она не работает

Ну и самое любопытное:
cat /etc/rc.d/xl2tpd
#!/bin/bash
# general config
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
    start)
        stat_busy "Starting xl2tpd"
        /usr/sbin/xl2tpd
        if [ $? -gt 0 ]; then
            stat_fail
        else
            add_daemon xl2tpd
            stat_done
        fi
        route add -host tp.internet.beeline.ru gw 10.123.160.1  
        route add -host 213.234.192.8 gw 10.123.160.1 
        route add -host 85.21.192.3 gw 10.123.160.1
        sleep 3
        route del default 
        route add default dev ppp0 
        ;;
    stop)
        stat_busy "Stopping xl2tpd"
	[ -f /var/run/xl2tpd.pid ] && kill `cat /var/run/xl2tpd.pid`
        if [ $? -gt 0 ]; then
            stat_fail
        else
	    rm -f /var/run/xl2tpd.pid
            rm_daemon xl2tpd
            stat_done
        fi
        ;;
    restart)
        $0 stop
	sleep 1
        $0 start
        ;;
    *)
        echo "usage: $0 {start|stop|restart}"
	;;
esac
exit 0
Если у кого-то будут мысли, почему не стартует, или как это дело оптимизировать - пишите, буду благодарен.
Вот что пишет, кстати:
[email protected]:~$ sudo /etc/rc.d/xl2tpd stop
:: Stopping xl2tpd                                                                           [DONE] 
[email protected]:~$ sudo /etc/rc.d/xl2tpd start
:: Starting xl2tpd                                                                           [DONE] 
SIOCADDRT: File exists
SIOCADDRT: File exists
SIOCADDRT: File exists
SIOCDELRT: No such process
SIOCADDRT: No such device
[email protected]:~$ 
После чего ppp0 благополучно поднимается.

ps/ daemons.log смотрел, вижу, что что-то там не чисто, но…, пока не буду выкатывать, длинные они), добавлял это в /etc/rc.local:
#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
# PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
PATH=/sbin:/usr/sbin/:/bin:/usr/bin
export PATH
/sbin/route add -host tp.internet.beeline.ru gw 10.123.160.1
/sbin/route add -host 85.21.192.3 gw 10.123.160.1
/sbin/route add -host 213.234.192.8 gw 10.123.160.1
/sbin/route del default
/sbin/route add default dev ppp0
exit 0
- не помогло.., даже подумал, вдруг банально, с уровнями запуска или правами что-то..? Но пока решения нет.
Помогло, вроде, сегодня при загрузке рабочего стола ppp0 уже был.
#
DAEMONS=(syslog-ng network xl2tpd hal @gdm @netfs @crond @alsa)
Иной раз и не знаешь, на прова ли грешить или на свои руки) Думаю, исправило ситуацию “ @network -> network ” - другого объяснения, почему ppp0 не поднимался при загрузке системы не вижу.
Кстати, модераторы, уважаемые, а нельзя-ли эту тему переназвать и пусть она будет (возможно очередным и маловостребованным) HowTo?
Собственно, решение есть, работает, единственно, не уверен я, так сказать, в чистоте скрипта запуска xl2tpd, потому что, меняя местами отдельные строки, а именно команды добавления маршрутов - получал один и тот-же результат. Сейчас он живёт в том виде, в котором приведён у меня. Собственно, к чему тут этот диалог с самим собою? Ну, или - куда это решение ткнуть? Поскольку у меня оно работает, заработает и у других.
Для этого есть вики - коллективная документация. Изучите документацию по вики и оформляйте статьи.
Разберемся, голубчик!
Кстати, я, пока сам не наткнулся на грабли, в вики никто не исправил, кроме меня. В английском было исправлено, а в русском - нет.
Не запускайе демоны в фоновом режиме, если в них нуждаются другие демоны. К примеру, “ppp” зависит от “network”, поэтому запуск “network” в фоновом режиме приведет к тому, что “ppp” просто не запустится.
А никто не знает, как проверить: идет ли передозвон, когда инет обрывается?
Ситуация: в настройках стоит autodial. Пропадает инет, захожу в DC - там люди тоже говорят, что пропал. Потом ребята с виндой рапортуют, что инет появился без рестарта соединения. А у меня не появляется. Делаю poff && pon - тогда только работает!!!
danger86
Кстати, я, пока сам не наткнулся на грабли, в вики никто не исправил, кроме меня. В английском было исправлено, а в русском - нет.
Не запускайе демоны в фоновом режиме, если в них нуждаются другие демоны. К примеру, “ppp” зависит от “network”, поэтому запуск “network” в фоновом режиме приведет к тому, что “ppp” просто не запустится.
cat /etc/rc.conf
# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
#   - prefix a daemon with a ! to disable it
#   - prefix a daemon with a @ to start it up in the background
#
DAEMONS=(syslog-ng network xl2tpd hal @gdm @netfs @crond @alsa)
Вот так.
И еще вопрос по этой же теме: при завершении работы демон network матерится что-то типа
...
:: Stopping Network                                                      [BUSY]
 SIOCDELRT: No such process
                                                                                    [FAIL]
...
куда копнуть?
cdx
куда копнуть?
Копни сюда, сюда: /etc/rc.conf, для начала. Можно ещё копнуть в /etc/group, etc/sudoers..
 
Зарегистрироваться или войдите чтобы оставить сообщение.