Локальная сеть интернет через сервер

Объединение двух локальных сетей через VDS

Несколько офисов можно объединить в одну сеть – это позволяет обеспечить расширенный доступ к информационным ресурсам одной организации. Целью такого слияния обычно служит использование единой офисной АТС, обеспечение доступа к ресурсам компании из различных локаций, удаленный доступ к другим ПК и многое другое.

О том, как все это можно организовать через VDS, мы поговорим в сегодняшней статье.

Как происходит объединение сетей

Первое, что может прийти в голову перед связкой двух мест, – это приобрести персональную линию между двумя точками. Ранее такой способ мог пройти, но сейчас есть более выгодные решения.

Например, использование виртуальной частной сети, которая именуется VPN. Это набор технологий, которые позволяют провести несколько сетевых соединений. В зависимости от используемого протокола, VPN разрешает организовать объединение различных типов сетей. С помощью VPN осуществляется соединение нескольких сетей в офисах и прочих учреждениях.

Далее мы рассмотрим, как выполнить такую связь на VDS-сервере с использованием PPTP.

Объединяем локальные сети через VDS и PPTP

Мы выяснили, что при слиянии сетей в силу вступает технология VPN, но что же такое PPTP? Это один из первых протоколов, который использовался в VPN еще на ОС Windows 95. Он работает во многих организациях и по сей день. PPTP наиболее простой в настройке и быстрый протокол.

Нельзя не упомянуть и его минусы: PPTP уязвим. Его стандартные методы аутентификации небезопасны, в связи с чем часто взламываются злоумышленниками. Альтернативой этому протоколу могут выступать L2TP, IPSec или OpenVPN – они хорошо защищены и используются многими разработчиками. Однако в данной статье мы не будем на них останавливаться, а рассмотрим лишь подключение через PPTP.

Настройка и подключение PPTP

Для примера мы будем использовать VDS на хостинге Timeweb.

Подключение к консоли реализуем через программу PuTTY, которая предназначена для удаленного доступа к серверу. С помощью нее можно удобно копировать и вставлять команды в консоль. Давайте посмотрим, как с ней работать.

Переходим по ссылке и загружаем на рабочий стол PuTTY. Далее запускаем программу и в разделе «Session» вводим IP-адрес хостинга, указываем порт 22 и выбираем SSH-соединение. Последним действием кликаем по кнопке «Open».

В результате перед нами отобразится консольное окно – в нем пока что требуется только авторизоваться. Вводим логин и пароль от своего VDS и следуем далее.

Теперь все последующие команды, которые нам нужно использовать для объединения сетей, можно скопировать и вставить в консоль простым кликом правой кнопки мыши.

Можно переходить к установке протокола. Первым делом ставим PPTP на сервер, для этого вводим:

Эта и последующие команды актуальны для дистрибутивов Ubuntu.

В результате установки не должно возникнуть никаких ошибочных строчек. Если такое произойдет, то стоит использовать команду снова – после этого ошибки чаще всего исчезают.

Читайте также:  Zyxel keenetic lite нет интернета

Далее открываем файл для редактирования:

При открытии файла перед нами отобразится новое окно. В нем мы будем выполнять последующее редактирование строк.

Указываем диапазон выдаваемых IP-адресов, для этого изменяем строчки localip (IP-адрес вашего сервера) и remoteip (адреса клиентов). Для примера я использую значения:

localip 17.255.0.1 remoteip 17.255.0.100-200

После этого сохраняем внесенные изменения с помощью комбинации клавиш «CTRL+O» и выходим из файла «CTRL+X». Следующим шагом открываем chap-secrets и добавляем в него клиентов. Пример:

A pptpd password 17.255.0.1 B pptpd password 17.255.0.15 C pptpd password 17.255.0.20

Первая буква – это наши сети, password – придуманный пароль, содержащий не более 63 символов, IP – адреса клиентов.

Сохраняем изменения и перезагружаемся:

Далее переходим в nano /etc/sysctl.conf и добавляем:

