Авторизатор или Vpn на Linux в сетях Кабinet

Включение защищенного соединения

Защищенный доступ необходимо сначала включить. Для этого зайдите на https://access.telenet.ru/cgi-bin/users/access.pl и выберите,что Вы будете использовать: авторизатор или VPN.

Настройка сети для использования с авторизатором

Мне поступали жалобы, что Теленет изменил протокол авторизации, и теперь telenet-authd не работает. У меня и у знакомых, согласившихся мне помочь, все работало нормально. Если у вас что-то не работает и вы умеете программировать, пожалуйста помогите найти ошибку. — Gall

Сетевые настройки

Все дистрибутивы

Необходимо прописать правильные DNS в файле /etc/resolv.conf. Выглядеть он должен примерно так:

nameserver 87.224.213.1
nameserver 87.224.197.1

RedHat-подобные дистрибутивы

В файле /etc/sysconfig/network-scripts/ifcfg-eth0 (замените eth0 на настоящее название сетевого интерфейса, если их несколько) должно быть:

DEVICE=eth0
BOOTPROTO=static
BROADCAST=87.224.ВАШ.БРОАДКАСТ
IPADDR=87.224.ВАШ.IP
NETMASK=255.255.ВАША.МАСКА
NETWORK=87.224.ВАША.ПОДСЕТЬ
ONBOOT=yes

Вычислить правильные значения броадкастового адреса и подсети можно с помощью команды ipcalc. Если вы внесли изменения файл, не забудьте перезапустить сетевой интерфейс eth0 командами

ifconfig eth0 down
ifconfig eth0 up

Debian-подобные дистрибутивы

В файле /etc/network/interfaces для нашей сетевой карты eth0 пишем:

auto eth0
iface eth0 inet static
        address 87.224.ВАШ.IP
        netmask 255.255.ВАША.МАСКА
        gateway 87.224.ВАШ.ШЛЮЗ

Gentoo

В файле /etc/conf.d/net для нашей сетевой карты eth0 пишем:

config_eth0=( "x.x.ВАШ.IP netmask 255.255.ВАША.МАСКА" )
routes_eth0=( "default via 87.224.ВАШ.ШЛЮЗ")

Настройки других сетевых интерфейсов (например lo) не трогаем.

Установка авторизатора

Любые дистрибутивы

Авторизатор написан на Perl. Пакет «исходников» берут здесь:

telenet-authd_0.92-1.tar.gz

Распаковка архива и «сборка» делается командами

tar zxvf telenet-authd_0.92-1.tar.gz
make

Перед инсталляцией создайте пользователя и группу telenet средствами Вашего дистрибутива.

  • В RedHat это делается командами:
groupadd telenet
adduser -g telenet telenet
  • В Gentoo:
useradd telenet

После распаковки установите пакет методом, принятым в Вашем дистрибутиве. Например, переконвертируйте его в пакет rpm с помощью checkinstall. В крайнем случае можно воспользоваться «брутальной» установкой:

make install

Проверяем наличие директории /var/log/telenet, а также владельца telenet с правами доступа 755:

mkdir -p /var/log/telenet
chown telenet:telenet /var/log/telenet
сhmod 755 /var/log/telenet

Проверяем наличие директории /var/run/telenet, а также владельца telenet с правами доступа 755:

mkdir -p /var/run/telenet
chown telenet:telenet /var/run/telenet
chmod 755 /var/run/telenet

Debian-подобные дистрибутивы

Готовый пакет для Debian берут здесь:

telenet-authd_0.92-1_all.deb

Установка производится командой dpkg -i telenet-authd_0.92-1_all.deb (разумеется, от root). Большая часть операций по настройке делается автоматически, никаких действий предпринимать не надо. Пользователь и группа создадутся тоже полностью автоматически.

В Ubuntu версии 7.10 (и возможно выше) директория /var/run находится на виртуальном диске, и при перезагрузке ее содержимое пропадает. Поэтому для правильной работы авторизатора необходимо каждый раз предварительно создавать директорию /var/run/telenet с владельцем telenet:telenet.

Установка пакета криптографии для Perl

Если Вы хотите использовать авторизатор с протоколом второй версии, Вам потребуется модуль Crypt::RIPEMD160 для Perl. Его необходимо установить из Вашего дистрибутива.

К сожалению, многие дистрибутивы не содержат этого модуля. В этом случае придется поставить его отдельно.

Любые дистрибутивы

Исходники модуля скачиваются здесь:

crypt-ripemd160-0.04.tar.gz

Сборка модуля делается командами

tar zxvf Crypt-RIPEMD160-0.04.tar.gz
cd Crypt-RIPEMD160-0.04
perl Makefile.PL
make
make test

Debian-подобные дистрибутивы

Готовый пакет для 32-битных систем можно взять здесь:

libcrypt-ripemd160-perl_0.04-1_i386.deb

Ставится он, как всегда, командой dpkg -i libcrypt-ripemd160-perl_0.04-1_i386.deb. Если Ваша система 64-битная, этот пакет не подойдет. Собрать 64-битный пакет можно из пакета с исходниками с помощью утилиты dh-make-perl, входящей в состав Debian.

Настройка авторизатора

Большая часть настроек авторизатора не требует изменения. Используйте настройки по умолчанию.

В файле /etc/telenet/authd.secrets необходимо написать пароль. Пароль пишется в первой и единственной строке файла, которая должна завершаться символом перевода строки. После редактирования убедитесь, что читать этот файл может только root:

