Corbina VPN поднятие интернета под Gentoo
Провайдер Corbina Telecom (ныне принадлежит Вымпелкому) работает по технологии VPN. Начал пользоваться этим замечательным провайдером в декабре 2007 года, но вот статью по настройке соединения пишу только сейчас, и то потому, что со дня на день собираюсь уйти в Onlime, которая работает по технологии DHCP.
Предварительные настройки gentoo для работы по vpn
Сперва необходимо поставить все необходимые пакеты, для успешной работы в Корбине.
Используя стандартный emerge ставим эти пакеты.
Теперь переходим к настройке конфигурационных файлов. Всех тех служб, которые мы установили.
Конфигурационные файлы и службы, которые надо настроить
Для корректной работы интернета нам потребуются следующие конфигурационные файлы:
- /etc/dhcp/dhclient.conf
- /etc/conf.d/net
- /etc/xl2tpd/xl2tpd.conf
- /etc/ppp/options.l2tp
Причём, если такого файла у вас нет изначально, то создайте его!
Начнём с настройки DHCP клиента
timeout 40;
retry 30;
request subnet-mask, broadcast-address, time-offset, routers;
Самое интересное - основные сетевые настройки - NET
config_eth1=("192.168.0.1 netmask 255.255.255.0")
#mtu_eth1=1500
GATEWAY="10.134.40.1"
config_eth0=( "dhcp" )
modules=( "dhclient" )
#avtoperehod v demona
#dhclient_eth0="-nw"
dns_servers_eth0="195.14.50.1 195.14.50.21"
#dns_servers_eth0="213.234.192.8 85.21.192.3"
dns_search_eth0="corbina.ru"
fallback_eth0=( "10.134.41.247 netmask 255.255.248.0" )
#bred polnyj - ne trogat
#dhcp_eth0="nogateway"
# lokalnye resursy
routes_eth0=(
"195.14.50.1 via $GATEWAY"
"195.14.50.21 via $GATEWAY"
"85.21.138.214 via $GATEWAY"
"85.21.138.210 via $GATEWAY"
"85.21.88.130 via $GATEWAY"
"85.21.52.254 via $GATEWAY"
# "85.21.138.208/28 via $GATEWAY" #
# "83.102.146.96/27 via $GATEWAY" #
"85.21.138.208 via $GATEWAY" #
"83.102.146.96 via $GATEWAY" #
"78.107.23.0/24 via $GATEWAY"
"195.14.50.16 via $GATEWAY"
"195.14.50.26 via $GATEWAY"
"89.179.135.67 via $GATEWAY"
"62.205.179.146 via $GATEWAY"
"85.21.79.38 via $GATEWAY"
"10.0.0.0/8 via $GATEWAY"
"85.21.79.0/24 via $GATEWAY"
"85.21.90.0/24 via $GATEWAY"
# "85.21.72.80/28 via $GATEWAY" #
"85.21.72.80 via $GATEWAY" #
"195.14.50.93 via $GATEWAY"
"78.107.69.98 via $GATEWAY"
"224.0.0.0/4 via $GATEWAY"
"172.16.16.0/24 via $GATEWAY"
"233.32.240.0/24 via $GATEWAY"
)
config_ppp0=( "ppp" )
#link_ppp0="pty 'pptp vpn.corbina.net --nolaunchpppd --nobuffer --loglevel 0'"
link_ppp0="pty 'xl2tpd'"
username_ppp0='YOUR_USERNAME'
password_ppp0='YOUR_PASSWORD'
pppd_ppp0=(
#"nodefaultroute"
#izmenil nodefaultroute na defaultroute t.k. ranshe ne pahalo avtomaticheskoe dobavlenie marshrutov zi-za gluka v pppd_ppp0
"defaultroute"
#ubral usepeerdns t.k. DHCP server vydae`t ne vernye dannye i my DNS propisyvaem ze`stko
#"usepeerdns"
"lock"
"noauth"
# ubiraem kompressiju
"noaccomp"
#noaccomp disables address/control compression in both directions.
"nopcomp"
#nopcomp disables protocol field compression negotiation, in both the receive and the transmit direction
# zapretit vse` krome MSCHAPv2
"refuse-eap"
"refuse-chap"
"refuse-mschap"
# zapretit protokoly szatija
"nobsdcomp"
"nodeflate"
"debug"
#perepodnimat do upora
"persist"
"maxfail 0"
# vremia v sekundah mezdu popytkami perepodniatija upavshego VPN
"holdoff 10"
# Cherez kakoj interval vremeni v sekundah posylat zaprosy chtoby proverit ziv li kanal ili net
"lcp-echo-interval 10"
# esli lcp-echo-failure pingov ne proshlo znachit kanal otvalilsia i ego nado perepodnimat
"lcp-echo-failure 9"
)
preup() {
if [ "${IFACE}" = "ppp0" ]; then
/bin/mknod /dev/ppp c 108 0
route del default
fi
return 0
}
postup() {
if [ "${IFACE}" = "eth0" ]; then
# adresa VPN servakov berutsia s DNS-servera Korbiny
for vpnaddr in $(host vpn.corbina.net | grep has | awk '{ print $NF }'); do route add $vpnaddr gw $GATEWAY dev eth0; done;
for vpnaddr in $(host tp.corbina.net | grep has | awk '{ print $NF }'); do route add $vpnaddr gw $GATEWAY dev eth0; done;
fi
if [ "${IFACE}" = "ppp0" ]; then
# iz-za togo chto adres VPN servera sovpadaet s adresom shluza to sozdavaemyj avtomaticheski
# marshrut k VPN serveru ispolzuet inerfejs ppp0 a ne eth0 - ispravliaem
VPN=`ifconfig | grep 'P-t-P' | awk '{print $3}' | awk -F: '{print $2}'`
route del $VPN dev ppp0
#udalenie shluza po umolchaniju v lokalku i dobavlenie shluza po umolchaniju v inet
route del default
route add default dev ppp0
fi
return 0
}
postdown() {
# dobavlenie marshruta po umolchaniju v lokalku
if [ "${IFACE}" = "ppp0" ]; then
killall xl2tpd pppd
route add default dev eth0
fi
return 0
}
# pered zapuskom VPN dolzen byt podniat eth0
depend_ppp0() {
need net.eth0
}
Под себя нужно в конфиге изменить:
- eth0 - название сетевого интерфейса
- fallback_eth0 - адрес, назначаемый в случае неполучения его по dhcp (можно взять из своих же, выданных ранее).
- username_ppp0='Ваш логин в корбине'
- password_ppp0='Ваш пароль в корбине'
- GATEWAY - шлюз по умолчанию
Так же для избежание автоматического запуска необходимо переименовать или перенести в другое место файлы /etc/ppp/ip-up.local и /etc/ppp/ip-down.local
Конфигурирование L2TP
[global]
access control = yes
[lac corbina]
lns = tp.corbina.net
redial = yes
redial timeout = 10
require chap = yes
require authentication = no
name = YOUR_USERNAME
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tp
refuse pap = yes
autodial = yes
Добавить в автозапуск ppp: net.ppp0 default
Добавить корректирующую запись в iptables для корректировки MTU
Возможные ошибки
Различные ошибки, баги и косяки, которые могут возникнуть при работе по впн Корбины.
Зависание конекта по L2TP
Основная ошибка которая может возникать это не верное срабатывание соединения по l2tp с VPN сервером - tp.corbina.net. В таком случае есть смысл либо несколько раз переконекчиваться в надежде что DNS сбросит на рабочий сервак либо попробовать вот эти адреса l2tp серверов: 85.21.0.251-255