VPN в Gentoo Linux 2.6.19-r5

 
Начать новую тему   Ответить на тему    Список форумов -> Софт, железо, и всё, что связано с ним
::  
Автор Сообщение
Marauder
Новичок


Зарегистрирован: 23.01.2010
Сообщения: 2
Откуда: Киев

СообщениеДобавлено: Ср Фев 27, 2011 1:52 am    Заголовок сообщения: VPN в Gentoo Linux 2.6.19-r5 Ответить с цитатой

собрал давеча ядро. разобрался с монтированием винтов, поставил некоторые утилиты. но пока что сижу без иксов, пытаюсь настроить VPN. это было бы проще сделать из оболочки, но тянуть порядка 160-ти зависимостей для X11 по отсутсвующему VPN-соединению не слишком разумно. гуглил, но найденные варианты чего-то не проходят. наткнулся здесь же, несколькими темами ранее, на аналогичную тему про openSuSE, но опять-таки не то.
вопрос. что нужно указывать в конфигах в случае с Бризом?

_________________
Первое значение всегда скрыто. (с)Вивек
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
n0_ChoiSe
Участник


Зарегистрирован: 20.04.2010
Сообщения: 22
Откуда: Odessa city

СообщениеДобавлено: Ср Фев 27, 2011 3:01 am    Заголовок сообщения: Ответить с цитатой

Нашел интересную статейку, может поможет. Всёравно вариантов получше пока нет Wink




linuxforum.ru писал(а):
Последние несколько дней интенсивно пыталась взнуздать ВиПиЭн. В данном нелёхком труде сильно мне помог рецептик, отысканный на Unix/Linux подфоруме корбиновского форума и составленный уважаемым юзером под ником loopa, с чьего любезного согласия я и выкладываю даную инфу

Пример для ядра 2.6.14 с более-менее дефолтными настройками и системы примерно месячной давности после последнего emerge --sync.
Включаем mppe (может оно и не надо, но пускай будет)
# echo 'net-dialup/ppp mppe-mppc' >> /etc/portage/package.use

Хотим самые свежие версии пакетов
# echo 'net-dialup/ppp ~x86' >> /etc/portage/package.keywords
# echo 'net-dialup/pptpclient ~x86' >> /etc/portage/package.keywords

Ставим клиента
# emerge net-dialup/ppp net-dialup/pptpclient

Паролики /etc/ppp/chap-secrets (может и не нужно, но пускай будет)
ЛОГИН PPTP ПАРОЛЬ
PPTP ЛОГИН ПАРОЛЬ

Паролики /etc/ppp/pap-secrets (может и не нужно, но пускай будет)
# cd /etc/ppp/
# cat chap-secrets > pap-secrets

Опции /etc/ppp/options.pptp
# Lock the port
lock

# We don't need the tunnel server to authenticate itself
noauth

# Turn off transmission protocols we know won't be used
nobsdcomp
nodeflate

# We want MPPE
#require-mppe

# We want a sane mtu/mru
mtu 1370
mru 1370

# Time this thing out of it goes poof
lcp-echo-failure 10
lcp-echo-interval 10

Настройки соединения /etc/ppp/peers/mypeer
#
# PPTP Tunnel configuration for tunnel mypeer
# Server IP: my.server.com
#

#
# Tags for CHAP secret selection
#
name ЛОГИН
remotename PPTP

#
# Include the main PPTP configuration file
#
file /etc/ppp/options.pptp

Конфигурация сервиса /etc/conf.d/vpn (подставить свои настройки)
# LAN iface
LAN_DEV=eth0
# VPN iface
VPN_DEV=ppp0
# IP or name of VPN server
VPN_SERVER=83.102.237.231
# Name from /etc/ppp/peers
CFG_NAME=corbina
# LAN gateway
LAN_GW=10.188.0.17

LAN_GW меняем на свой
VPN_SERVER лучше оставить как ип, если присутствует load balancing

Сам сервис /etc/init.d/vpn (подставить свои настройки)

#!/sbin/runscript

DEBUG=0
VPN_IP=`ping ${VPN_SERVER} | head -n 1 | cut -d '(' -f 2 | cut -d ')' -f 1`

depend() {
need net
}

