aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2002-03-05 21:27:10 +0000
committerBill Nottingham <notting@redhat.com>2002-03-05 21:27:10 +0000
commit35c33a5e249e7c90a80441a99a6b98afed7af241 (patch)
tree0d571647e6071246a0d5738964a70639471187ab
parent2ff1779a53d0eb7ab1ad4492710176acef2a80c0 (diff)
downloadinitscripts-35c33a5e249e7c90a80441a99a6b98afed7af241.tar
initscripts-35c33a5e249e7c90a80441a99a6b98afed7af241.tar.gz
initscripts-35c33a5e249e7c90a80441a99a6b98afed7af241.tar.bz2
initscripts-35c33a5e249e7c90a80441a99a6b98afed7af241.tar.xz
initscripts-35c33a5e249e7c90a80441a99a6b98afed7af241.zip
initial support for setting source addresses (for LVS). may or may not work
-rw-r--r--sysconfig.txt3
-rwxr-xr-xsysconfig/network-scripts/ifup13
2 files changed, 13 insertions, 3 deletions
diff --git a/sysconfig.txt b/sysconfig.txt
index 85109c7e..0b4b7aef 100644
--- a/sysconfig.txt
+++ b/sysconfig.txt
@@ -455,6 +455,7 @@ Files in /etc/sysconfig/network-scripts/
DEVICE=<name of physical device (except dynamically-allocated PPP
devices where it is the "logical name")>
IPADDR=
+ SRCADDR=
NETMASK=
GATEWAY=
ONBOOT=yes|no
@@ -469,6 +470,8 @@ Files in /etc/sysconfig/network-scripts/
file if PEERDNS is not set to "no".
FIREWALL_MODS=yes|no
modify firewall to attempt to allow DNS through. Defaults to 'yes'.
+ SRCADDR=
+ use the specified source address for outgoing packets
If BOOTPROTO is not "none", then the only other item that
must be set is the DEVICE item; all the rest will be determined
diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup
index cd2c2286..678ba257 100755
--- a/sysconfig/network-scripts/ifup
+++ b/sysconfig/network-scripts/ifup
@@ -212,6 +212,13 @@ else
else
SCOPE=
fi
+
+ if [ -n "$SRCADDR" ]; then
+ SRC="src $SRCADDR"
+ sysctl -w "net.ipv4.conf.${REALDEVICE}.arp_filter=1"
+ else
+ SRC=
+ fi
if ! LC_ALL=C ip addr ls ${REALDEVICE} | grep -q "${IPADDR}/${PREFIX}" ; then
if ! ip addr add ${IPADDR}/${PREFIX} \
@@ -227,17 +234,17 @@ else
# Add a route for the subnet. Replace any existing route.
if [ "${ISALIAS}" = no ]; then
- ip route replace ${NETWORK}/${PREFIX} dev ${REALDEVICE}
+ ip route replace ${NETWORK}/${PREFIX} ${SRC} dev ${REALDEVICE}
fi
# Set a default route.
if [ -z "${GATEWAYDEV}" -o "${GATEWAYDEV}" = "${REALDEVICE}" ]; then
# set up default gateway
if [ -n "${GATEWAY}" -a "`ipcalc --network ${GATEWAY} ${NETMASK} 2>/dev/null`" = "NETWORK=${NETWORK}" ]; then
- ip route add default via ${GATEWAY}
+ ip route add default via ${GATEWAY} ${SRC}
DEFGW=${GATEWAY}
elif [ "${GATEWAYDEV}" = "${DEVICE}" ]; then
- ip route add default dev ${REALDEVICE}
+ ip route add default ${SRC} dev ${REALDEVICE}
fi
fi
fi