net.ipv4.ip_forward = 1

Завершаем действия строчкой:

На этом настройка завершена. Далее мы поговорим о подключении Микротика.

Установка MikroTik

Следующая инструкция будет приведена на примере последней версии роутера MikroTik, поэтому вы можете спокойно скачивать самую свежую прошивку.

Запускаем программу Микротик и переходим в Interface -> + PPTP Client. В разделе «General» указываем имя и переходим в окно «Dial Out».

Далее в строчке «Connect To» прописываем адрес для соединения, указываем имя и пароль, в завершение кликаем по кнопке «Apply».

После этого произойдет подключение по адресу 17.255.0.1, который мы указали ранее.

Аналогичным образом подключаем MikroTik к другой сети, он будет соединяться с 17.255.0.15 и другими IP.

Iptables

С Микротиком мы разобрались, но подключиться к нему по VPN мы пока не можем.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A INPUT -p gre -j ACCEPT iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT iptables -I INPUT -s 17.255.0.0/32 -i ppp0 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp1 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp1 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp2 -j MASQUERADE Далее добавляем еще один набор: iptables -I INPUT -s 17.255.0.0/32 -i ppp2 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp3 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp3 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp4 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp4 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp5 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp5 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp6 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp6 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp7 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp7 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp8 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp8 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp9 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp09 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp10 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp10 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp11 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp11 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp12 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp12 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp13 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp13 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp14 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp14 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp15 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp15 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp16 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp16 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp17 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp17 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp18 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp18 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp19 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp19 -j ACCEPT iptables --table nat --append POSTROUTING --out-interface ppp20 -j MASQUERADE iptables -I INPUT -s 17.255.0.0/32 -i ppp20 -j ACCEPT iptables --append FORWARD --in-interface eth0 -j ACCEPT

Перезапускаем сервер, чтобы изменения вступили в силу:

Читайте также:  Установить интернет в метро

Сохраняем установленные выше настройки, чтобы они не сбросились при следующем запуске (актуально для Ubuntu, на других дистрибутивах пути могут отличаться):

iptables-save > /etc/iptables_rules

Источник

VirtualBox: виртуальная локальная сеть, маршрутизация в Linux

На 4 курсе Бауманки я получил задание: сделать виртуальную локальную сеть на базе Linux. Информации на эту тему оказалось довольно много, но ее поиск может занять много времени, а порой даже запутать. Поэтому я решил расписать самые основные шаги для построения локальной сети с использованием VirtualBox, а также пролить свет на некоторые неочевидные настройки Linux.

Описание задачи

Создать виртуальную сеть в VirtualBox, включающую в себя первую сеть на 2048 хостов, вторую сеть на 256 хостов и сервер, выступающий в роли маршрутизатора. В последствии на сервере можно будет настроить файервол для вывода в интернет обоих сетей.

Схема подключения локальных сетей

Любой компьютер первой сети должен успешно выполнять пинг любого другого компьютера второй сети и наоборот. ICMP-пакеты должны проходить через сервер. Сети и сервер должны быть представлены в виде компьютеров с соответствующими ipv4-адресами.

Настройка виртуальных машин

Если говорить максимально коротко, то сервер одновременно находится и в первой локальной сети, и во второй. Это значит, что по одному сетевому интерфейсу он видит все компьютеры из сети на 2048 хостов, а по другому — все компьютеры из сети на 256 хостов. Для объединения виртуальных машин, допустим сервера и машины первой сети, будем использовать тип подключения «Внутренняя сеть». Внутренняя сеть позволит объединить сервер (SERVER) и первую сеть (LAN 1) на физическом уровне (аналог — соединение кабелем).

Тип подключения первой сетиТип подключения сервера

Следует обратить внимание на то, что имя внутренней сети LAN1 на первом адаптере должно совпадать с именем внутренней сети SERVER’а на первом адаптере. Таким образом, можно реализовать физическое соединение любого адаптера виртуальной машины LAN 1 с любым адаптером виртуальной машины SERVER. Аналогичным образом соединим вторую сеть (LAN 2) с другим сетевым адаптером сервера, за одним исключением, название внутренней сети должно отличаться.

