Всем привет. Меня зовут Максим, и уже почти два года я содержу домашний сервер.

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

Устройства

На данный момент в моей сети больше дюжины виртуальных машин, вот основные из них:

  • Proxy - входная точка для всех моих веб-сайтов

  • Машина для контейнеров (пет-проекты, базы данных и другие сервисы)

  • Media сервер, на котором крутится Deluge и Samba шара

  • 3 машины под Kubernetes-кластер

  • 2 инстанса Zabbix

  • 3 виртуалки, которые я раздал знакомым

Также есть отдельная машина под CA, Windows 10, которая иногда используется как рабочее место через RDP, OpenVPN сервер и др. В данной статье я рассмотрю только основные машины.

Первое, что мы сделаем - логически разделим машины по группам и изолируем сети с помощью VLAN

Машина

Подсеть

Proxy, Машина с контейнерами

VLAN 10

Media сервер

VLAN 11

Kubernetes кластер

VLAN 17

Выделенные виртуальная машина 1

VLAN 20

Выделенные виртуальная машина 2

VLAN 21

Выделенные виртуальная машина 2

VLAN 22

Proxmox

VLAN 77

Zabbix, Рабочий компьютер

VLAN 99

Почти все мои контейнеры - это веб-приложения, поэтому я объединил Proxy и Машину с контейнерами в одну подсеть VLAN10

Из двух Zabbix-ов только один обслуживает мою сеть, и располагаться он будет в админском VLAN99, также сюда я кину свой рабочий комп

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

Настройка роутера Mikrotik

Создание VLAN

Первое что мы сделаем - создадим bridge для наших VLAN

/interface/bridge/add name=bridge-vlan

Добавим в наш бридж порты

/interface/bridge/port/add bridge=bridge-vlan interface=ether2 pvid=10
/interface/bridge/port/add bridge=bridge-vlan interface=ether3 pvid=99

В данном случае за ether2 находится Proxmox и тег прописывать не обязательно, т.к весь трафик оттуда почти всегда будет тегирован, но если это не так, с помощью этой настройки он будет по-умолчанию определен к VLAN10

За ether3 находится рабочий компьютер, который как указано выше относится к VLAN99

Укажем какие теги могут ходить через наш бридж:

  1. VLAN с номерами 11,17,20,21,22,77,99 могут проходить через порт ether2

  2. Если на ether2 приходит кадр без тега, считаем, что он относится к VLAN10

  3. Весь трафик приходящий на ether3 относится к VLAN99

/interface/bridge/vlan
add bridge=bridge-vlan tagged=bridge-vlan,ether2 vlan-ids=11,17,20,21,22,77,99
add bridge=bridge-vlan tagged=bridge-vlan untagged=ether2 vlan-ids=10
add bridge=bridge-vlan untagged=ether3 vlan-ids=99

Создадим интерфейсы для наших VLAN-ов
Общий шаблон команды

/interface/vlan/add name=vlanX vlan-id=X interface=bridge-vlan disabled=no

Где X - номер VLAN-a

Теперь нужно назначить адреса VLAN-интерфейсам
Я использую вот такой шаблон 192.168.X.0 (где X - номер VLAN)

/ip/address/add address=192.168.10.1/27 interface=vlan10
/ip/address/add address=192.168.11.1/29 interface=vlan11
/ip/address/add address=192.168.17.1/27 interface=vlan17
/ip/address/add address=192.168.20.1/30 interface=vlan20
/ip/address/add address=192.168.21.1/29 interface=vlan21
/ip/address/add address=192.168.22.1/29 interface=vlan22
/ip/address/add address=192.168.77.1/30 interface=vlan77
/ip/address/add address=192.168.99.1/27 interface=vlan99

Настройка DHCP

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

/ip/pool/add name=vlan10-pool ranges=192.168.10.2-192.168.10.30
/ip/pool/add name=vlan11-pool ranges=192.168.12.2-192.168.11.6
/ip/pool/add name=vlan17-pool ranges=192.168.17.2-192.168.17.30
/ip/pool/add name=vlan20-pool ranges=192.168.22.2
/ip/pool/add name=vlan21-pool ranges=192.168.21.2-192.168.21.6
/ip/pool/add name=vlan22-pool ranges=192.168.22.2-192.168.22.6
/ip/pool/add name=vlan77-pool ranges=192.168.77.2
/ip/pool/add name=vlan99-pool ranges=192.168.99.2-192.168.99.30

Непосредственно создание DHCP серверов

/ip/dhcp-server/add address-pool=vlan10-pool disabled=no interface=vlan10 name=vlan10-dhcp
/ip/dhcp-server/add address-pool=vlan11-pool disabled=no interface=vlan11 name=vlan11-dhcp
/ip/dhcp-server/add address-pool=vlan17-pool disabled=no interface=vlan17 name=vlan17-dhcp
/ip/dhcp-server/add address-pool=vlan20-pool disabled=no interface=vlan20 name=vlan20-dhcp
/ip/dhcp-server/add address-pool=vlan21-pool disabled=no interface=vlan21 name=vlan21-dhcp
/ip/dhcp-server/add address-pool=vlan22-pool disabled=no interface=vlan22 name=vlan22-dhcp
/ip/dhcp-server/add address-pool=vlan77-pool disabled=no interface=vlan77 name=vlan77-dhcp
/ip/dhcp-server/add address-pool=vlan99-pool disabled=no interface=vlan99 name=vlan99-dhcp

Пропишем параметры которые будут получать клиенты DHCP (default-gateway, DNS)

/ip/dhcp-server/network/add address=192.168.10.0/27 gateway=192.168.10.1 dns-server=192.168.10.1
/ip/dhcp-server/network/add address=192.168.11.0/29 gateway=192.168.11.1 dns-server=192.168.11.1
/ip/dhcp-server/network/add address=192.168.17.0/27 gateway=192.168.17.1 dns-server=192.168.17.1
/ip/dhcp-server/network/add address=192.168.20.0/30 gateway=192.168.20.1 dns-server=192.168.20.1
/ip/dhcp-server/network/add address=192.168.21.0/29 gateway=192.168.21.1 dns-server=192.168.21.1
/ip/dhcp-server/network/add address=192.168.22.0/29 gateway=192.168.22.1 dns-server=192.168.22.1
/ip/dhcp-server/network/add address=192.168.77.0/30 gateway=192.168.77.1 dns-server=192.168.77.1
/ip/dhcp-server/network/add address=192.168.99.0/27 gateway=192.168.99.1 dns-server=192.168.99.1

Настройка гипервизора

Я использую Proxmox в качестве гипервизора, настройка VLAN в нем очень простая.

Содержимое файла /etc/network/interfaces

auto lo
iface lo inet loopback

iface enp5s0 inet manual

auto vmbr0
iface vmbr0 inet manual
        bridge-ports enp5s0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2-4094

auto vmbr0.77
iface vmbr0.77 inet dhcp

vmbr0 - Linux Bridge, который настроен на работу с VLAN. Все виртуальные машины присоединены к этому мосту и им можно присвоить тег VLAN.
Машины, у которых VLAN Tag пустой будут отправлять нетегированный трафик.

vmbr0.77 - Это интерфейс, через который происходит взаимодействие с самим Proxmox. Через точку указывается тег VLAN ()

Итак, VLAN-ы созданы, трафик тегируется, но сети все еще не изолированы.

Firewall правила для VLAN

Фаервол в Mikrotik настраивается точно также как и iptables

VLAN99, в котором находится Zabbix и рабочая станция должны иметь доступ ко всей сети.

Создадим группу интерфейсов, в терминологии Mikrotik она называется Interface List, и добавяим туда VLAN99

/interface/list/add name=ADMIN
/interface/list/member/add interface=vlan99 list=ADMIN

Для группы применяем разрешающее правило

/ip/firewall/filter/add chain=forward action=accept in-interface-list=ADMIN

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

Остальные VLAN-ы должны быть изолированы друг от друга
Создадим еще одну группу интерфейсов

/interface/list/add name=VLAN

Добавим в нее наши VLAN-интерфейсы

/interface/list/member/add interface=vlan10 list=VLAN
/interface/list/member/add interface=vlan11 list=VLAN
/interface/list/member/add interface=vlan17 list=VLAN
/interface/list/member/add interface=vlan20 list=VLAN
/interface/list/member/add interface=vlan21 list=VLAN
/interface/list/member/add interface=vlan22 list=VLAN
/interface/list/member/add interface=vlan77 list=VLAN
/interface/list/member/add interface=vlan99 list=VLAN

И создадим запрещающее правило

/ip/firewall/filter/add chain=forward action=drop in-interface-list=VLAN out-interface-list=!WAN 

Тем самым разрешаем пересылать пакеты из VLAN только в Интернет.

Доступ к сети извне. Настройка VPN

В Mikrotik теперь есть возможность создавать Wireguard сервер. Мне нравится, что он простой, легкий и прозранчый, поэтому использовать я буду его.

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

  • Админские устройства

  • Устройства семьи

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

/interface/wireguard/add listen-port=12111 name=wireguard-admin
/interface/wireguard/add listen-port=12112 name=wireguard-family
/interface/wireguard/add listen-port=12113 name=wireguard-tolya
/interface/wireguard/add listen-port=12114 name=wireguard-leha

Wireguard-интерфесам необходимо назначить адреса

/ip/address/add address=10.99.0.1/29 interface=wireguard-admin
/ip/address/add address=10.12.0.1/27 interface=wireguard-family
/ip/address/add address=10.21.0.1/29 interface=wireguard-tolya
/ip/address/add address=10.22.0.1/29 interface=wireguard-leha

Настройку пиров я опущу, ради экономии букв, и вернемся к Firewall-у

Firewall правила для VPN

Для работы Wireguard нужно открыть порты

/ip/firewall/filter/add chain=input action=accept protocol=udp dst-port=12111,12112,12113,12114 

Добавим интерфейс wireguard-admin в группу ADMIN, тем самым дав доступ ко всей сети.

Samba-сервер и Proxy будут доступны для группы Family

Дабы не привязываться к айпишникам машин можно создать группу устройств, в терминологии Mikrotik - Address List

/ip/firewall/address-list/add list=Media address=<media-server-ip>/32
/ip/firewall/address-list/add list=Proxy address=<proxy-server-ip>/32

И прописать правила

/ip/firewall/filter/add chain=forward action=accept dst-address-list=Media protocol=tcp dst-port=139,445 in-interface=wireguard-family
/ip/firewall/filter/add chain=forward action=accept dst-address-list=Proxy protocol=tcp dst-port=80,443 in-interface=wireguard-family

Арендуемые машины будут доступны через соотвествующие Wireguard-интерфейсы

/ip/firewall/filter/add chain=forward action=accept dst-address-list=TolyaMachines in-interface=wireguard-tolya
/ip/firewall/filter/add chain=forward action=accept dst-address-list=LehaMachines in-interface=wireguard-leha

Остальных Wireguard-клиентов нужно изолировать друг от друга

По классике, создаем группу интерфейсов WIREGUARD

/interface/list/add name=WIREGUARD

Добавляем туда наши Wireguard-интерфейсы

/interface/list/member/add interface=wireguard-admin list=WIREGUARD
/interface/list/member/add interface=wireguard-family list=WIREGUARD
/interface/list/member/add interface=wireguard-tolya list=WIREGUARD
/interface/list/member/add interface=wireguard-leha list=WIREGUARD

Создаем запрещающее правило

/ip/firewall/filter/add chain=forward action=drop in-interface-list=WIREGUARD

Сайты

Некоторые из расположенных у меня сайтов доступны из сети, для этого к Proxy проброшены 80 и 443 порты.

На роутере работает DNS сервер, который резолвит имена внутренних сервисов и машин.
В NGINX, для доменов, которые должны быть доступны только внутри сети, нужно прописать ограничения на Source Address

Чтоб ограничить IP-адреса, можно использовать директивы deny и allow
Вот часть файла конфигурации сайта

server {
	allow 192.168.0.0/16; # доступ внутри сети
	allow 10.0.0.0/8; # доступ по VPN
	deny all;
	....

Если данных действий не предпринять, можно получить доступ к сайту из Интернета, путем подстановки домена через локальный DNS или, например, через CURL

curl http://SOME.INTERNAL.SERVICE --resolve 'SOME.INTERNAL.SERVICE:80:<public-ip>'

Вывод

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

По максимуму закрыли все порты и используем VPN для доступа к внутренней сети, по аналогии с VLAN-ами, лучше использовать несколько VPN-профилей и настраивать правила для каждого по-отдельности.

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

Комментарии (47)


  1. Apv__013
    13.06.2024 15:11
    +5

    Ужас то какой. Называть это "домашним" сервером язык не поворачивается. Зачем всё это дома?


    1. goth
      13.06.2024 15:11
      +23

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


      1. pae174
        13.06.2024 15:11
        +6

        Я так в 2003 году хостинговую компанию в чулане накреативил, и в 2005 продал вместе с примерно 1000 клиентов.


        1. Dick_from_mountain
          13.06.2024 15:11
          +1

          Чулан или компанию продал?


          1. Turbo_Pascal_55
            13.06.2024 15:11

            Клиентов - налоговой.


        1. HumbleCommentor
          13.06.2024 15:11

          Что такое чулан?


          1. PabloP
            13.06.2024 15:11
            +22

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


    1. Dolios
      13.06.2024 15:11
      +17

      Организуем садовый инвентарь на даче:

      • экскаватор с траншеекопателем убираем в быстровозводимый ангар

      • для двух теплиц, которые я сдал в аренду знакомым делаем отдельные входы, чтобы не шлялись по участку

      • устраиваем 24/7 видеонаблюдение с будкой охранника в гараж на 8 машин

      • строительство насосной станции оставляем на следующий дачный сезон

      )))


      1. PereslavlFoto
        13.06.2024 15:11
        +2

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


        1. Dolios
          13.06.2024 15:11

          В 90-е у нас тоже была фазенда с теплицами. Теперь для меня дача, это газон и ёлки с берёзками.


    1. kenomimi
      13.06.2024 15:11
      +3

      Тоже когда-то держал такое дома)

      Потом купил сервак за три копейки (а Х79 стоят как металлолом, несмотря на то, что для дома там мощи за глаза), набил его на топ-конфиг - это тоже почти бесплатно, и поставил в колокейшн. Ну его нафиг, держать железо дома - шум, постоянные отказы из-за пыли и статики, ну и электричества он нажирает ровно на те же 3к, что плачу за место в серверной и 100мбит анлим.

      Зачем? Видеонаблюдение на 10 камер. Умный дом (openhab). Независимый от вендора музыкальный плеер. Почта, календарь, контакты, жаббер - последний для уведомлений от систем. Несколько десктопных виртуалок для экспериментов по работе. Свой гитлаб, свои репы жавы, докера, и прочее, сейчас вот надо еще сделать зеркала дебиана и арча. Файловый сервер. Фотоальбом а-ля гугл фото. Система бекапа всего с бекконектом. Еще десятка два всякой мелочевки, нужной в работе... Всё это завернуто в ipsec и видно только изнутри, снаружи торчит только почта и ipsec.

      Это чертовски удобно, когда разберешся в теме и настроишь.


      1. maxitop
        13.06.2024 15:11
        +1

        >>Фотоальбом а-ля гугл фото

        А какое именно ПО в качестве фотоальбома используете?


        1. kenomimi
          13.06.2024 15:11

          Photoprism. Там и в браузере удобно смотреть, и приложения есть, и видео можно держать. Кто бы еще бесшовную синхронизацию как в гугле прикрутил... Умеет индексировать картинки, распознавать их и тегировать - но я этот функционал не гонял.


  1. Kil1J0y
    13.06.2024 15:11
    +4

    В целом тема раскрыта не полностью, нет ids ips, в данном варианте была бы не лишней..


    1. Antra
      13.06.2024 15:11

      И WAF ;:)

      Ну или хотя бы публиковать через Cloudflare, пока можно.


    1. DrMagic
      13.06.2024 15:11

      И VPS/VDS можно начать предоставлять клиентам.


  1. Vaitek
    13.06.2024 15:11
    +4

    А я бы на фото посмотрел, как организованна стойка, кабель менеджмент, охлаждение, звукоизоляция...


    1. Alexsey
      13.06.2024 15:11

      Это все, при наличии бюджета, в общем-то можно уместить в один ATX системник + микрот закинуть сверху. Если бюджета нет, то два ATX системника с б/у зеонами. Хотя может с б/у эпиками можно и в один корпус уже уложиться. Упихать это в корпус fractal define и с шумом и охлаждением проблем особо не будет.


      1. fshp
        13.06.2024 15:11
        +2

        Я такое засунул в DeepCool корпус. 32 ядра Epyc, 256 гигов ddr4 ecc.


      1. nidalee
        13.06.2024 15:11
        +1

        В зеоны влезать особого смысла нет, на али уже эпики продают. Да и смысл? Какие задачи крутить на нескольких NUMA-нодах? У меня 3900Х в "сервере" простаивает большую часть времени (к сожалению).

        А вот файлопомойка - другое дело. В Fractal Design R5 влезает при большом желании 14 HDD - проверял лично. Дальше без рэкового корпуса расти, вроде, некуда.


        1. Alexsey
          13.06.2024 15:11

          Ну у автора дофига виртуалок, я исходил из мысли не шарить ядра между виртуалками.

          В R5 упихать больше 10 3.5" сейчас уже проблематично будет, вторую корзину и салазки к ней искать даже не представляю где, если только печатать на 3д принтере. Даже до 2022 уже вопросы возникали с тем где искать запчасти к нему, мне саппорт производителя еле-еле салазки на замену нашел.


          1. nidalee
            13.06.2024 15:11
            +2

            Ну у автора дофига виртуалок, исходил из мысли не шарить ядра между виртуалками.

            Есть подозрение, что они тоже с хорошим таким простоем :)

            В R5 упихать больше 10 3.5" сейчас уже проблематично будет, вторую
            корзину и салазки к ней искать даже не представляю где, если только
            печатать на 3д принтере.

            О 3D принтере и не думал даже, кстати. 8 туда влезает их коробки, еще 3 добиваем через 5.25 бей, а слева от стойки с HDD влезает еще рандомная с aliexpress. Слегка перекрывает материнскую плату справа снизу, но 3-4 диска добавить туда не проблема. У меня вот такая. Прикрутить ее можно через отверстия для вентиляции, но лично я даже и не заморачивался - она там без винтов встает плотно.


            1. Alexsey
              13.06.2024 15:11

              У меня только два влезло в 5.25. Ну наверное можно извратиться с каким-нибудь хитрым адаптером, я просто 5.25 -> 3.5 в оба слота впихнул. А вот за ссылку на корзину спасибо, надо прикупить.


              1. nidalee
                13.06.2024 15:11

                Вот в такого красавчика влезает 3 HDD. Не знаю, можно его сейчас купить или нет.


        1. Moog_Prodigy
          13.06.2024 15:11

          Кажется, я нашел компьютерный корпус моей мечты =)


      1. peabody28 Автор
        13.06.2024 15:11

        Я так и сделал, именно во fractal-е все стоит, шумка, тихие кулеры


    1. vikarti
      13.06.2024 15:11

      У меня нечто подобное :)

      Только: DHCP раздает AdGuard Home + есть еще OPNsense и всем "пользовательским" машинам (они в другом VLAN) адреса раздает по DHCP уже OPNsense. хардварный Mikrotik сейчас чисто подключения к провайдерам держит и NAT + VPN-туннель к CHR (даже правила что в туннель уже сделаны не схеме с хабра с BGP от антифильтра и микротике а на OPNsense, так удобнее). А стойка...плохо она организована.


  1. GennPen
    13.06.2024 15:11
    +1

    Что то не понятно. Это с каждой новой виртуалкой нужно лезть в настройки сети гипервизора и коммутатора чтобы добавить для нее VLAN? Не проще ли на уровне фаервола изолировать виртуалки?


    1. M_AJ
      13.06.2024 15:11

      Да, это очень странный момент, с учетом того, что в Proxmox есть SDN, и разделять виртуалки можно там, лишний раз не заходя в настройки роутера.


      1. GennPen
        13.06.2024 15:11

        Тут предложенный PVLAN тоже подойдет. Раньше не задумывался о нем, а сейчас опробовал - выглядит очень даже неплохо. Изолированные порты, все дела, даже фаервол не нужно настраивать для изоляции.


  1. Danismind
    13.06.2024 15:11

    Добрый день, а zookeper для k8s используете?


    1. peabody28 Автор
      13.06.2024 15:11

      Нет, о таком даже не знаю, нужно будет почитать


  1. Danismind
    13.06.2024 15:11

    И еще небольшой вопрос: предположим Вас атаковали, как Вы будете восстанавливаться?


  1. Antra
    13.06.2024 15:11

    Не разбирались, как mDNS и всякие бонжуры между VLAN настраивать?


  1. JYE
    13.06.2024 15:11
    +10

    У автора есть жена?


    1. redfox0
      13.06.2024 15:11
      +31

      Наверняка есть и не одна, но они сидят в разных vlan'ах и не знают друг о друге.


    1. peabody28 Автор
      13.06.2024 15:11

      Автор - студент 3-го курса


      1. exTvr
        13.06.2024 15:11
        +1

        Автор - студент 3-го курса

        Это абсолютно не помеха :))


  1. GritsanY
    13.06.2024 15:11

    Неужели Microtik не поддерживает PVLAN?


  1. NikaLapka
    13.06.2024 15:11
    +6

    То чувство, когда после клика на заголовок, хотел увидеть рассуждения на тему: можно ли всё выше перечисленное сделать на одном единственном сетевом адаптере, или Best Practice всегда подразумевает наличие отдельного физического сетевого адаптера для управления(это не вопрос организации xLAN, а безопасности эмуляции и гипервизоров), или безопасно ли использовать stable пакеты вроде(Debian 12 stable) nginx 1.22.1, OpenVPN 2.6.3, php-fpm 8.2,.. или лучше всегда устанавливать приложения, принимающие соединения, из официальных репозиториев, с актуальной stable версиях, для своевременного ответа CVE,.. но вместо этого увидел лишь очередной пример, конфигурации VLAN'ов на RouterOS. Разочарован.


    1. poige
      13.06.2024 15:11
      +1

      это даже how-to назвать сложно, скорее записки для себя как-чего настроил. Без ответов/размышлений про отчего и зачем. Никакого ядра концепта, просто деревья леса.


  1. NutsUnderline
    13.06.2024 15:11
    +1

    все таки не совсем простой материал и структура тяжеловата для понимания, я бы выводы перенес в начало или понятными подзаголовками "делаем так чтобы виртуалки имели доступ в интернет но не имели доступа друг-другу", "настраиваем виртуалки для Лехи и Толи", "защищаем сайт от ненужного доступа"


  1. Keeper10
    13.06.2024 15:11
    +1

    • Proxy - входная точкой для всех моих веб-сайтов

    • Машина для контейнеров (пет-проекты, базы данных и другие сервисы)

    • Media сервер, на котором крутится Deluge и Samba шара

    • 3 машины под Kubernetes-кластер

    • 2 инстанса Zabbix

    • 3 виртуалки, которые я раздал знакомым

    Надеюсь, всё это запущено на том же микротике?


  1. LeMaX
    13.06.2024 15:11
    +1

    По собственному опыту, как начал греться домашний роутер, пришел к тому, что палить свой реальный IP паршивая затея. Купил за 200 в месяц виртуалку внешнюю, через которую завернул весь трафик не домашний сервер.

    Он и по гео все запросы отсекает, и по спискам на всякий.


    1. Antra
      13.06.2024 15:11
      +1

      Точно! Одна маленькая виртуалка сразу кучу задач решает

      На ней и nginx/traefik как реверс прокси. Одна точка входа для разных внутренних сервисов, расположенных на разных домашних виртуалках. И letsencrypt.

      И даже проброс acme challenge для letsencrypt в Кубере, чтобы на ингрессе своем дома тоже актуальые сертификаты держал.

      И Zerotier еще, чтобы подключения были через нее, свою, а не через кого-то. А с нее домой уже по стандартному туннелю (исходящий Wireguard, к примеру, и дома хоть динамический IP за Hide NAT - все равно все хорошо работает).


      1. LeMaX
        13.06.2024 15:11

        Да! На внешней виртуалке у меня как раз nginx как реверс прокси версия от сообщества lua antiddos типа с защитой l7, но не проверял, по geoip запретил популярные направления типа Ирана, Китая и т п…

        Домашний сервер из вне порты 22/80/443 фаерволом закрыты на доступ только с внешней виртуалки и локальной сети, роутер через встроенный hosts заворачивает все домашние адреса в локалку когда к нему подключен. Получается когда дома подключен по вайфай хожу в домашнее облако по тому же адресу, но по локалке, а как выхожу за пределы домашней сети, запросы по тому же адресу уже летят через внешнюю виртуалку.


  1. werter_l
    13.06.2024 15:11

    Спасибо, то переборщили с влан (

    Я бы упростил до такой схемы:

    - proxmox ve (pve) в кач-ве гипервизора;

    - pfsense\opnsense в ВМ как роутер\ впн\ idps;

    - разнес бы ВМ по разным сетевым интерфейсам, создав нужное кол-во бриджей на pve БЕЗ привязки к физ. сетевым , затем добавив их к pfsense\opnsense и нужной ВМ;

    - для единой точки входа извне можно пользовать vpn и\или Apache Guacamole или Kasm Workspaces

    Всё. Избавились от микрота и "каши" с vlan.

    Зы. Для ви-фи пользую кинетик или шитые в кинетик сяоми (дешевле в 2+ раза - 4 пда в помощь).

    Зы2. Железка такая (в комментах под товаром есть как просто улучшить охлаждение)