Программа настройки локальной сети для сервера

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

  1. Безопасность. Если «изолировать» ваш сервер от «общедоступного» Интернета, вы тем самым значительно повысите его безопасность, потому что потенциальному злоумышленнику нужно будет так или иначе проникнуть «за периметр», прежде чем будет возможен доступ именно к серверу.
  2. Оптимизация затрат. Сейчас уже не осталось свободных подсетей IPv4, на IPv6, так и не получивший еще широкого распространения, надежды тоже мало. Поэтому стоимость IP-адресов растет все время, и если использовать меньше публичных IP-адресов, можно существенно сэкономить.

Как создать локальную сеть vStack

В рамках данной статьи при помощи личного кабинета Serverspace мы создадим маршрутизируемую сеть, автоматически перенаправляющую запросы к нужному серверу при помощи механизма трансляции сетевых адресов (NAT). Порядок действий такой:

Мониторинг устройств локальной сети при помощи Mikrotik The Dude

Первым делом требуется создать собственно локальную сеть. Войдите в личный кабинет, нажмите кнопку vStack Cloud > Networks > Add Network.

Создание локальной сети

Выберите тип сети Isolated, укажите имя сети и выберите регион размещения. Учтите, что регион должен совпадать с дата-центром, где установлены остальные узлы проекта. Внутреннюю адресацию можно отдать на откуп автоматике или указать собственный диапазон.

Выбор типа локальной сети

Далее снова перейдите в раздел vStack Cloud > Networks, снова нажмите Add Network, выберите вариант Routed и создайте узел-шлюз. Укажите пропускную способность создаваемой сети, регион размещения и имя шлюза, после чего “присоедините” шлюз к созданной ранее «внутренней» сети.

Создание узел-шлюза

Настройки локальной сети на серверах

Присоединение узла-шлюза к локальной сети

Запомните выданный «белый» адрес, он будет нужен для входа в вашу сеть извне.

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

Затем нужно подключить сервер (или серверы) к созданной локальной сети. Перейдите в свойства конкретного сервера и добавьте к нему сетевой интерфейс частной сети.

Добавление серверов в локальную сеть

Настройка сервера в локальной сети

Добавление сетевого интерфеса

Для пущей безопасности можно удалить с сервера «публичный» интерфейс или как минимум заблокировать доступ с него «встроенным» файрволлом сервера. Также запомните назначенный серверу «внутренний» IP, он понадобится на следующем шаге.

Назначение IP серверу

Вернитесь обратно к настройкам «шлюза» и добавьте правила переадресации трафика обеспечивающие доступ с внешнего IP сети к серверу внутри периметра.

Настройка правил переадресации трафика внутри сети

Настройка правил переадресации трафика внутри сети

Настройка правил переадресации трафика внутри сети

Если сделать как в указанном примере, вы сможете подключиться по выданному вашей сети IP-адресу и порту 222, запрос будет переадресован на «внутренний» IP сервера и порт 22.

Пример подключения к локальной сети

Заключение

В этой статье я описал, как при помощи функций личного кабинета Serverspace организовать локальную сеть vStack с одним «белым» IP-адресом, и организовать «проброс» портов для доступа к серверу внутри этой сети.

Вам также может быть интересно

  • Заказать VPS сервер с Ubuntu
  • Приложения для установки на сервере
  • Настройка VPN на сервере
Читайте также:
Лучшая программа для монтажа видео на Макбуке

Источник: serverspace.ru

Как запустить свой сервер с белым ip из локальной домашней сети

Я не являюсь сетевым инженером, я просто студент, который решил записать свои действия, чтобы поделиться со знакомыми и не забыть, что я вообще делал. Буду очень рад если меня поправят в комментариях. Этот конспект написан по другим статьям с различных ресурсов, прошу поддержать авторов тех гайдов, у них некоторые моменты расписаны более подробно и возможно вам подойдет именно их статья.

Буду стараться писать очень подробно, чтобы человек, знающий столько сколько я в начале своего пути, все понял.

Вступление

Мне очень давно хотелось поднять видимый извне сервер в своей домашней локальной сети, чтобы использовать его для pet проектов или же возможно для сайта-визитки.

Возникает вопрос: почему не использовать для этого самую простую VPS и не тратить мощности своего компьютера? Ответ очень прост: статический белый ip у меня уже был и давно, а в качестве сервера я решил использовать не основной пк а старый ноутбук. Поэтому дополнительных затрат не предвиделось.

Что мы имеем?

