[erledigt] ppp-route über ip-up in separate routingtabelle

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
frankw
Beiträge: 154
Registriert: 24.10.2018 11:34:33

Re: ppp-route über ip-up in separate routingtabelle

Beitrag von frankw » 25.01.2019 07:20:40

bluestar hat geschrieben: ↑ zum Beitrag ↑
24.01.2019 22:53:57
Wann hattest du eigentlich vor zu erwähnen, dass du hier irgendein Ein-Platinen-System, dem Hostname nach einen "Banana Pi R2" verwendest?
ist richtig, hätte nicht gedacht, dass das relevant ist, da ich ja geschrieben habe, dass ich den Kernel selbst baue

das ist meine defconfig: https://github.com/frank-w/BPI-R2-4.14/ ... _defconfig

habe bei mir local zusätzlich

Code: Alles auswählen

IP_ADVANCED_ROUTE=y
IP_MULTIPLE_TABLES=y
brauche ich noch irgendwelche Kerneloptionen für policy-routing mit load-balancing?

prinzipiell sollte es aber möglich sein, die default-route in der Mainliste (als Fallback) und einer zusätzlichen zu haben, oder?

edit:

habe das jetzt mal auf meiner Testbüchse probiert (halt mit ner bridge statt ppp):

Code: Alles auswählen

root@bpi-r2:~# ip route add default dev br0 table bambit
root@bpi-r2:~# ip route show table bambit
default dev br0 scope link
root@bpi-r2:~# ip route add default dev br0 table telekom
root@bpi-r2:~# ip route show table telekom
default dev br0 scope link
root@bpi-r2:~# ip route show table bambit
default dev br0 scope link
klappt soweit...lag also an dieser Kernel-Option, dass keine Route in die Tabelle geschrieben wurde...nur komisch dass kein Fehler á la unsupported oder invalid kam

frankw
Beiträge: 154
Registriert: 24.10.2018 11:34:33

Re: ppp-route über ip-up in separate routingtabelle

Beitrag von frankw » 26.01.2019 14:29:29

habe es jetzt erfolgreich hinbekommen

der Kern des ip-up-scripts (/etc/ppp/ip-up.d/update_route) ist das:

Code: Alles auswählen

PPP_LOCAL=$4
PPP_REMOTE=$5
PPP_IFACE=$1
ip route flush table telekom
ip route add $PPP_REMOTE/32 dev $PPP_IFACE src $PPP_LOCAL table telekom
ip route add default dev $PPP_IFACE table telekom
ip route show table telekom

Code: Alles auswählen

[14:22] root@bpi-r2-e:/var/lib/lxc (617)# 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 
217.0.116.200 dev ppp0 proto kernel scope link src 91.x.78.57 
[14:22] root@bpi-r2-e:/var/lib/lxc (618)# ip route show table telekom
default dev ppp0 scope link 
217.0.116.200 dev ppp0 scope link src 91.x.78.57 
[14:22] root@bpi-r2-e:/var/lib/lxc (619)# ip route show table bambit
default dev lan0 scope link 
[14:22] root@bpi-r2-e:/var/lib/lxc (620)# 
wie man sieht, kann die gleiche route auch in mehreren Routing-Tabellen drin sein

zum testen habe ich mir das script hier gebastelt:

Code: Alles auswählen

#!/bin/bash
IP=8.8.8.8
T=telekom

if [[ "$#" -ge 1 ]];then
  T=$1
  if [[ "$#" -ge 2 ]];then
    if [[ $2 =~ ^[0-9.]+$ ]];then
    IP=$2
    else
    IP=$(host $2 | grep "has address" | sed -e 's/^.* \([0-9.]\+\)$/\1/');
    fi
  fi
fi

echo $IP $T
if [[ ! "$T" == "" ]];
then
  ip rule add to $IP table $T
  ping $IP
  ip rule del to $IP table $T
fi
damit kann ich jetzt die tabellen testen...normaler ping geht (über die Maintable), mein pingover über die telekom geht auch und über bambit nicht, da dort alles zum lan0 rausgeht, wo es zum lan und nicht ins internet geht ;)

auch habe ich die option defaultroute in /etc/ppp/peers/dsl-provider wieder drin (damit der normale lan-verkehr über die Maintable funktioniert)

Antworten