Beeline (Corbina) VPN - поднятие интернета под Gentoo/old NET config: различия между версиями
Материал из AlexNook
Перейти к навигацииПерейти к поиску
ALEX (обсуждение | вклад) (Новая страница: «{{File|/etc/conf.d/net| <syntaxhighlight lang="bash" line start="1" line="GESHI_FANCY_LINE_NUMBERS" enclose="div"> #настройки моей домашней …») |
ALEX (обсуждение | вклад) |
||
Строка 166: | Строка 166: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
[[Category:Index]] | |||
[[Category:Linux]] |
Текущая версия на 14:37, 13 июля 2014
File: /etc/conf.d/net
#настройки моей домашней сети eth1
dns_domain_lo="homenetwork"
config_eth1="192.168.0.1 netmask 255.255.255.0"
#Настройки билайна
#Есть возможность заменить на openl2tpd и использовать его
L2TP_BACKEND="xl2tpd"
# Таймаут ожидания поднятия l2tp
L2TP_TIMEOUT=20
# Указываете интерфейс, через который будет подниматься vpn (он будет смотреть в локалку билайна). У меня eth0
# Если отличается от указанного - меняете здесь и ниже в 2х строках _eth0 на свой
DEPEND="eth0"
# Указываете интерфейс туннеля
# Если отличается от указанного - меняете здесь и ниже в 2х строках _ppp0 на свой
L2TP="ppp0"
ROUTES="
195.14.50.0/27
78.106.0.0/15
224.0.0.0/4
"
#Поменять eth0 на нужный
config_eth0="dhclient"
#Поменять eth0 на нужный
dhclient_eth0="-nw"
#Поменять ppp0 на нужный
config_ppp0="null"
#Поменять ppp0 на нужный
depend_ppp0() {
need net.${DEPEND}
}
check_module () {
if ! [[ -f /proc/net/pppol2tp ]]; then
ebegin "Loading l2tp module"
# try both new and old module names
modprobe l2tp_ppp 2>/dev/null || modprobe pppol2tp 2>/dev/null
eend $?.
fi
}
checkconfig() {
if [ "${L2TP_BACKEND}" = "xl2tpd" ]; then
if [[ ! -f /etc/xl2tpd/xl2tpd.conf ]] ; then
eerror "Missing /etc/xl2tpd/xl2tpd.conf configuration file!"
eerror "Example configuration file could be found in doc directory."
return 1
fi
if [ ! -d /var/run/xl2tpd ] ; then
checkpath -d -m 755 /var/run/xl2tpd
fi
fi
return 0
}
preup() {
if [ -z "${L2TP_BACKEND}" ]; then
L2TP_BACKEND="xl2tpd"
fi
checkconfig || return 1
if [ x"${IFACE}" = x"${L2TP}" ]; then
if [ "${L2TP_BACKEND}" = "xl2tpd" ]; then
start-stop-daemon --start --quiet --exec /usr/sbin/xl2tpd
else
check_module
start-stop-daemon --start --quiet --exec /usr/sbin/openl2tpd
fi
iface_timer=0
while [ $iface_timer -lt $L2TP_TIMEOUT ]; do
if [ -n "$(ifconfig | grep ${IFACE})" ]; then
eend 0
return 0
else
if [ ${iface_timer} -eq 0 ]; then
einfo "Waiting for l2tp..."
fi
sleep 1
((iface_timer++))
fi
done
cleanup_l2tp
eend 1
return 1
fi
return 0
}
postup() {
if [ x"${IFACE}" = x"${L2TP}" ]; then
gw=`route -n | awk "{ if (\\$1 == \"0.0.0.0\" && \\$8 == \"${DEPEND}\") print \\$2 }"`
vpn=`ifconfig | grep -A1 ${IFACE} | grep -i p-t-p | awk '{ print $3 }' | sed 's/p-t-p://gi'`
#vpn=`ifconfig | grep -A1 ${IFACE} | grep -i dest | awk '{ print $6 }'`
route add ${vpn} gw ${gw}
for i in ${ROUTES}; do
route add -net ${i} gw ${gw}
done
fi
return 0
}
predown() {
if [ -z "${L2TP_BACKEND}" ]; then
L2TP_BACKEND="xl2tpd"
fi
if [ x"${IFACE}" = x"${L2TP}" ]; then
gw=`route -n | awk "{ if (\\$1 == \"0.0.0.0\" && \\$8 == \"${DEPEND}\") print \\$2 }"`
vpn=`ifconfig | grep -A1 ${IFACE} | grep -i p-t-p | awk '{ print $3 }' | sed 's/p-t-p://gi'`
cleanup_l2tp
if [ -n ${gw} ]; then
route del ${vpn} gw ${gw}
for i in ${ROUTES}; do
route del -net ${i} gw ${gw}
done
fi
fi
return 0
}
cleanup_l2tp() {
if [ "${L2TP_BACKEND}" = "xl2tpd" ]; then
start-stop-daemon --stop --quiet --pidfile /var/run/xl2tpd.pid
if [ -n "$(pidof xl2tpd)" ]; then
killall -9 xl2tpd > /dev/null 2>&1
fi
if [ -e /var/run/xl2tpd.pid ]; then
rm -f /var/run/xl2tpd.pid
fi
else
start-stop-daemon --stop --quiet --pidfile /var/run/openl2tpd.pid
if [ -n "$(pidof openl2tpd)" ]; then
killall -9 openl2tpd > /dev/null 2>&1
fi
if [ -e /var/run/openl2tpd.pid ]; then
rm -f /var/run/openl2tpd.pid
fi
fi
killall pppd > /dev/null 2>&1
if [ -n "$(pidof pppd)" ]; then
killall -9 pppd > /dev/null 2>&1
fi
}