chown root:root /etc/telenet/authd.secrets
chmod 0600 /etc/telenet/authd.secrets

При необходимости в файле /etc/telenet/authd.conf следует указать свой шлюз:

GATEWAY = 87.224.ВАШ.ШЛЮЗ

и необходимый уровень доступа по умолчанию:

ACCESS = ДОСТУП

Авторизатор использует уровни доступа internal (внутригород), external (внеха) и off (отключено).

Запуск авторизатора

Демон авторизации запускается командой

telenet-authd -r

После запуска он переходит в режим доступа, указанный в файле конфигурации. Если необходимо запустить демона с другим режимом доступа, можно указать его в командной строке.

Если Вы сделали всё верно, то команда telenet-authd покажет, что авторизатор «зелёный»:

(pid) telenet-authd external access (доступ на внеху)
(pid) telenet-authd internal access (доступ на кабинет)

Цифры в начале строчки - это PID процесса демона, для нас он неважен.

Если нету коннэкта до шлюза, то авторизатор будет «чёрным»:

(pid) telenet-authd off

Если вы ввели неправильно пароль, не заплатили, какие-нибудь проблемы в кабинете, то авторизатор будет красным:

(pid) telenet-authd access denied

Чтобы сменить доступ, достаточно дать команду

telenet-authd УРОВЕНЬ

Чтобы выгрузить демона вообще, достаточно дать команду

telenet-authd kill

Авторизатор в автозапуске под Debian

Достаточно вписать две строчки с файл /etc/network/interfaces. Вот так:

auto eth0
iface eth0 inet static
        address 87.224.ВАШ.IP
        netmask 255.255.ВАША.МАСКА
        gateway 87.224.ВАШ.ШЛЮЗ
        post-up telenet-authd -r
        pre-down telenet-authd kill

Вредный совет

Это вредный совет. Защита авторизатора основана на разрыве соединения при попытке кражи трафика. Устанавливая этот скрипт, Вы делаете авторизатор бесполезным. С тем же успехом можно переключить на незащищенный доступ!

Если у вы хотите чтобы ваш авторизатор самостоятельно поднимался после кабиновских траблов, то можно поставить по крону вот этот скрипт:

#!/bin/sh

address=87.224.128.11
address1=194.226.146.5

if ping -n -c 2 $address | grep -q "bytes from $address: icmp_seq="
then
  :
elif ping -n -c 2 $address1 | grep -q "bytes from $address: icmp_seq="
then
  :
else

  telenet-authd off
  telenet-authd ext

  if telenet-authd | grep -q 'denied'; then
    telenet-authd off
    sleep 20
    telenet-authd ext
  elif telenet-authd | grep -q 'off'; then
    telenet-authd off
    sleep 20
    telenet-authd ext
  fi
fi

Устанавливаем соединение через VPN

Настройка сетевых интерфейсов

Настройка делается точно так же, как и для авторизатора, за исключением того, что вместо «белых» реквизитов прописываем «серые» - те, которые начинаются на «10.0.».

FIXME

1. Необходимый софт

Для FC-4:
ppp-2.4.3-5.fc4.i386.rpm pptp-1.7.1-3.i386.rpm

Скачать можно тут, либо с официального сайта: ftp://ofcenter.ru/Kartinki_Soft_Video/Soft/Linux_system/

2. Установка VPN-софта

Командой:

rpm -Uvh ppp-2.4.3-5.fc4.i386.rpm pptp-1.7.1-3.i386.rpm

в Debian

apt-get install pptp-linux ppp

3. Настройка конфиг-файлов VPN

Создаём файл /etc/ppp/peers/setka такого содержания:

pty "pptp 10.0.0.1 --nolaunchpppd"
file /etc/ppp/setka.pptp

где 10.0.0.1 - ваш VPN-сервер

Создаём файл /etc/ppp/setka.pptp такого содержания:

lock
noauth
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
#require-mppe-128
updetach
user 90.157.43.6
mtu 1452
mru 1452
defaultroute
remotename setka
persist
replacedefaultroute

где 90.157.43.6 - ваш ип-адрес

Редактируем файл /etc/ppp/chap-secrets

90.157.43.6 setka пароль 90.157.43.6

4. Коннэктим VPN

pppd call setka

или

pon setka

Если коннэкт есть, то вывод команды ifconfig должен содержать соедниение ppp0
Если коннэкт есть, но доступа в сеть нету, значит проверяем какой у нас прописан шлюз командой:

route -n

должен быть 90.157.34.6, т.е. ваш ип-адрес должен быть шлюзом, если это не так, то удаляем старый шлюз и добавляем новый командами:

route del default gw шлюз
route add default gw 90.157.34.6

где 90.157.34.6 - ваш ип-адрес

5. Для дисконнэкта VPN можно воспользоваться одной из команд

killall pppd
pkill pppd
kill `cat /var/run/ppp0


А если для поднятия соединения вы пользовались командой pon то так:

poff setka

6. Автоматическое поднятие соединения
В Debian-подобных дистрибутиваз нужно прописать в файле /etc/network/interfaces

#auto tunnel
iface tunnel inet ppp
provider setka

Взято с www.ofcenter.ru, написано EC. Кучу грубых ошибок исправил Gall.


Персональные настройки
Яндекс цитирования