Читайте также:  Комплект мобильного интернета от мегафон

На данном этапе машины соединены физически, но отправлять ICMP пакеты еще нельзя, для этого необходимо настроить ip-адреса.

Настройка адресов сетей и сервера

Для первой сети на 2048 хостов зададим адрес 192.168.1.0/21, для второй — 192.168.2.0/24. Про ip-адресацию написано уже достаточно большое количество статей, поэтому на ней останавливаться не будем. Соответственно, необходимо задать адреса каждой виртуальной машине.

Для начала стоит посмотреть на сетевые интерфейсы сервера с помощью команды ifconfig:

Сетевые интерфейсы сервера

  • eth0 — из предыдущего пункта адаптер 1 с типом подключения «Сетевой мост», сейчас его рано разбирать
  • eth1 — адаптер 2 с типом подключения внутренняя сеть, соединяется с адаптером 1 (там это будет eth0) первой виртуальной машины LAN 1, имя подключения LAN 1
  • eth2 — адаптер 2 с типом подключения внутренняя сеть, соединяется с адаптером 1 второй виртуальной машины LAN 2, имя подключения LAN 2

Следующими двумя командами зададим ip-адреса сервера в первой и второй сетях соответственно:

  • ifconfig eth1 192.168.1.10 netmask 255.255.248.0
  • ifconfig eth2 192.168.2.10 netmask 255.255.255.0

Затем необходимо настроить ip-адреса на eth0 виртуальных машин LAN1 и LAN2. Выполнив команду ifconfig на каждой из машин можно увидеть следующее:

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

На данном этапе LAN 1 видит SERVER по адресу 192.168.1.10, а SERVER видит LAN 1 по 192.168.1.1. Похожая ситуация и со второй сетью, LAN 1 видит SERVER по адресу 192.168.2.10, а SERVER видит LAN 1 по 192.168.2.1.

Убедиться в этом можно с помощью команды ping, которая отсылает icmp пакеты по определенному ip-адресу и принимает ответ. При пинге с SERVER’а адреса 192.168.2.1 (команда ping 192.168.2.10) должен получиться следующий результат:

Результат успешного пинга сервера

Пакеты идут, значит все правильно.

Маршрутизация через сервер

Данная часть статьи легче для понимая, поэтому коротко и по делу. LAN 1 и LAN 2 находят в разных сетях, но у них есть общая точка соприкосновения — SERVER. Это значит, что две сети могут общаться между собой именно через него. Но для этого надо настроить маршрутизацию.

Для начала стоит разрешить на сервере пересылку пакетов между различными сетевыми интерфейсами командой: echo 1 > /proc/sys/net/ipv4/ip_forward. С помощью утилиты маршрутизации route добавим статические маршруты из сети LAN 1 в LAN 2 через SERVER, и из сети LAN 2 в LAN 1 через SERVER.

LAN 1: route add -net 192,168.2.0 netmask 255.255.255.0 gw 192.168.1.10 dev eth0
LAN 2: route add -net 192.168.0.0 netmask 255.255.248.0 gw 192.168.2.10 dev eth0

Следует отметить, что атрибут -net указывается для того, чтобы провести маршрут именно до сети, а не до отдельного хоста, а после атрибута gw указывается адрес сервера для той сети, в которой начинается маршрут.

Такая маршрутизация позволяет первой сети направлять пакеты из одной сети в другую через сервер.

Заключение

Данная статья должна ответить на базовые вопросы читателей по поводу практической реализации и расставить по местам некоторые вопросы о создании виртуальных локальных сетей в VirtualBox с использованием Linux.

Также стоит отметить, что на практике стоит выбрать другой адрес для первой подсети, например 10.0.0.0/21, чтобы избежать пересекающихся диапазонов адресов.

Источник

Оцените статью
Adblock
detector