start() {
ebegin "Connecting to VPN"
[ $DEBUG -eq 1 ] && echo "VPN: ip of VPN server detected as ${VPN_IP}"
# Start VPN
[ $DEBUG -eq 1 ] && echo "VPN: starting pppd"
pptp ${VPN_SERVER} call ${CFG_NAME}
# Set routing
[ $DEBUG -eq 1 ] && echo "VPN: deleting default route"
route del default
# Add route to LAN
[ $DEBUG -eq 1 ] && echo "VPN: adding route to LAN"
route add -net 10.0.0.0 gw ${LAN_GW} netmask 255.0.0.0
# Add routes to Corbina resources
[ $DEBUG -eq 1 ] && echo "VPN: adding routes to homenet"
route add -net 85.21.79.0 gw ${LAN_GW} netmask 255.255.255.0
route add -net 85.21.90.0 gw ${LAN_GW} netmask 255.255.255.0
# Dunno
[ $DEBUG -eq 1 ] && echo "VPN: doing something usefull"
route add 85.21.52.94 gw ${LAN_GW}
# Add route to VPN server trough LAN
[ $DEBUG -eq 1 ] && echo "VPN: adding route to VPN server"
route add ${VPN_IP} gw ${LAN_GW}
# Add routes to DNS servers trough LAN
[ $DEBUG -eq 1 ] && echo "VPN: adding routes to DNS servers"
cat /etc/resolv.conf | grep nameserver | cut -d " " -f 2 | xargs -i route add {} gw ${LAN_GW}
# Everything else route to VPN
[ $DEBUG -eq 1 ] && echo "VPN: adding route to Internet"
sleep 10
route add default dev ${VPN_DEV}
# Check connection
[ `ping -c 1 yahoo.com 2>&1 | grep "bytes from" | wc -l` -eq 0 ] && eerror "VPN connection test failed"
eend 0
}

stop() {
ebegin "Disconnecting from VPN"
# Stop pppd daemon
[ $DEBUG -eq 1 ] && echo "VPN: stopping pppd"
kill -HUP `cat /var/run/${VPN_DEV}.pid`
# Restore routes
[ $DEBUG -eq 1 ] && echo "VPN: deleting route to LAN"
route del -net 10.0.0.0 netmask 255.0.0.0
[ $DEBUG -eq 1 ] && echo "VPN: deleting routes to Corbina resources"
route del -net 85.21.79.0 netmask 255.255.255.0
route del -net 85.21.90.0 netmask 255.255.255.0
[ $DEBUG -eq 1 ] && echo "VPN: deleting unknown route"
route del 85.21.52.94
[ $DEBUG -eq 1 ] && echo "VPN: deleting route to VPN server"
route del ${VPN_IP}
[ $DEBUG -eq 1 ] && echo "VPN: deleting routes to DNS servers"
cat /etc/resolv.conf | grep nameserver | cut -d " " -f 2 | xargs -i route del {}
#[ $DEBUG -eq 1 ] && echo "VPN: deleting route to Internet"
#route del default dev ${VPN_DEV}
[ $DEBUG -eq 1 ] && echo "VPN: adding default route"
route add default gw ${LAN_GW} dev ${LAN_DEV}
eend 0
}


Проверяем
# /etc/init.d/vpn start

Если говорит "VPN connection test failed" или еще что-то кроме [Ok], то DEBUG ставим в 1 и глядим, что не работает.
Останавливаем
# /etc/init.d/vpn stop

Ставим сервис в автозапуск
# rc-update add vpn default


Далее, если при запуске скрипта выскакивает такая ошибка:
SIOCADDRT: No such device

Нужно поставить DEBUG=1 в /etc/init.d/vpn и посмотреть, когда оно это говорит. Скорее всего это будет
VPN: adding route to Internet
SIOCADDRT: No such device
Проблема в том, что если изменить стандартное (1500) значение mtu то ppp0 поднимается дольше и к моменту добавления шлюза его еще нет. Вариантов два:
1) оставить стандартное значение (1500), но при этом пакеты будут фрагментрооваться => ниже пропускная способность; для этого в /etc/ppp/options.pptp комментируем строки
# We want a sane mtu/mru
# mtu 1370
# mru 1370
2) или ставим большую задержку в /etc/init.d/vpn
# Everything else route to VPN
[ $DEBUG -eq 1 ] && echo "VPN: adding route to Internet"
sleep 15
route add default dev ${VPN_DEV}
Число придется подбирать (# killall pppd; /etc/init.d/vpn start и игнорируем все кроме интересующей мессаги).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Вот, может кому и пригодится, заточить под настройки своего сервера большинству дженту-юзеров вполне по силам, имхо
Посмотреть профиль Отправить личное сообщение

Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов -> Софт, железо, и всё, что связано с ним
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах