[Berlin-wireless] FFF Defaultroute

tetzlav tetzlav
Fr Mär 23 18:12:53 CET 2007


Sven-Ola Tuecke schrieb:
> prinizipiell hast du recht - diese Option fehlt. Steht irgendwo auf meiner 
> Todo. 

Ich hab das in nem ähnlichen Fall Quick&Dirty so gemacht:

Wenn ff_dyngw!=1 wird mit "ifup wan" der udhcpc mit einem anderen script
gestartet

------------------8<---------------
    dhcp)
        pidfile=/var/run/${if}.pid
        if [ -f $pidfile ]; then
            kill $(cat $pidfile)
        fi
        ip link set dev $if up
        if [ "$type" = "wan" ] && [ "$(nvram get ff_dyngw)" != "1" ]; then
            udhcpc -i $if -b -p $pidfile -s
/usr/share/udhcpc/wan_special.script &
        else
            udhcpc -i $if -b -p $pidfile &
        fi
    ;;
------------------>8---------------

dieses schiebt die WAN-default-Route in table 2 und sorgt dafür _nur_
das LAN erst table 2 durchläuft

------------------8<---------------
        renew|bound)
                ip addr add dev $interface \
                  $ip${subnet:+/$(ipcalc -p $ip $subnet|cut -d'=' -f2)} \
                  ${broadcast:+broadcast $broadcast}

                if [ -n "$router" ] ; then
                        echo "deleting routers table 0"
                        while ip route del default dev $interface ; do
                                :
                        done

                        echo "deleting routers table 2"
                        while ip route del table 2 default dev
$interface ; do
                         :
                        done

                        echo "setting routers table 2"
                        for i in $router ; do
                                ip route add table 2 default via $i dev
$interface
                        done
                       
                        echo "setting routing table 2"
                        iptables -t mangle -D PREROUTING -i $LANDEV -s
$LANNET/$LANPRE ! -d $WIFINET/$WIFIPRE -j MARK --set-mark 2
                        iptables -t mangle -I PREROUTING -i $LANDEV -s
$LANNET/$LANPRE ! -d $WIFINET/$WIFIPRE -j MARK --set-mark 2
                        ip rule del fwmark 2 table 2 prio 1
                        ip rule add fwmark 2 table 2 prio 1
                fi

                echo -n > $RESOLV_CONF
                ${domain:+echo search $domain >> $RESOLV_CONF}
                for i in $dns ; do
                        echo adding dns $i
                        echo nameserver $i >> $RESOLV_CONF
                done
                ;;
------------------>8---------------

kann man sicherlich verfeinern vor allem sauberer implementieren und
dann in ff-devel übernehmen...


Gruß
tetzlav


_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin





Mehr Informationen über die Mailingliste Berlin