use table 100 for source routing

This commit is contained in:
Andreas Steffen
2007-08-03 10:05:15 +00:00
parent 404d3ba58e
commit f6f55adb3a
+22 -10
View File
@@ -131,7 +131,16 @@ FAC_PRIO=local0.notice
# the syslog configuration file /etc/syslog.conf: # the syslog configuration file /etc/syslog.conf:
# #
# local0.notice -/var/log/vpn # local0.notice -/var/log/vpn
# in order to use source IP routing the Linux kernel options
# CONFIG_IP_ADVANCED_ROUTER and CONFIG_IP_MULTIPLE_TABLES
# must be enabled
# #
# special routing table for sourceip routes
SOURCEIP_ROUTING_TABLE=100
#
# priority of the sourceip routing table
SOURCEIP_ROUTING_TABLE_PRIO=100
# check interface version # check interface version
case "$PLUTO_VERSION" in case "$PLUTO_VERSION" in
@@ -218,23 +227,26 @@ doroute() {
parms1="$PLUTO_PEER_CLIENT" parms1="$PLUTO_PEER_CLIENT"
parms2= if [ -n "$PLUTO_NEXT_HOP" ]
if [ -n "$KLIPS" ]
then then
if [ -n "$PLUTO_NEXT_HOP" ] parms2="via $PLUTO_NEXT_HOP"
then
parms2="via $PLUTO_NEXT_HOP"
fi
else else
parms2="via $PLUTO_ME" parms2="via $PLUTO_PEER"
fi fi
parms2="$parms2 dev $PLUTO_INTERFACE" parms2="$parms2 dev $PLUTO_INTERFACE"
parms3= parms3=
if test "$1" = "add" -a -n "$PLUTO_MY_SOURCEIP" if [ -n "$PLUTO_MY_SOURCEIP" ]
then then
addsource if test "$1" = "add"
parms3="$parms3 src ${PLUTO_MY_SOURCEIP%/*}" then
addsource
if [ `ip rule list | grep "lookup ${SOURCEIP_ROUTING_TABLE}" | wc -l` -eq 0 ]
then
ip rule add pref ${SOURCEIP_ROUTING_TABLE_PRIO} table ${SOURCEIP_ROUTING_TABLE}
fi
fi
parms3="$parms3 src ${PLUTO_MY_SOURCEIP%/*} table ${SOURCEIP_ROUTING_TABLE}"
fi fi
case "$PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK" in case "$PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK" in