Домашний сервер майкрософтофила

Всегда мечтал о своем сервер с белым ip, стоящим у меня дома. Краткий обзор как же я его сделал на стеке Microsoft Windows 10 + ASP NET Core

Разобраться можно и без скриншотов, но я

Белый IP

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

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

Но, поскольку у меня случился переезд и МТС не мог провести Интернет в новый дом, я начал искать другого провайдера.

Когда я спосил совета у друзей, мне единодушно порекомедовали Ростелеком, поскольку у него есть технология оптоволокна.

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

И вот у них как раз и оказалась доступна услуга статического (белого) IP. При чем она ещё и стоила в два раза дешевле чем в Москве. Здесь раскачивают уже в другую сторону.

У Ростелекома подключение интернета идет через PPPoE и после активации статического IP ничего дальше настраивать не нужно.

Это не реклама.

Кстати, я удивлен почему это услуга все ещё доступна. Разве нас не пугали что все IPv4 адреса заняты?

NAT

Отныне мой роутер торчит наружу в интернет. Но он не умеет сам обрабатывать HTTP-запросы. Нужно настроить NAT для переадресации запросов на компьютер

Мой роутер - Zyxel NBG6615. Настроить можно переадресацию конкретных протоколов и конктреных портов, но для теста я включил переадресацию всех запросов без фильтров на локальный IP сервера

Кроме этого, нужно отключить firewall. Я бы все таки хотел как-то настроить его, а не отключать, но возможности такой не нашел.

Брандмаузер

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

Заходим в Брандмаузер и добавляем новое правило и разрешаем нужный диапазон портов. Для теста 5000-5010

Картинки

Отдает XP-шностью

ASP NET Core

Открываем Visual Studio (потому что на Rider кончилась студенческая подписка) и создаем базовый шаблон для ASP NET Core

Меняем метод CreateHostBuilder в Program.cs

UseKestrel для того, чтобы не ставить IIS

UseUrls чтобы указать открытый порт и хостовать приложение на локальном IP а не localhost

Готово

13.04.2021