SVN: rc-scripts/trunk: doc/net-scripts.txt sysconfig/interfaces/ifcfg-eth0 sysconfig/network-scripts...
radek
radek at pld-linux.org
Sat Oct 25 20:14:41 CEST 2008
Author: radek
Date: Sat Oct 25 20:14:41 2008
New Revision: 9918
Modified:
rc-scripts/trunk/doc/net-scripts.txt
rc-scripts/trunk/sysconfig/interfaces/ifcfg-eth0
rc-scripts/trunk/sysconfig/network-scripts/ifdown
rc-scripts/trunk/sysconfig/network-scripts/ifup
Log:
- support for automatic 6to4 tunnels
Modified: rc-scripts/trunk/doc/net-scripts.txt
==============================================================================
--- rc-scripts/trunk/doc/net-scripts.txt (original)
+++ rc-scripts/trunk/doc/net-scripts.txt Sat Oct 25 20:14:41 2008
@@ -149,6 +149,9 @@
IPV6_CP_PERSISTENT=yes|no
use EUI-48 addresses as IPv6 addresses
or by default use address specified by IP6_PRIM_IF and REMIP6
+ ENABLE_6TO4=yes|no
+ configure a 6to4 tunnel, if the interface has a public
+ (non-RFC1918) IPv4 address
<anything>=<anything>
Variable name and it's value for use by chat script.
Note: You don't have to define variables here, if they are defined
Modified: rc-scripts/trunk/sysconfig/interfaces/ifcfg-eth0
==============================================================================
--- rc-scripts/trunk/sysconfig/interfaces/ifcfg-eth0 (original)
+++ rc-scripts/trunk/sysconfig/interfaces/ifcfg-eth0 Sat Oct 25 20:14:41 2008
@@ -33,3 +33,6 @@
# sane qdisc
QDISC=sfq
+
+# configure a 6to4 tunnel?
+#ENABLE_6TO4=yes
Modified: rc-scripts/trunk/sysconfig/network-scripts/ifdown
==============================================================================
--- rc-scripts/trunk/sysconfig/network-scripts/ifdown (original)
+++ rc-scripts/trunk/sysconfig/network-scripts/ifdown Sat Oct 25 20:14:41 2008
@@ -59,6 +59,15 @@
fi
fi
+if is_yes "$ENABLE_6TO4"; then
+ tun6to4=tun6to4_$DEVICE
+ /sbin/ip -6 route flush dev $tun6to4 2>/dev/null
+ if [ $? = 0 ]; then # the tunnel has been set up in ifup
+ /sbin/ip link set dev $tun6to4 down
+ /sbin/ip tunnel del $tun6to4
+ fi
+fi
+
if [ -n "$BOOTPROTO" -a "$BOOTPROTO" != "none" -a "$BOOTPROTO" != "static" ]; then
if is_yes "$IPV4_NETWORKING"; then
set_dhcpclient
Modified: rc-scripts/trunk/sysconfig/network-scripts/ifup
==============================================================================
--- rc-scripts/trunk/sysconfig/network-scripts/ifup (original)
+++ rc-scripts/trunk/sysconfig/network-scripts/ifup Sat Oct 25 20:14:41 2008
@@ -216,6 +216,27 @@
/etc/sysconfig/network-scripts/ifup-ipx $DEVICE
fi
+if is_yes "$ENABLE_6TO4"; then
+ # find an usable IPv4 address for this device; might have been obtained by dhcp or ppp
+ for ipv4 in `/sbin/ip addr show dev $DEVICE | awk '/ inet /{print $2}' | sed -e 's,/.*,,'`; do
+ if [ `ipcalc -n $ipv4/8` != "NETWORK=10.0.0.0" \
+ -a `ipcalc -n $ipv4/12` != "NETWORK=172.16.0.0" \
+ -a `ipcalc -n $ipv4/24` != "NETWORK=192.168.0.0" \
+ -a `ipcalc -n $ipv4/24` != "NETWORK=169.254.0.0" ]; then
+ local_ipv4=$ipv4
+ local_ipv6=`printf "2002:%02x%02x:%02x%02x::1" $(echo $ipv4 | tr . ' ')`
+ break
+ fi
+ done
+ if [ -n "$local_ipv4" ]; then # we have an usable IPv4 address; set up the tunnel
+ tun6to4=tun6to4_$DEVICE
+ /sbin/ip tunnel add $tun6to4 mode sit ttl 128 remote any local $local_ipv4
+ /sbin/ip link set dev $tun6to4 up
+ /sbin/ip -6 addr add $local_ipv6/16 dev $tun6to4
+ /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev $tun6to4 metric 1
+ fi
+fi
+
if [ "$HANDLING" = "4" ]; then
exit 0
fi
More information about the pld-cvs-commit
mailing list