[devel] поддержка IP-туннелей в net-scripts
Denis Ovsienko
=?iso-8859-1?q?pilot_=CE=C1_dgtu=2Edonetsk=2Eua?=
Сб Авг 30 19:27:40 MSD 2003
Прилагаемое живёт в /etc/sysconfig/network-scripts.
В текущей редакции также необходимо иметь что-нибудь вроде
alias iptun0 ip_ip
alias iptun1 ip_gre
etc...
в /etc/modules.conf, но в процессе написания скриптов для ipsectun я
придумал одно решение, возможно, перенесу его и сюда. Этим скриптам что-то
около года, они работают. Зависимость только на iproute2.
--
DO4-UANIC
----------- следующая часть -----------
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin
cd /etc/sysconfig/network-scripts
. network-functions
IP=/sbin/ip
CONFIG=$1
[ -f "$CONFIG" ] || CONFIG="ifcfg-$1"
source_config
if [ -z "$TUNLOCAL" ]; then
echo "missing TUNLOCAL";
exit 1
fi
if [ -z "$TUNREMOTE" ]; then
echo "missing TUNREMOTE";
exit 1
fi
if [ -z "$PHYSLOCAL" ]; then
echo "missing PHYSLOCAL";
exit 1
fi
if [ -z "$PHYSREMOTE" ]; then
echo "missing PHYSREMOTE";
exit 1
fi
if [ -z "$TTL" ]; then
TTL="inherit"
fi
if [ -z "$TYPE" ]; then
TYPE="ipip"
fi
if [ -z "$REMOTENETMASKLEN" ]; then
REMOTENETMASKLEN=32
fi
if [ "$2" = "boot" -a "$ONBOOT" = "no" ]; then
exit
fi
[ -x "$IP" ] || {
echo "$IP does not exist or is not executable"
echo "ifup-tun for $DEVICE exiting"
logger -p daemon.info -t ifup-tun \
"$IP does not exist or is not executable for $DEVICE"
exit 1
}
$IP tunnel add $DEVICE mode $TYPE local $PHYSLOCAL remote $PHYSREMOTE ttl $TTL
$IP address add $TUNLOCAL peer $TUNREMOTE/$REMOTENETMASKLEN dev $DEVICE
$IP link set dev $DEVICE up
----------- следующая часть -----------
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin
cd /etc/sysconfig/network-scripts
. network-functions
IP=/sbin/ip
CONFIG=$1
[ -f "$CONFIG" ] || CONFIG="ifcfg-$1"
source_config
if [ -z "$TUNLOCAL" ]; then
echo "missing TUNLOCAL";
exit 1
fi
[ -x "$IP" ] || {
echo "$IP does not exist or is not executable"
echo "ifdown-tun for $DEVICE exiting"
logger -p daemon.info -t ifdown-tun \
"$IP does not exist or is not executable for $DEVICE"
exit 1
}
$IP link set dev $DEVICE down
$IP address del $TUNLOCAL dev $DEVICE
$IP tunnel del $DEVICE
----------- следующая часть -----------
DEVICE=iptun0
TUNLOCAL=10.0.0.1
TUNREMOTE=10.0.0.2
# by default
REMOTENETMASKLEN=32
PHYSLOCAL=any
PHYSREMOTE=192.168.0.1
TTL=16
TYPE=ipip
ONBOOT=no
Подробная информация о списке рассылки Devel