Для справки, на момент написания публикации (2021) стоимость минимальной VPS на доверенном ресурсе — 400 руб. , стоимость белого ip у моего провайдера — 179 руб.

  • Ноутбук (intel core i5 M 560 2,67 GHz, 4/60Gb) с установленной Ubuntu Server 20.04.3 (для создания установочной флешки советую использовать rufus (win) или balenaEtcher (os x)
  • роутер провайдера с подключенным пакетом «статический ip адрес»
  • второй компьютер для тестов (все что делается через браузер можно, конечно, сделать и на телефоне, вопрос удобства)
  • хорошая музыка чтобы процесс не был скучным

Какая цель?

Сделать python3 flask (взял для простоты) сервер доступный из вне.

Установка постоянного локального адреса на сервер

Приступим. Во-первых установим постоянный ip для нашего сервера в локальной сети. По идее изначально используется DHCP (протокол, по которому каждое устройство в сети получает относительно случайный ip адрес, а нам нужен постоянный для сервера, чтобы роутер всегда знал куда отправлять внешние запросы)

  1. Смотрим интерфейс, который мы используем, с помощью ifconfig
  2. В зависимости от того какой тип соединения мы используем (кабель или wi-fi) выбираем файл в катологе /etc/netplan И настраиваем его примерно так:

network: ethernets: ethx: dhcp4: no dhcp6: no addresses: [192.168.1.200/24, ] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1, ] version: 2

  • addresses (6) — адрес нашего сервера в локальной сети, как раз то что мы делаем постоянным /24 означает маску сети (255.255.255.0), в данной ситуации первые 3 числа должны совпадать с локальным адресом роутера, а последнее число произольно. Я выбрал адрес 192.168.1.200
  • gateway4 — шлюз нашей сети, то есть роутер. Его адрес 192.168.1.1, обычно он общий для всех роутеров одного провайдера, так что погуглите (иногда его адрес указывается там же где и пароль от wi-fi)
  • в строке nameservers: addresses (9) указываем тот же адрес что и в gateway4 (простите, но я беспонятия что это)
  • dhcp4: no и dhcp6: no указывают, что мы не будем использовать протокол DHCP
Читайте также:
Как скачивать программы на iOs

На этом этапе возможно потребуется проверка:

  • На сервере: sudo tcpdump -i ethx icmp and icmp[icmptype]=icmp-echo Чтобы следить за тем кто нас пингует.
  • И пингуем его с другого пк внутри локальной сети по адресу 192.168.1.200 .

Также строит проверить есть ли доступ к интернету у нашего ноутбука-сервера: используем команду ping с доменом google.com .

Все это подробно описано в этой статье для Ubuntu, для других дистрибутивов гуглите «Установка статического ip «.

Все работает? Идем дальше!

Рассказываем роутеру про сервер

Теперь наш сервер знает, что мы имеем дело с постоянным ip и не используем протокол DHCP. Самое время рассказать роутеру, что внешние запросы нужно отправлять на сервер. Чтобы получить доступ к настройкам роутера вбиваем в поисковую строку его ip адрес.

Есть два варианта:

  • Установить DMZ зону внутри настроек роутера и указать туда локальный адрес нашего сервера. Этим действием мы делаем наш сервер публичным и теперь любой может попробовать подключиться к нему.
  • Пробросить порты нужных нам ресурсов через роутер на сервер (перенаправление портов). Не забудьте порт SSH (22) и flask (5000) Попробуйте пингануть его из внешней сети.

Все норм? Теперь наш сервер виден из вне, самое время подумать о безопасности.

Защита сервера

Я буду настраивать SSH , Firewall и fail2ban по вот этому очень хорошему гайду. (еще раз, моя цель не скопипастить все что я нашел, а собрать все в одно место, чтобы не забыть) Я делаю все для Ubuntu Server, но в том гайде есть для CentOS и Red Hat.

Во-первых сделаем еще одного пользователя помимо root (1), зададим ему пароль (2) и разрешим использовать root привелегии через sudo (3):

useradd [options] passwd usermod -aG sudo

SSH

Настраивайте по инструкции в статье упомянутой выше. Там мне совсем нечего добавить, кроме подроностей о public и private ключах:

  • ssh-keygen -t rsa генерирует 2 ключа открытый (тот что имеет . pub ) и приватный который (не имеет такого расширения)
  • Открытый ключ отправляется на сервер в файл authorized_keys в папке /.ssh в домашней директории пользователя ( /home/username/.shh/authorized_key ) Для этого можно использовать команду:
  • Закрытый ключ используется для аутентификации, скопируйте его куда-нибудь чтобы не потерять Использовать ключ для входа можно командой:

