LINUX.ORG.RU
ФорумAdmin

[slackware] как запустить скрипт после переподключения pppoe ?

 


0

0

Slackware 13
к интернету подключение через PPPoE ( rp-pppoe 3.10 ), запускается через pppoe-start , нужно чтобы после обрыва и восстановления сессии ppp выполнялся скрипт

в rp-pppoe есть вариант запуска только при отключении ppp (скрипт pppoe-lost)
скрипты /etc/ppp/if-up (/etc/ppp/if-down вероятно тоже) почему то не работают,
через /etc/ppp/firewall-[standalone,masq] тоже,
в слаке нет скриптов /etc/network/[if-down.d,if-post-down.d,if-pre-up.d,if-up.d] .

как вариант пока использую велосипедного демона, который смотрит за сменой IP адреса на ppp0 и если он сменился - запускает нужный скрипт, но может есть нормальное решение?

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

Странно. А права на нём правильные? И он точно вообще не запускается, может просто неправильно работает?

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

root.root
mode 755 (-rwxr-xr-x)

оно не запускается
сделала скрипт

/etc/ppp/ip-up.d:#cat 00-hello
#!/bin/sh
/bin/date > /tmp/hello

он не сработал, как и все остальное, скрипты вообще правильно работают, если их с консоли запускать

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

#/usr/sbin/pppd pty /tmp/pp noipdefault noauth default-asyncmap defaultroute hide-password nodetach mtu 1492 mru 1492 noaccomp nodeflate nopcomp novj novjccomp user ptn lcp-echo-interval 20 lcp-echo-failure 2 debug 2

speed 2 not supported
using channel 6
Using interface ppp0
Connect: ppp0 <--> /dev/pts/0
sent [LCP ConfReq id=0x1 <mru 1492> <magic 0x1a826a9c>]
rcvd [LCP ConfReq id=0xb7 <mru 1492> <auth pap> <magic 0x4125d941>]
sent [LCP ConfAck id=0xb7 <mru 1492> <auth pap> <magic 0x4125d941>]
rcvd [LCP ConfAck id=0x1 <mru 1492> <magic 0x1a826a9c>]
sent [LCP EchoReq id=0x0 magic=0x1a826a9c]
sent [PAP AuthReq id=0x1 user=<hidden> password=<hidden>]
rcvd [LCP EchoRep id=0x0 magic=0x4125d941]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
rcvd [LCP ProtRej id=0xb8 80 fd 01 01 00 07 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfNak id=0x1 <addr IPADDR>]
sent [IPCP ConfReq id=0x2 <addr IPADDR>]
rcvd [IPCP ConfAck id=0x2 <addr IPADDR>]
rcvd [IPCP ConfReq id=0x82 <addr IPADDRGW>]
sent [IPCP ConfAck id=0x82 <addr IPADDRGW>]
Cannot determine ethernet address for proxy ARP
local IP address IPADDR
remote IP address IPADDRGW

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

Может при сборке pppd были заданы какие-то нестандартные пути до скриптов? Больше у меня версий нет.

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

pppd 2.4.4
судя по слакбилду ничего нестандартного там не задано

./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc

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

Ну натравите на pppd strace.

А скрипты из /etc/ppp/ip-up.d, вроде, вызывались не pppd, а правильным скриптом /etc/ppp/ip-up.

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

вообщем /etc/ppp/ip-up вызывается,
но сложнее
/bin/date > /tmp/hello
туда ничего не написать, вот такой скрипт например не выполняет

#!/bin/sh

# $1 - if
# $2 - dev
# $3 - ???
# $4 - IPADDR
# $5 - REMOTE GW

# Clean everything and set propersysctl values
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT
/sbin/route del default
/sbin/route del default
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $i
done
fi
for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $i
done
# Set up routes
route add default dev $1
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o $2 -j SNAT --to-source $4

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

нда, просто с PATH были проблемы, выставила в скрипте нормальный

от "велосипеда" можно избавиться

#kill -9 `pidof ipservice_ppp0`


всем спасибо.

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