Дистант. Удаленный доступ к ПК школы

В предыдущей статье мы определили круг задач, для реализации проекта по информатизации удаленной школы.

Итак, наша первоочередная задача — получить удаленный доступ к ПК школы. На ПК школы установлены ОС Xubuntu  и Windows (XP, 7). Т. е. Решение должно быть кроссплатформенным.

Было найдено несколько решений:

  1. TeamViewer — позволяет удаленно управлять ПК, но продукт коммерческий и имеет определенные ограничения. Но на начальных этапах был незаменим. Так как прост в установке и настройке и обычные пользователи легко справляются с его инсталляцией. Но данный продукт коммерческий и накладывает определенные ограничения на использование.
  2. LogMeIn Hamachi – хост-служба VPN, позволяющая безопасно организовывать виртуальные ЛВС Т.е. данный сервис позволяет организовать небольшую VPN сеть, но также является коммерческим продуктом и бесплатно можно задействовать только 5 ПК одновременно. Удобно для удаленного администрирования серверов, но в масштабах сети, содержащей более 50 ПК такое решение не в полной мере отвечает нашим требованиям.
  3. Организация собственного VPN-сервера. VPN — (с англ. Virtual Private NetworkВиртуальная Частная Сеть. Это один из методов соединения компьютера или нескольких клиентов с сервером, предоставляющим доступ в интернет или другую сеть. Само соединение с помощью VPN может быть реализовано с использованием различных средств сетевой безопасности (т.н. IPSec), и/или с использованием других протоколов (таких как IPX), и, как правило, с использованием средств сжатия данных (т.н. MPPE-MPPC от Microsoft для совместимости с клиентами, использующими операционную систему Windows). Поразмыслив немного, посоветовавшись с гуру, я решил, что раз есть коммерческие VPN -сети, то почему бы мне не создать свою? Это было оптимальное решение, которое позволяет решить целый спектр задач по администрированию и преподаванию.

Схема организации VPN соединения

Для того, чтобы организовать собственный vpn-сервер необходимо иметь «белый» ip. К сожалению «белым» ip не обладали ни я, ни школы. Выход был найден — аренда vps-сервера. Цена вопроса составляет от 200 до 300 рублей в месяц. За эти деньги можно арендовать вполне приличный виртуальный сервер с необходимыми параметрами. К примеру мой сервер, на данный момент, имеет следующие параметры:

процессор

2500 Мгц

оперативная память

512 Мб

диск

10 Гб

Порт

10 мбит

ipv4 адреса

1 шт.

ОС

Ubuntu Server 13.04

 

Заказать VDS-сервер 

Следующий момент — настройка vpn-сервера.

Для начала нужно определиться, какой именно софт мы будем использовать. Существует организация VPN путем организации pptpd сервера и OpenVPN сервера

По простоте настройки и использования я остановился на организации vpn-сервера на основе pptpd.

Приступаем к установке и на стройке ПО на сервере:

  1. Устанавливаем пакет pptpd:
    #apt-get install pptpd
  2. Редактируем файл /etc/ppp/pptpd-options:
    #mcedit /etc/ppp/pptpd-options
    и указываем следующие параметры (эти параметры для своего подключения я установил опытным путем):

    # имя сервера

name pptpd

#определяем размер фрейма при передаче блока данных на канальном уровне сети.

mtu 1372

mru 1372

#указываем способ шифрование данных для канала

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

#позволяем пользователям видеть друг-друга в сети

proxyarp

#указываем не устанавливать для компьютера основной маршрут, выдаваемый провайдером для VPN-соединения

nodefaultroute

#позволяет выводить отладочную информацию в syslog. Бывает полезно, если что-то идёт не так.

debug

#dns-сервер по умолчанию

ms-dns 8.8.8.8

lock

# указываем куда писать логи

logfile /var/log/pptpd.log

  1. Указываем параметры конфигурационного файла сервера:

mcedit /etc/pptpd.conf

option /etc/ppp/pptpd-options

debug

logwtmp

bcrelay eth0

# (Recommended)

localip 192.168.99.1

remoteip 192.168.99.5-238,192.168.99.245

# or

#localip

192.168.0.234-238,192.168.0.245

#remoteip 192.168.1.234-238,192.168.1.245

  1. В файле /etc/ppp/chap-secrets указываем логин, пароль и если хотим жестко привязать ПК к ip, то и ip, который будет назначаться компьютеру:

# Secrets for authentication using CHAP

# client server secret IP addresses

admin pptpd пароль ip-адрес клиентского ПК

  1. В файле /etc/sysctl.conf раскомментируем строку net.ipv4.ip_forward=1

  2. Запускаем сервер командой:

    #service pptpd start

Следующий этап – настройка подключения на стороне клиента.

  1. mcedit /etc/ppp/options.pptp #Параметры шифрования нужно будет определить исходя из ваших потребностей.lock

    noauth

    refuse-pap

    refuse-eap

    refuse-chap

    refuse-mschap

    nobsdcomp

    nodeflate

     

  2. mcedit /etc/ppp/peers/vpnpersist

    maxfail 0

    lcp-echo-interval 60

    lcp-echo-failure 100

    defaultroute

    pty «pptp ip или адрес сервера —nolaunchpppd»

    name имя пользователя

    remotename pptpd

    +chap

    file /etc/ppp/options.pptp

    holdoff 15

     

  3. mcedit /etc/ppp/chap-secrets# Secrets for authentication using CHAP# client server secret IP addresses

    указываем в соответствии с синтаксисом те же параметры для пользователя, что мы указали на сервере

     

  4. В моем случае пришлось указать параметры внутренней сети, которые должны были загружаться при подключении к vpn-сети, иначе ПК никак не хотели выходить в интернет.
  5. mcedit /etc/ppp/ip-up.d/vpn#!/bin/shroute add -net 192.168.99.0/24 ppp0

     

  6. Указываем права доступа для файла /etc/ppp/ip-up.d/vpn:
    chmod +x /etc/ppp/ip-up.d/vpn
  7. И прописываем команду подключения к vpn-сети при загрузке системы:mcedit /etc/rc.localpon vpn
  8. Подключаемся к сети, вводим команду:pon vpn
  9. Проверяем подключение. Это можно сделать несколькими командами, я использую ip a и пингуем ya.ru и как-либо ПК в нашей удаленной сети:school@kschool-server:~$ ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 08:00:27:94:ab:ec brd ff:ff:ff:ff:ff:ff

inet 192.168.0.39/24 brd 192.168.0.255 scope global eth1

inet6 fe80::a00:27ff:fe94:abec/64 scope link

valid_lft forever preferred_lft forever

3: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1372 qdisc pfifo_fast state UNKNOWN qlen 3

link/ppp

inet 192.168.99.10 peer 192.168.99.1/32 scope global ppp0

Пинг:

school@kschool-server:~$ ping 192.168.99.11

PING 192.168.99.11 (192.168.99.11) 56(84) bytes of data.

64 bytes from 192.168.99.11: icmp_req=1 ttl=63 time=105 ms

64 bytes from 192.168.99.11: icmp_req=2 ttl=63 time=184 ms

— 192.168.99.11 ping statistics —

3 packets transmitted, 2 received, 33% packet loss, time 2004ms

rtt min/avg/max/mdev = 105.150/144.797/184.445/39.649 ms

Один из самых сложных этапов выполнен. Все ПК мы завели в одну сеть. Осталось только воспользоваться инструментами для удаленного администрирования.

Интересная статья? Поделитесь ей с друзьями!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:

This blog is kept spam free by WP-SpamFree.