Раньше многие могли как-то контролировать наличие у себя в сети одного-двух устройств, то сейчас устройств у пользователей становится всё больше. Это затрудняет осуществление надёжного контроля.
Развитие техники и телекоммуникаций приводит к быстрому росту в домах пользователей всевозможных устройств, которые умеют работать с Интернетом. Пользователи охотно приобретают устройства, которые взаимодействуют с Интернетом для прослушивания Интернет-радио, скачивания музыки, фильмов, программ, электронных книг и для других действий. И если раньше многие могли как-то контролировать наличие у себя в сети одного-двух устройств, то сейчас устройств у пользователей становится всё больше. Это затрудняет осуществление надёжного контроля. Особенно, когда семья состоит из нескольких пользователей, которые умудряются подключать девайсы к сети, не согласуя друг с другом. Отсутствие знаний в области грамотной настройки домашней сети приводит к тому, что за пользователями могут подсматривать из интернета помимо их воли (http://habrahabr.ru/post/189674/). Либо, наоборот: пользователи теряют возможность удалённо следить через интернет происходящее в поле зрения их IP-камер из-за Робин Гудов.
Данной статьёй, в идеале, хотелось бы повысить грамотность населения в озвученной сфере. По крайней мере, надеюсь, что мой опыт сэкономит время и силы тем, кто давно подумывал разобраться с цифровой анархией в своей домашней сети. А, может быть, будет полезен тем, кто задумался о том, как грамотно организовать свой домашний кинотеатр.
Изначально я столкнулся с ситуацией, что список техники у меня дома, испытывающей потребность в Интернете достиг:
Но, в итоге, я смог убить двух зайцев. Остановился я на латвийском роутере Mikrotik 751G-2HnD. Он не нанёс моему кошельку сильного ущерба (ровно как и моей радости от приобретённого девайса). И смог покрыть все мои потребности. Забегая вперёд, скажу, что опыт общения с этой железкой у меня был настолько хорошим, что я и в офис прикупил его старшего брата Mikrotik 951G-2HnD
Общая схема подключения всех устройств показана на рис №1.
Рис №1 Общая схема подключения устройств в моей домашней сети
Снабжу картинку некоторыми пояснениями. TV сам по себе с интернетом не общается. Просто потому, что он не имеет Ethernet-кабеля (был куплен чёрте когда). Он соединяется HDMI-кабелем с медиа-проигрывателем (Dune HD Smart D1). А вот уже Dune может транслировать видео на TV. Несмотря на некоторые возможности Dune по хранению данных и поддержке съёмных носителей (а также наличие встроенного торрент-клиента). Он используется только как медиа-проигрыватель. А уже Synology DS212j используется как хранилище музыки, фильмов. Также имеет плагин для работы с Torrent-сетями. На этом устройстве настроена расшаренная папка, откуда Dune получает медиа-файлы к показу. Dune и Synology объединяются посредством подключения к обычному коммутатору (на картинке помечен как Switch). Мне не требовалось каких-то особенностей от коммутатора, так что купил первый попавшийся 4-х портовый коммутатор.
Коммутатор и обе ПЭВМ подключены в разные порты Mikrotik. Надо сказать, что мои родители серьёзно попработали в своё время вопрос наличия Интернета в разных частях квартиры ещё на этапе ремонта. Поэтому Ethernet-кабели проложены практически в каждую комнату в стенах. Так что физически оборудование рассредоточено по разным комнатам. А Ethernet-кабель не виднеется на полу, потолке или на стенах (что часто можно встретить в других квартирах). Хотя, в некоторых уголках всё-же не хватает проводки кабеля. Поэтому советую будущим молодым семьям с особой тщательностью продумывать этот вопрос. Ведь Wi-Fi не всегда является хорошим решением. Но в целом всё красиво подключено.
Итак, структура сети ясна, начнём с настройки Mikrotik
Первые шаги — дружим Mikrotik с интернетом.
Настройка Mikrotik с RouterOS v6.x не имеет никаких проблем. Через WebFig во вкладке Quick Set (рис №2) выставляете IP-адрес, выданный провайдером (в зависимости от Ваших условий прописываете статически, либо ставите DHCP для автоматического получения). При необходимости — можно менять MAC-адрес WAN-порта (если провайдер привязывает выдачу IP к MAC-адресу одного из Ваших устройств, например, предыдущего роутера). Ставите галочки, как на рис №2
Рис №2 первые шаги настройки
Для случая с RouterOS версии < 6.x всё не так просто. Когда я покупал свой роутер (год назад), там была версия 5.х. MAC-адрес WAN-порта в ней нельзя было менять через браузер, пришлось сделать это через терминал (по ssh). Определённые трудности были и с другими настройкой параметров интернета. Я не буду останавливаться на этом подробно. Все эти проблемы решались через гугл. Скажу лишь, что когда я столкнулся с этим снова (в офисе при замене роутера на Mikrotik), я несколько изловчился: подключил Mikrotik WAN-портом в порт роутера (который планировал заменить), через браузер настроил Mikrotik на получение адреса по DHCP. После чего скачал прошивку версии 6.x. А далее — повторил процедуру, указанную выше. Это значительно сэкономило мне времени. Замена старого роутера прошла с первого раза, без каких-либо проблем.
Настройка сети - теория
На рис №3 — итоговая картинка, к которой я привёл сеть.
Рис №3 Итоговая настройка сети
Сначала расскажу что же я настроил, а потом перейдём непосредственно к настройке. На Mikrotik настроен port knocking, позволяющий безопасно открывать на определённое время доступ из Интернет к управлению NAS Synology через браузер. Вдруг чего захочется на скачку поставить, чтоб уже успело скачаться к возвращению домой.
Коммутатор подключён к порту 3 роутера. Поэтому, для удобства запоминания, всей сети на этом порту выдаются адреса из подсетки 192.168.3.х
IP-адрес Mikrotik для управления через веб-интерфейс 192.168.5.1.
ПЭВМ №1 (192.168.5.100) подключён к порту 5 роутера. Ему разрешено обращаться к Интернету, ко всем устройствам в сети и к Mikrotik — для его настройки.
ПЭВМ №2 (192.168.4.100) подключён к порту 4 роутера. Ему разрешено обращаться к Интернету, ко всем устройствам в сети, кроме Mikrotik (царь должен быть один).
NAS Synology, Dune — разрешено обращаться к сети 192.168.3.х и Интернету. Всё остальное запрещено.
Мобильные устройства получают адрес из сети 192.168.88.х и могут общаться с интернетом и другими мобильными устройствами. Общения с другими подсетями запрещены. Беспроводная сеть шифруется WPA2.
Вообще, Mikrotik поддерживает Radius для авторизации устройств в сети. В качестве сервера Radius может быть тот же Synology. Но я так уже не стал настраивать. Все неизвестные роутеру устройства не смогут общаться с Интернетом. Это поможет избегать ситуаций подобной следящими за пользователями телевизорами.
Крайне желательно, чтобы ПЭВМ, который управляет Mikrotik (в моём случае это ПЭВМ №1), подключался к Mikrotik напрямую, без коммутаторов. Это полезно для предотвращения перехвата параметров доступа администратора (используя атаку типа «человек посередине», пользуясь особенностями протокола ARP) при работе с Mikrotik через web-интерфейс. Ведь по-умолчанию web-интерфейс у Mikrotik идёт через открытый для анализа HTTP. Возможность перевести на HTTPS у Mikrotik присутствует. Однако, это выходит за рамки данной статьи, т. к. являет собой отдельную нетривиальную задачу (для начинающих администраторов Mikrotik).
Теперь, когда мы разобрались с тем, чего хотим добиться, самое время переходить к практической части.
Настройка сети - практика
Подключаемся к Mikrotik через web-интерфейс. В разделе IP->Pool зададим диапазон выдачи IP-адресов для сети 192.168.3.x (рис №4)
Рис №4
В разделе IP->DHCP Server во вкладке DHCP нажмём кнопку Add New и привяжем к физическому порту №3 Ethernet (ether3-slave-local) созданный ранее пул выдачи адресов (pool3) (рис №5)
Рис №5
Далее на вкладке Networks пропишем настройки новой подсети (рис №6)
Рис №6
В разделе IP->Routes пропишем маршрут для новой сети (рис №7):
Рис №7
В разделе Interfaces выберем ether3-slave-local и сменим значение параметра Master Port на none (рис №8)
Рис №8
В разделе IP->Addresses создадим шлюз 192.168.3.1 для сети 192.168.3.0/24 для порта ether3-slave-local (рис №9)
Рис №9
Таким же образом настраиваются все остальные подсети на остальных физических портах Mikrotik.
Подсеть создана. Теперь устройства, подключенные к порту №3 Ethernet, могут работать с Интернетом и другими подсетями домашней сети. Самое время разрешить что нам нужно и запретить всё, что не разрешено в разделе IP->Firewall на вкладке Filter Rules.
Используя кнопку Add New создаём следующие правила:
Создаём правила, позволяющие обращаться к Mikrotik с ПЭВМ №1 (192.168.5.1), остальным запрещаем
Chain= input Src.address =192.168.5.100 Dst.address = 192.168.5.1 Action= accept
Chain= input Action= drop
Устройству NAS Synology позволяем «общаться» только с Интернетом, локальную сеть (192.168.0.0/16) исключаем:
Chain= forward Src.address =192.168.3.201 Dst.address = !192.168.0.0/16 Action= accept
Аналогичные настройки для медиа-плеера Dune:
Chain= forward Src.address =192.168.3.200 Dst.address = !192.168.0.0/16 Action= accept
Обоим ПЭВМ разрешаем «общаться» с Интернетом и всеми подсетями домашней сети:
Chain= forward Src.address =192.168.5.100 Dst.address = 0.0.0.0/0 Action= drop
Chain= forward Src.address =192.168.4.100 Dst.address = 0.0.0.0/0 Action= drop
Устройствам из сети 192.168.3.х (где NAS Synology и Dune) позволяем устанавливать соединения, инициаторами которых является ПЭВМ №1
Chain= forward Src.address =192.168.3.0/24 Dst.address = 192.168.5.100 Connection State = established, Action= accept
Всем остальным запрещаем исходящий трафик в Интернет и в подсети нашей сети:
Chain= forward Src.address =192.168.0.0/16 Dst.address =0.0.0.0/0 Action= drop
Для реализации port knocking выполним следующие правила:
chain=input action=add-src-to-address-list protocol=icmp src-address-list=ICMP_SSH_128_stage1 address-list=white_list_NAS address-list-timeout=1h in-inter packet-size=128
chain=input action=add-src-to-address-list protocol=icmp src-address-list=ICMP_SSH_98_stage2 address-list=ICMP_SSH_128_stage1 address-list-timeout=1m in-inter packet-size=128
chain=input action=add-src-to-address-list protocol=icmp src-address-list=ICMP_SSH_98_stage1 address-list=ICMP_SSH_98_stage2 address-list-timeout=1m in-inter packet-size=98
chain=input action=add-src-to-address-list protocol=icmp address-list=ICMP_SSH_98_stage1 address-list-timeout=1m in-inter packet-size=98
Кому интересно почему именно так прописывается могут прочитать здесь (http://habrahabr.ru/post/186488/)
Теперь «по стуку» у нас удалённый компьютер внесётся на 1 час в список разрешённых (white_list_NAS). Но это ещё не всё. Чтоб он смог получить доступ к web-интерфейсу Synology нужно настроить port forwarding для этого списка (white_list_NAS)
Это делается в разделе IP->Firewall во вкладке NAT. Создадим правило:
chain=dstnat protocol=tcp Dst.port=5000 Src address list=white_list_NAS action=dst-nat to addresses=192.168.3.201 to ports=5000
Теперь сделав ping определённым образом мы получим доступ к нашему NAS (рис №10)
Рис№ 10
На этом настройка закончена. Если всё правильно, то в итоге у нас в разделе IP->Firewall на вкладке Filter Rules получится картинка как на рис №11
Рис №11
Проверка конфигурации
Подключимся по SSH к NAS-серверу (192.168.3.201) и выполним трассировку до ПЭВМ №1 (192.168.5.100) и Dune (192.168.3.200) — рис №12
Рис №12 результаты c NAS
Видим, что при трассировке до ПЭВМ №1 пакеты идут через 192.168.3.1 и не достигают цели. А к Dune пакеты идут напрямую. При этом пинги в интернет идут нормально (в данном случае, на адрес 8.8.8.8).
А с ПЭВМ №1 (192.168.5.100) до NAS (192.168.3.201) трассировка проходит успешно (рис №13).
Рис №13 трассировка с ПЭВМ №1
А на рис №14 показано что происходит на ПЭВМ, который подключили к сети и не внесли после этого относительно него никаких правил в firewall Mikrotik. В итоге эта ПЭВМ не может взаимодействовать ни с Интернетом, ни с другими устройствами в других подсетях локальной сети.
Выводы
Нам удалось настроить нашу домашнюю сеть, сочетая удобство работы с устройствами в сети и не жертвуя при этом безопасностью. Решены следующие задачи:
Сбалансированная диета для серого вещества