so wie es aussieht wird trotz angabe der ziel-routing-tabelle immer die main-table verwendet
Code: Alles auswählen
[19:04] root@bpi-r2-e:~ (555)# /usr/local/bin/ppp_ipup.sh
+ ip route show
+ grep ppp
default dev ppp0 scope link
217.0.116.200 dev ppp0 scope link src 91.x.92.243
++ ip addr show ppp0
++ grep 'inet '
++ sed -e 's/^.*inet \([0-9.]\+\) peer \([0-9.]*\+\).* \([a-z0-9]\+\)$/\3 tty 9600 \1 \2/'
+ ifdata='ppp0 tty 9600 91.x.92.243 217.0.116.200'
++ ip addr show ppp0
++ grep 'inet '
++ sed -e 's/^.*inet \([0-9.]\+\) peer \([0-9.]*\+\).* \([a-z0-9]\+\)$/\2 dev \3/'
+ deldata='217.0.116.200 dev ppp0'
+ echo ppp0 tty 9600 91.x.92.243 217.0.116.200
ppp0 tty 9600 91.x.92.243 217.0.116.200
+ echo 0
0
+ echo 217.0.116.200 dev ppp0
217.0.116.200 dev ppp0
+ echo 0
0
+ ip route del default
+ echo 0
0
+ ip route del 217.0.116.200 dev ppp0
+ echo 0
0
+ ip route show
10.0.3.0/24 dev lxcbr0 proto kernel scope link src 10.0.3.1
10.0.8.0/24 via 10.0.8.2 dev tun0
10.0.8.2 dev tun0 proto kernel scope link src 10.0.8.1
192.168.0.0/24 dev lan0 proto kernel scope link src 192.168.0.10
192.168.1.0/24 dev lan1.6 proto kernel scope link src 192.168.1.10 linkdown
192.168.10.0/24 dev ap0 proto kernel scope link src 192.168.10.1
192.168.11.0/24 dev wlan1 proto kernel scope link src 192.168.11.1
192.168.50.0/24 dev lan0 scope link
192.168.200.0/24 dev lan0.10 proto kernel scope link src 192.168.200.10
+ /etc/ppp/ip-up.d/update_route ppp0 tty 9600 91.x.92.243 217.0.116.200
+ set -x
+ PPP_LOCAL=91.x.92.243
+ PPP_REMOTE=217.0.116.200
+ PPP_IFACE=ppp0
+ set -x
+ logfile=/tmp/update_route.log
+ exec
++ tee -a /tmp/update_route.log
++ date '+%Y-%m-%d %H:%M:%S'
+ DATE='2019-01-24 19:04:06'
+ echo '[2019-01-24 19:04:06] update_route params ppp0 91.x.92.243 217.0.116.200...'
[2019-01-24 19:04:06] update_route params ppp0 91.x.92.243 217.0.116.200...
+ ip route flush table telekom
+ ip route add 217.0.116.200/32 dev ppp0 src 91.x.92.243 table telekom
+ echo 0
0
+ ip route add default dev ppp0 table telekom
+ echo 0
0
+ ip route show table telekom
+ echo finish
finish
+ exit 0
+ ip route show
default dev ppp0 scope link
10.0.3.0/24 dev lxcbr0 proto kernel scope link src 10.0.3.1
10.0.8.0/24 via 10.0.8.2 dev tun0
10.0.8.2 dev tun0 proto kernel scope link src 10.0.8.1
192.168.0.0/24 dev lan0 proto kernel scope link src 192.168.0.10
192.168.1.0/24 dev lan1.6 proto kernel scope link src 192.168.1.10 linkdown
192.168.10.0/24 dev ap0 proto kernel scope link src 192.168.10.1
192.168.11.0/24 dev wlan1 proto kernel scope link src 192.168.11.1
192.168.50.0/24 dev lan0 scope link
192.168.200.0/24 dev lan0.10 proto kernel scope link src 192.168.200.10
217.0.116.200 dev ppp0 scope link src 91.x.92.243
man sieht, das Löschen funktioniert, und nach dem Hinzufügen sind die Einträge nicht in der tabelle telekom, sondern wieder in der maintabelle
der erste Teil holt sich die ip-adresse und das Gateway sieht im Script so aus:
Code: Alles auswählen
ifdata=$(ip addr show ppp0 | grep "inet "| sed -e 's/^.*inet \([0-9.]\+\) peer \([0-9.]*\+\).* \([a-z0-9]\+\)$/\3 tty 9600 \1 \2/')
deldata=$(ip addr show ppp0 | grep "inet "| sed -e 's/^.*inet \([0-9.]\+\) peer \([0-9.]*\+\).* \([a-z0-9]\+\)$/\2 dev \3/')
ifdata und deldata sind nur anders zusammengebaut, entsprechend für das jeweilige Format
die "echo 0"-zeilen sind der returncode (echo $?)
per default sind 2 routen über das ppp-interface drin
Code: Alles auswählen
# ip route show |grep ppp
default dev ppp0 scope link
217.0.116.200 dev ppp0 scope link src 91.x.92.243
nach dem löschen der beiden routen (default + gateway mit angabe der quelladresse), fehlen diese natürlich in der hauptliste...das löschen klappt also (sieht man in der mitte ip route show...da ist nichts mehr mit ppp).
benötige ich evtl. eine bestimmte kernel-option, damit ich weitere routingtabellen nutzen kann? da ich den Kernel selber gebaut habe, könnte da evtl. was fehlen
es kommt bei ip route show table telekom schonmal keine Fehlermeldung...wenn ich eine nicht (in /etc/iproute2/rt_tables) definierte routingtablle teste kommt auch ein Fehler
Code: Alles auswählen
[19:04] root@bpi-r2-e:~ (556)# ip route list table telekom2
Error: argument "telekom2" is wrong: table id value is invalid
[19:07] root@bpi-r2-e:~ (557)# grep -v '^#' /etc/iproute2/rt_tables
255 local
254 main
253 default
0 unspec
1 telekom
2 bambit
in meiner /etc/network/interfaces ist der ppp so definiert:
Code: Alles auswählen
auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set lan3 up # line maintained by pppoeconf
provider dsl-provider
und in der /etc/ppp/peers/dsl-provider habe ich jetzt mal die optionen defaultroute und replacedefaultroute mit # auskommentiert...wird vermutlich erst mit der nächsten Zwangstrennung übernommen (hoffe ich), da es scheinbar kein "service pppd restart" gibt
wenn irgendwas noch fehlt, einfach sagen, was...