Важно отключить аутентификацию по паролю иначе мы все это делали зря.

Firewall

Используя проброс портов мы разрешаем доступ к нашему серверу лишь посредством подключений к определенным портам, но DMZ зона допускает почти все типы запросов. Используя DMZ зону нам строит поднять FireWall на сервере, который как раз и ограничит количество портов которые могут принимать внешние запросы.

Разрешим использование SSH (1) и порта 5000 (2) в ufw (Firewall), и запустим Firewall (3):

sudo ufw allow ssh sudo ufw allow 5000/tcp sudo ufw enable

Читайте также:
Летняя концертная программа название

Подняв FireWall важно не забыть разрешить доступ к порту SSH (22) и порту Flask (5000) (ну или другого ПО, которое мы собираемся использовать). Я забыл и долго не понимал, почему мой сервер не отвечает.

На сайте хорошо разобраны команды для управления Firewall-ом.

Fail2ban

Fail2ban ограничивает количество попыток подключения, это сильно усложнит подбор аутентификационных данных SSH.

Для начала установим его (1) и запустим (2, 3):

sudo apt install fail2ban systemctl start fail2ban systemctl enable fail2ban

Теперь можем настроить его, используя эти конфигурационные файлы: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf . Во втором находятся ограничения на количество подключений за определенный промежуток времени и время бана.

Теперь сделаем проверку более сложного уровня

  1. Установим flask и python3:

sudo apt install python3 sudo apt install pip pip install flask
Находясь в директории с этим файлом, запустим сервер:
export FLASK_APP=server.py flask run -h -p 5000

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

94.123.45.70:5000/

Источники

  • https://hackware.ru/?p=4780
  • https://1cloud.ru/help/security/ispolzovanie-utility-ufw-na-inux
  • https://flask.palletsprojects.com/en/2.0.x/quickstart/
  • https://firstvds.ru/technology/dobavit-ssh-klyuch
  • https://habr.com/ru/company/vdsina/blog/521388/
  • https://adminguide.ru/2018/09/24/ubuntu-server-18-04-установка-статического-ip/
  • https://blog.sedicomm.com/2018/07/22/kak-otklyuchit-login-root-po-ssh-v-linux/

Источник: habr.com

Настройка локальной сети через ZeroTier

Если вам нужно поднять локальную сеть, чтобы поиграть по ней с другом или забрать какие-то большие файлы (например, фильмы), вы можете сделать это на минимальном тарифе RUVDS.

Понадобится буквально 5 минут на все, включая подключение. Мы будем использовать софт ZeroTier Network Controller, который есть у нас в маркетплейсе.

1. Сначала надо заказать сервер с Zero Tier. Выберите его в шаблонах при создании сервера.

Шаблон ZeroTier в конфигураторе RUVDS

2. Через пару минут сервер будет готов к использованию и у вас появится его IP-адрес.

Мои серверы RUVDS

3. Теперь нам надо попасть в админку созданного Zero Tier сервера. Введите в браузере httрs://:3443

Админ панель Zero Tier

4. При первом входе пользователя в систему Login с установленными по умолчанию логину и паролю — admin и password:

Аутентификация Zero Tier

5. Для создания виртуальной сети пользователю необходимо перейти во вкладку Add network. Из пункта User это можно осуществить через страницу Home — главную страницу Web-GUI, на которой отображён ZeroTier-адрес данного сетевого контроллера и присутствует ссылка на страницу списка сетей, через него созданных.

Web-GUI Zero Tier

6. На странице Add network пользователь назначьте имя вновь создаваемой сети.

Список сетей Zero Tier

7. Теперь надо перейти во вкладку Easy Setup и нажать на Generate network address

8. Теперь вам нужно скачать ZeroTier на устройство, с которого вы будете подключаться через VPN.

Клиент Zero Tier

9. Устанавливаем ZeroTier.

Установка Zero Tier

10. Дальше нажимаем на значок в верхнем правом углу, нажимаем на Join Network.

Join Network Zero Tier

11. Вводим Network ID созданной сети. Взять его можно в админке, во вкладке Networks.

Network ID Zero Tier

12. Подключаемся, нажав на Join.

Join network Zero Tier

13. Теперь осталось добавить пользователя и устройство. Переходим на вкладку Networks, затем members.

Добавить пользователя Zero Tier

14. Вводим ник для устройства и ставим галочку, нажимаем Resfresh.

Имя устройства Zero Tier

15. Все готово! Теперь у вас есть собственная локальная сеть.

Источник: ruvds.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru