Перейти к содержимому

Как сделать сервер общедоступным

  • автор:

Предоставление общего доступа к серверу или терминалу в Visual Studio Code

Предоставление общего доступа к серверу или терминалу в качестве узла сеанса совместной работы в Visual Studio Code.

Общий доступ к серверу

Время от времени организатору совместного сеанса нужно предоставлять гостям доступ к веб-приложениям либо другим локальным серверам или службам. Это могут быть другие конечные точки REST или базы данных и другие серверы. Visual Studio Live Share позволяет указать номер локального порта, при необходимости присвоить ему имя и предоставить общий доступ к нему всем гостям.

Гости в этом случае смогут подключаться к указанному порту сервера, предоставленному в общий доступ, через аналогичные порты на своих локальных компьютерах. Например, если вы предоставили общий доступ к веб-серверу, работающему на порту 3000, гости будут обращаться к тому же веб-серверу на своих компьютерах через порт http://localhost:3000.

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

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

В целях безопасности другим гостям предоставляются только серверы, работающие на указанных портах. Организатору совместного сеанса легко добавить новый порт. Это делается следующим образом:

  1. На вкладке Live Share или на вкладке «Live Share» Обозреватель выберите элемент сервера общего доступа или кнопку: Screenshot that shows the Share server button.
  2. Введите номер порта, на котором работает сервер. При желании также укажите имя. Screenshot that shows the port number prompt.

Вот и все! Теперь сервер, работающий на указанном порту, будет сопоставлен с аналогичным портом, связанным с localhost каждого гостя (если этот порт не был занят).

Если нужный порт на компьютере гостя уже занят, вместо него автоматически выбирается другой. Гость может просмотреть список общих портов (по имени, если они указаны) на вкладке Обозреватель Live Share или вкладке VS Live Share. Список см. в разделе Общие серверы. Если выбрать порт, этот сервер откроется в браузере. Можно также щелкнуть сервер правой кнопкой мыши и выбрать действие копирования ссылки на сервер в буфер обмена.

Screenshot that shows the Shared Servers list.

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

Чтобы отменить общий доступ к локальному серверу, организатор может навести указатель мыши на элемент сервера в списке Общие серверы, а затем нажать кнопку Отменить общий доступ к серверу.

Screenshot that shows the Unshare server button.

Общий доступ к терминалу

Современные разработчики часто используют разнообразные средства командной строки. Live Share позволяет организаторам совместно использовать терминал с гостями. Общий терминал может быть доступен только для чтения или для всех операций совместной работы, чтобы и вы, и гости могли выполнять команды и просматривать результаты. Вы можете сделать вывод терминала видимым для гостей. Вы также можете разрешить гостям выполнять тесты или создавать сборки, и даже изучать связанные со средой проблемы, которые возникают только на вашем компьютере.

По умолчанию терминалы не используются совместно, так как при этом гостям предоставляется как минимум доступ для чтения выходных данных всех запускаемых команд (или даже возможность самостоятельно выполнять любые команды). Такая конфигурация по умолчанию позволяет выполнять команды в локальных терминалах с меньшим риском и предоставлять общий доступ только при необходимости. И только организаторы могут запускать общие терминалы. За счет этого ограничения гости не смогут запустить общий терминал и сделать что-то неожиданное.

В качестве узла можно предоставить общий доступ к терминалу на вкладке Live Share или live Share Обозреватель. Выберите элемент терминала или кнопку «Общий доступ» :

Screenshot that shows the Share terminal button.

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

В целях безопасности необходимо предоставлять гостям доступ на чтение и запись, только если это действительно необходимо. Используйте терминалы только для чтения, если хотите, чтобы гости только просматривали выходные данные выполняемых вами команд. Учтите, что доступ на чтение и запись предоставляет гостям те же права доступа к терминалу, которые есть у вас. Они как и вы могут выполнить любую команду на вашем компьютере.

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

Screenshot that shows the Read-only and Read/write choices for access level.

Когда вы выберете нужный тип общего терминала, этот терминал появится на вкладке Терминал в Visual Studio Code.

Screenshot that shows the Terminal tab in Visual Studio Code.

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

Screenshot that shows the Shared Terminals list.

Чтобы завершить сеанс терминала, введите выход, закройте окно терминала или нажмите кнопку «Отменить общий доступ» на вкладке live Share Обозреватель или вкладке Live Share. Все будут отключены.

Следующие шаги

Дополнительные сведения см. в следующих статьях:

  • Краткое руководство. Предоставление общего доступа к первому проекту
  • Краткое руководство. Присоединение к первому сеансу
  • Установка и вход в Live Share в Visual Studio
  • Требования к подключению для Live Share
  • Функции системы безопасности Live Share
  • Сведения об установке Linux

Возникли проблемы? Ознакомьтесь с разделом по устранению неполадок или отправьте отзыв.

Статья Делаем локальный сайт (на localhost) доступным для других компьютеров

Эта статья для тех, у кого есть сайт на локальном сервере и кто хочет сделать его доступным с других компьютеров. Кстати, если у вас ещё нет локального сервера, то вы с лёгкостью его поставите по этой инструкции. Подразумевается, что ваш сервер установлен по указанной инструкции, если это не так, то файлы могут находится в других директориях.

  • внутри квартиры (всегда);
  • внутри локальной домашней сети (почти всегда);
  • для всех пользователей Интернета (не всегда).

Разница в вероятностях (всегда-иногда) заключается в вашем IP. Если он статический, то всё делается довольно легко. Как делать локальный сервер при динамическом IP в этой статье не описывается.

Внутри своей квартиры вы сами задаёте политику присвоения адресов — например, Wi-Fi роутер может раздавать устройствам произвольные, динамические IP адреса; и можно настроить роутер и устройства так, что всем им будут присвоены определённые статические адреса.

Домашние локальные сети, как правило, организовываются региональными провайдерами. Внутри этих сетей все пользователи, обычно, имеют два IP: один — локальный (статический, который пользователь вписывает при настройки комьпютера или сетевого оборудования) второй — динамический который присваивается при доступе в Интернет.

Локальные адреса, в основном, имеют такой вид (вместо нулей должны быть другие цифры):

172.16.0.0 192.168.0.0

Открываем файл C:ServerbinApache24confhttpd.conf и ищем там строчку

Listen 127.0.0.1:80

Нам нужно заменить IP адрес на свой, например, мой локальный IP адрес 192.168.43.90, следовательно, я пишу:

Listen 192.168.43.90:80

Как вариант, можно сделать вот так:

Listen *:80

Сохраняем файл и перезапускаем сервер. На самом деле — всё!

Пробуем доступ к серверу набрав в строке браузера свой IP (я набираю http://192.168.43.90/ ), как и следовало ожидать — доступа нет, но причина очевидна: файервол. Его нужно настроить должным образом, но для нашего тестирования я его просто отключаю.

28467

Теперь всё впорядке и ваш сайт доступен по адресу http://192.168.43.90/ с любого устройства, находящегося в вашей домашней или городской сети. На следующем скриншоте, я зашёл на локальный сервер с телефона:

28468

24 часа в сутки

Если у вас статичный IP для интернет соединений (у некоторых Интернет провайдеров можно подключить эту услугу за отдельные деньги), то вы можете сделать из своего компьютера самый настоящий хостинг-сервер! Понятное дело, что компьютер должен быть включен 24 часа в сутки, иначе на ваш сайт невозможно будет попасть.

Внутри локальной (домашней) сети вы можете придумать имя своему сайту и попросить ваших друзей и всех тех, кто будет заходить на него внести изменения в файл
C:WindowsSystem32Driversetchosts
Каждому из них нужно будет добавить туда строчку:
ваш_IP ваш_сайт
например
192.168.43.90 alexblog.local
После этого набирая в адресной строке браузера http://alexblog.local они будут попадать на ваш сайт.

Зачем все эти сложности?

Открытие доступа к локальному серверу может быть полезным по ряду причин, правда, обычно они довольно специфические. Те, кто этим занимаются, знают для чего они это делают. Сейчас, когда не нужно платить за трафик (но нужно платить за электричество), гораздо разумнее разместить свой сайт (доступ к которому вы хотите открыть для всех) на хостинге.

Ссылка скрыта от гостей

Более того, открывая доступ к своему localhost нужно подумать о безопасности. В данной статье я этот вопрос не затрагиваю, но могу вас заверить, что Apache, запущенный от имени администратора (а именно так он у большинства на локахосте и запущен), через скрипты PHP (или уязвимости в них), может «путешествовать» по каталогам дисков. Т.е., по крайне мере теоретически, злоумышленник через уязвимости в вашем сайте может скачать файлы с вашего компьютера или удалить файлы, например, в директории Windows. Если заботиться о безопасности локального сервера является слишком сложным занятием для вас, то ответ очевиден — хостинг.

Ссылка скрыта от гостей

, которые бывают на хостингах и самая низкая цена!

Хотите узнать, как заполучить короткий и красивый адрес электронной почты (e-mail)? или как выбрать качественный хостинг? Всё это и многое другое на сайте codeby.net. Подписывайтесь на нашу e-mail рассылку (внизу страницы) или на ленту новостей и вы узнаете первым о новых статьях! Также вступайте в нашу официальную группу вконтакте — там вам очень рады!

Как запустить свой сервер с белым 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

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

  • На сервере: 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 ) Для этого можно использовать команду:

cat ~/.ssh/id_rsa.pub | ssh root@ip-адрес-сервера 'cat >> ~/.ssh/authorized_keys'
  • Закрытый ключ используется для аутентификации, скопируйте его куда-нибудь чтобы не потерять Использовать ключ для входа можно командой:
ssh -i @

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

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
from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "

Hello, World!

"

Находясь в директории с этим файлом, запустим сервер:

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/

Valheim — Как создать и настроить выделенный сервер

Как создать и настроить выделенный сервер в Valheim и поиграть онлайн с друзьями

1 апреля 2021

Кооперативный симулятор викинга Valheim с огромной скоростью продолжает набирать популярность, несмотря на статус “В раннем доступе”. В Valheim присутствует как однопользовательский режим, где вы можете бросить вызов жестокому миру, пропитанному скандинавской мифологией и культурой викингов, а также кооперативный режим, позволяющий исследовать мир вместе с друзьями. Если второй вариант вам по душе, то можно создать локальный сервер или подключиться к уже существующему серверу, но в компании “местных” обитателей. Третий вариант немного сложнее — создать и настроить свой выделенный сервер в Вальхейм, которым вы сможете пользоваться как для личного использования с разных устройств, так и для кооперативной сессии с друзьями. Хотя на данный момент к серверу могут присоединиться до десяти человек, разработчики рекомендуют не больше пяти для комфортной игры и сбалансированной сложности.

В данном гайде мы расскажем как скачать, установить, настроить и запустить личный выделенный сервер в valheim.

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

Ранее для запуска своего сервера было необходимо скачивать дополнительные приложения, сейчас же — все доступно прямо в steam. Откройте свою библиотеку Steam и введите в строку поиска «Выделенный сервер Valheim», после чего данный набор компонентов для сервера станет вам доступен. Стоит отметить, данный инструмент автоматически появится в вашей библиотеке после покупки игры.

Valheim - Как создать и настроить выделенный сервер

Как только вы загрузите и установите Valheim Dedicated Server, не торопитесь его запускать. Изначально необходимо перейти в корневую папку установленного сервера и найти файл “start_headless_server”. Необходимо сделать резервную копию файла на случай, если что-то пойдет не по плану.

После этого возвращаемся к исходной версии файла, который располагается в директории сервера. Открываем “start_headless_server” блокнотом или любым другим текстовым редактором и ищем строку “valheim_server”. На данном этапе необходимо дать название вашему серверу и установить порт, который вы используете на своем маршрутизаторе. Чтобы узнать номер порта, войдите в настройки своего маршрутизатора и выберите пункт «Перенаправление портов». Убедитесь, что указанные порты открыты в брандмауэре вашего маршрутизатора и компьютера.

Valheim - Как создать и настроить выделенный сервер

Строки, которые необходимо изменить в документе:

  • -name “My server” — отображаемое название сервера. Вписывать обязательно в кавычки;
  • -port 2457 — порт;
  • -world “Dedicated” — отображаемое название мира. Выбранное название не может содержать слова, которые используются в имени сервера;
  • -password «GoHaRu” — установите пароль для входа на сервер. Если оставить поле пустым, то сервер станет общедоступным;

После редактирования сохраните документ, после чего запустите Valheim Dedicated Server через библиотеку Steam. У вас появится окно с уведомлениями, где через некоторое время появится оповещение “Игровой сервер подключен”.

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

Как присоединиться к выделенному серверу Valheim

Если у вас возникли проблемы с поиском выделенного сервера Valheim, то не стоит отчаиваться. Сразу же проверьте настройки сервера и порты, которые могут быть заблокированы в брандмауэре. Решить эту проблему может встроенная в Steam функция сохранения серверов. Откройте Steam и нажмите на вкладку “Вид” в верхнем левом углу, после чего откройте “Серверы”, куда можно будет добавить ip-адрес нужного нам сервера.

Valheim - Как создать и настроить выделенный сервер

Откройте вкладку “Избранное” и введите IP-адрес сервера и порт. Пример: 123.123.123.123:2457

После добавления сервер останется в избранном, после чего можно двойным кликом подключится к нему. Если сервер работает, то в игровом клиенте Valheim начнется загрузка мира.

Выключение сервера

Если вы хотите остановить работу своего выделенного сервера Вальхейм, то можно воспользоваться несколькими вариантами. В главном меню сервера нажмите клавишу “X”, либо через библиотеку Steam выделите Valheim Dedicated Server и принудительно остановите его работу.

Кооперативная игра без выделенного сервера

Выделенный сервер — это крайне удобный вариант для совместной игры, но при этом совсем не обязательный. Вы точно так же можете создать локальный сервер в одиночной сессии и пригласить туда друзей напрямую через Steam (Shift + Tab для активации оверлея Steam, затем щелкните на игрока из списка друзей правой кнопкой мыши и выберите пункт “Пригласить в игру”). Локальная сессия накладывает некоторые ограничения. Основное неудобство такого сервера заключается в том, что как только создатель покинет игру, сервер автоматически будет выключен. Все игроки, находящиеся в этот момент на сервере, моментально покинут игру и, возможно, потеряют весь несохраненный прогресс. Выделенный сервер функционирует сам по себе, что позволяет всем игрокам продолжать приключения, даже если хост спит!

На этом все. Создавайте свои сервера, делитесь ими с друзьями, либо же в нашем разделе по Valheim.

Автор: Zorya

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

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