Pull to refresh

dnsmasq в качестве dhcp сервера

Lumber room
Поставили задачу установить dhcp — сервер в небольшой веб-студии.

Моя заметка как я это решил:

Задача была установить именно на Linux (debian) DHCP сервер.

Локальная сеть:

32 рабочих места

контроллер домена — windows 2003
сервер производства LAMP — debian
принт-сервер — debian
1С сервер — debian
сервер бэкап — debian

итого: 5 боевых машин

Решено было использовать на шлюзе dnsmasq в качестве эксперимента замены стандартного DHCP3-server

устанавливаем:

root@gw:# apt-get install dnsmasq

Открываем <редактор ваш> /etc/dnsmasq.conf
Конфигурационный файл великолепно документирован:

  1. #выключаем днс — сервер чтобы избежать конфликта (в качестве днс — сервера используется bind )
  2. port=0
  3.  
  4. bogus-priv
  5.  
  6. # на шлюзе два интерфейса
  7. # eth0 — WAN
  8. # eth1 — LAN
  9.  
  10. interface=eth1
  11.  
  12. # диапазон будет таким
  13. dhcp-range=10.15.0.2,10.15.0.253,12h
  14.  
  15. # сервера прописываем статично:
  16.  
  17. dhcp-host=00:00:00:00:00:00, 10.0.0.1 # gw — шлюз
  18. dhcp-host=00:00:00:00:00:00, 10.0.1.1 # PDC — контроллер домена
  19. dhcp-host=00:00:00:00:00:00, 10.0.1.2 # сервер для бэкапа
  20. dhcp-host=00:00:00:00:00:00, 10.0.1.3 # точка доступа WI-FI
  21. dhcp-host=00:00:00:00:00:00, 10.0.1.4 # принт-сервер
  22. dhcp-host=00:00:00:00:00:00, 10.0.0. 5 # сервер для производства
  23.  
  24. # бухгалтерия директора и тд прописываем статично
  25.  
  26. dhcp-host=00:00:00:00:00:00,10.15.0.01 # директор
  27. dhcp-host=00:00:00:00:00:00,10.15.0.02 # зам. директора
  28. dhcp-host=00:00:00:00:00:00,10.15.0.03 # начальник производства
  29. dhcp-host=00:00:00:00:00:00,10.15.0.04 # бухгалтер
  30. dhcp-host=00:00:00:00:00:00,10.15.0.05 # зам. бухгалтера
  31.  
  32. # посылаем опции дополнительные для клиентов (полный список можно найти в RFC 2132)
  33.  
  34. dhcp-option=1,255.240.0.0 # маска
  35. dhcp-option=2,10800 # время аренды в секундах
  36. dhcp-option=3,10.0.0.1 # шлюз по умолчанию
  37. dhcp-option=42,1.0.0.1 # указываем сервер времени
  38. dhcp-option=44,10.0.1.1 # адрес нашего контроллера домена с WINS
  39. dhcp-option=46,8 # Этот параметр зависит от предыдущего он сообщает клиенту должен ли тот использовать шировещательный принцип преобразования адресов или обращатся к серверу WINS. Код типа - это числовое значение от 1 до 8. Значение 1 и 2 сообщают об использовании широковещательного преобразования а значения 4 и 8 позволяет применять оба способа
  40.  
  41. dhcp-boot=pxelinux.0,10.0.0.1 # указываем возможность загрузки по сети
  42. dhcp-leasefile=/var/log/dnsmasq/dnsmasq.leases # аренду адреса логируем
  43.  
  44. dhcp-authoritative
  45. log-dhcp # пишем лог


Клиенты получают адреса из 10.15.0.Х диапазона как из локальной сети так и по Wi-Fi.

ссылки:
документация по dnsmasq
стандарт DHCP
опции DHCP
WINS
DHCP
Total votes 13: ↑6 and ↓7 -1
Views 16K
Comments 10

ИТ-инфраструктура на CodeFest (WiFi, проекторы, ноутбуки и прочее)

System administration *
В минувшие выходные в нашем городе проходила конференция разработчиков CodeFest codefest.ru
Нам посчастливилось быть там в числе организаторов и отвечать за ряд инфраструктурных задач.

Решенные задачи.


  • организация WiFi доступа в интернет для ~1000 пользователей в четырехэтажном здании,
  • обеспечение работы всей инфраструктуры: проекторы, презентации, розетки для гостей и прочее,
  • вещание с двух веб-камер в интернет.


Читать дальше →
Total votes 51: ↑47 and ↓4 +43
Views 2.6K
Comments 20

Прозрачное проксирование в I2P и Tor

Configuring Linux *
Всем привет!
Захотелось мне установить кеширующий прокси на основе Polipo, ну и заодно настроить прозрачное проксирование i2p и Tor. Из всех сервисов, которые есть в этих анонимных сетях(почта, торренты и прочее) я использую только веб, так что, скорее всего, вы не сможете использовать сервисы, которые используют не http протокол, если последуете по этой инструкции.
Есть у меня домашний сервер на Debian, который раздает интернет. Использовал TinyProxy в качестве распределителя на основе доменов, два демона polipo — один для кеширования интернета, второй для(в большей степени) преобразования socks5 в http прокси, чтобы прописать ее в TinyProxy, ну еще и кеширует Tor трафик отдельно; dnsmasq для резолва адресов .i2p и .onion(он у меня и до этого использовался и для DNS, и для DHCP).
Будем считать, что I2P и Tor уже настроены и работают.

                I2P (4444)
                /
LAN port — TinyProxy (8888) — Polipo-WAN (8123)
                \
                Polipo-Tor (8124) — Tor (9050)
Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Views 38K
Comments 18

Локальный прокси-сервер для Siri

Smartphones
История с недавним взломом протокола коммуникации Siri получила естественное продолжение: разработан прокси-сервер SiriProxy, с помощью которого можно легко добавить дополнительную функциональность к этой программе. Например, через голосовой интерфейс можно посылать текстовые сообщения на произвольные сайты или активировать голосовое управление устройствами в домашней сети. Скажем, вот плагин для термостата:

— Siri, какая сейчас температура в комнате?
— Двадцать градусов.
— Понизь до восемнадцати.
— OK.

Напомним, что после подделки SSL-сертификата и установки своего DNS-сервера программа Siri обменивается данным с вашим собственным сервером, а не с дефолтным guzzoni.apple.com.
Читать дальше →
Total votes 52: ↑48 and ↓4 +44
Views 9.9K
Comments 11

Роутер на базе PC или ноутбука за пару минут

Configuring Linux *
Помните пост о временном переключении WIFI в режим точки доступа? Конечно же нет, давно было. Вот он: habrahabr.ru/blogs/linux/122876.

Сегодня речь пойдёт не о точке доступа, а о режиме работы компьютера, в котором он выступает в качестве маршрутизатора. Это может пригодится в том случае, когда есть всего одна точка выхода в интернет, а компьютеров нужно подключить несколько. Или, например, интернет раздаётся по WIFI, есть один ноутбук с WIFI, а второе устройство имеет только Ethernet-интерфейс.

Имеем


— Ноутбук с Ubuntu 11.10 и беспроводным сетевым адаптером
— Беспроводной интернет
— Комьютер с Ethernet-интерфейсом

Задача


— Получить с компьютера доступ в интернет
Читать дальше →
Total votes 29: ↑11 and ↓18 -7
Views 29K
Comments 10

Пробуем IPv6 в домашней сети

System administration *Network technologies *IPv6 *
Sandbox
image

Давно хотел пощупать что это такое. Много новостей связанных с ipv6 мелькает в интернете. Близится всемирный день запуска, прошлогодний день тестирования я как-то пропустил. Да и вообще за ним будущее и я считаю лучше быть впереди чем потом догонять.
А недавняя статья на хабре окончательно сподвигла меня изучить этот вопрос на собственном опыте.

Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views 39K
Comments 20

Беспроводная точка доступа, используя Linux

Configuring Linux *
Tutorial
Что ж, вот и первая статья из обещанной серии.
Первое, что я буду делать — настраивать Software AP, или беспроводную сеть на базе компьютера. На этом этапе, конечно, нужен доступ к консоли сервера с правами рута. Кроме того, нужно также подключение к интернету НЕ через внутреннюю вайфай-карточку — кабелем, через 3G-модем, короче, как пожелаете, но только не по вайфаю, который мы будем использовать для создания беспроводной сети. Я на первое время подключил и сервер, и ноут, с которого управлял сервером, в одну сеть по кабелю — так надёжнее всё-таки. Буду использовать пакет hostapd — он довольно известен как надёжное решение и мануалов под него достаточно, а для DHCP и DNS серверов буду использовать dnsmasq — решение как раз под домашние сети, его использует DD-WRT, не удивлюсь, если кто-то ещё.
Читать дальше →
Total votes 42: ↑29 and ↓13 +16
Views 120K
Comments 67

Установка FreeBSD по сети (PXE) с linux-сервера (dnsmasq + nfs)

Configuring Linux *System administration **nix *
Sandbox
Возникла потребность установить FreeBSD на ноутбук. Так как ноутбук древний, он не поддерживает загрузку с флэшки по usb. Болванки под рукой также не оказалось, было решено опробовать установку через PXE (Preboot eXecution Environment). Погуглив, я нашел несколько статей на эту тему, однако в них описывается установка linux с linux-сервера, либо FreeBSD с FreeBSD-сервера. Я не претендую на создание какого-то особенного метода, просто выкладываю свою инструкцию по быстрому развертыванию FreeBSD 10.1 по сети.
Читать дальше
Total votes 15: ↑14 and ↓1 +13
Views 17K
Comments 4

Программный интернет шлюз для уже не маленькой компании (Shorewall, OpenVPN, OSPF). Часть 1

Configuring Linux *System administration *Network technologies *
Tutorial
Представляю пока две статьи, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
  • Простейшая настройка Shorewall
  • Ужасно сложная настройка dnsmasq
  • Не менее сложная настройка OpenVPN
  • И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

А во второй части будут рассмотрены:
  • Более подробная настройка Shorewall
  • Страшный и не понятный QoS
  • Балансировка нагрузки и резервирование

В третьей части:
  • QoS во всю ширь в Shorewall
  • Более подробная настройка Shorewall
  • Раскидывание трафика по каналам в соответствии с протоколами
  • Костыли, без них, никуда

В четвертой части:
  • Автоматические события
  • Макросы

Читать дальше →
Total votes 5: ↑3 and ↓2 +1
Views 36K
Comments 8

Программный интернет шлюз для уже не маленькой компании (Shorewall, OpenVPN, OSPF). Часть 2

Configuring Linux *System administration *Network technologies *
Tutorial
Представляю вторую статью из серии, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
  • Более подробная настройка Shorewall
  • Страшный и не понятный QoS
  • Балансировка нагрузки и резервирование


А в предыдущей части были рассмотрены:
  • Простейшая настройка Shorewall
  • Ужасно сложная настройка dnsmasq
  • Не менее сложная настройка OpenVPN
  • И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

В третьей части:
  • QoS во всю ширь в Shorewall
  • Более подробная настройка Shorewall
  • Раскидывание трафика по каналам в соответствии с протоколами
  • Костыли, без них, никуда

В четвертой части:
  • Автоматические события
  • Макросы

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 27K
Comments 2

Программный интернет шлюз для уже не маленькой компании (Shorewall, плюшки). Часть 4

Configuring Linux *System administration *Network technologies *
Tutorial
Представляю четвертую статью из серии, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.

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

Конкретно в этой части:
  • Автоматические события
  • Макросы

А в первой части были рассмотрены:
  • Простейшая настройка Shorewall
  • Ужасно сложная настройка dnsmasq
  • Не менее сложная настройка OpenVPN
  • И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

А во второй:
  • Более подробная настройка Shorewall
  • Страшный и не понятный QoS
  • Балансировка нагрузки и резервирование

А в третьей:
  • QoS во всю ширь в Shorewall
  • Более подробная настройка Shorewall
  • Раскидывание трафика по каналам в соответствии с протоколами
  • Костыли, без них, никуда

Читать дальше →
Total votes 4: ↑2 and ↓2 0
Views 3.7K
Comments 0

Программный интернет шлюз для уже не маленькой компании (Shorewall, QoS во всю ширь). Часть 3

Configuring Linux *System administration *Network technologies *
Tutorial
Представляю третью статью из серии, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.

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

Конкретно в этой части:
  • QoS во всю ширь в Shorewall
  • Более подробная настройка Shorewall
  • Раскидывание трафика по каналам в соответствии с протоколами
  • Костыли, без них, никуда

А в первой части были рассмотрены:
  • Простейшая настройка Shorewall
  • Ужасно сложная настройка dnsmasq
  • Не менее сложная настройка OpenVPN
  • И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

А во второй:
  • Более подробная настройка Shorewall
  • Страшный и не понятный QoS
  • Балансировка нагрузки и резервирование

В четвертой части:
  • Автоматические события
  • Макросы

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 13K
Comments 0

Разрешение имен доменов из контейнеров Docker в сложных случаях

Virtualization *DNS *
Sandbox
В вопросе связанном с DNS попил мне Docker кровушки основательно, ибо столько там разных мест в которых тебе предлагают написать заветные цифры, что прямо-таки глаза разбегаются.

Итак, задача: необходимо поднять окружение разработчика для одновременной работы с несколькими веб-проектами висящими на доменах вида example.app. При этом данные домены должны быть доступны из контейнеров, с хоста, а также, например, из эмулятора Genymotion. Кроме того, из контейнеров должен быть доступен и внешний интернет. Все это усугубляется корпоративным Intranet со своим внутренним DNS сервером.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 30K
Comments 5

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

PHP **nix *Apache *
Sandbox
Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)

Цели


  1. Использовать текущий на момент написания статьи софт
  2. Чтоб разграничить локальные домены, будем использовать специальный домен .loc
  3. Переключения версий PHP реализуем через поддомен c помощью fast-cgi
  4. Автоматическое создание хоста с помощью vhost_alias и dnsmasq

Что имеем в итоге. При переходе на
56.test.loc
Apache запустит c версией PHP 5.6.36
/var/www/test.loc/public_html/index.php
Поменяв поддомен на
72.test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта

Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Читать дальше →
Total votes 13: ↑8 and ↓5 +3
Views 40K
Comments 14

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice

Configuring Linux *System administration *Network technologies *Lifehacks for geeks
Tutorial

Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исключено, что я смогу написать руководство так, что оно будет понятно обычным людям, так что советую попробовать.


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


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


Большинство ip адресов подверглись жестокой обфускации, поэтому если видите адрес наподобие 435.435.435.435 — там должен быть какой-то нормальный ip, специфичный для вашего случая.


У меня Ubuntu 18.04, но думаю с небольшими правками руководство можно применять и к другим дистрибутивам. Однако в этом тексте линукс == Ubuntu.


Cisco Connect


Те, кто сидит на Windows или MacOS могут подключиться к нашему корпоративному VPN через Cisco Connect, которому нужно указать адрес гейтвея и при каждом подключении вводить пароль, состоящий из фиксированной части и кода, генерируемого Google Authenticator.

Что делать на линуксе
Total votes 13: ↑11 and ↓2 +9
Views 47K
Comments 18

Как и к НСДИ подключиться, и рыбку съесть

Network technologies *

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

Но есть большое количество компаний (обладателей номеров автономных систем), которых сейчас в принудительном порядке заставляют использовать "Национальную систему доменных имен" в качестве апстрим-DNS, мотивируя это, конечно же, необходимостью повышения стабильности работы российского сегмента сети Интернет в условиях, когда коварный запад только и думает, как оборвать России связность (а мы их опережаем и обрываем ее изнутри). А побочная функция, что НСДИ не резолвит заблокированные в РФ домены - это так, случайность, неожиданная фича.

Можно было бы, конечно, порадоваться за такое беспокойство о качестве, но немного смущает, что владелец автономной системы обязан использовать только НСДИ, что напоминает складывание всех яиц в одну корзину, а учитывая качество работы НСДИ - и не в очень-то крепкую корзину. А за неподключение предусмотрены штрафы.

Я всецело поддерживаю повышение стабильности работы российского сегмента сети Интернет и предлагаю компаниям, попавшим под такое требование, решение, которое повысит стабильность еще больше, чем при подключении к НСДИ, но при этом со стороны НСДИ к вам претензий не будет.

Решение простое как блин, в общем-то. НСДИ детектирует подключение к ней по наличию запросов, но совершенно не может определить, что вы делаете с ответами.

Поэтому для тех компаний, масштаб которых позволяет использовать в качестве рекурсивного DNS-сервера dnsmasq, все становится просто и легко.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Views 4.9K
Comments 14

Настройка тестовой среды для Carbonio Community Edition

Zextras corporate blog IT systems testing *
Tutorial

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

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views 1.3K
Comments 3

Локальный сервер для разработки (dns, nginx & git)

Configuring Linux *Nginx *
Sandbox
Tutorial

В итоге мы получим домашний сервер с фейковым доменом, на поддомене которого мы развернём GitLab и настроим работу gitlab-runner'а для деплоя наших веб-проектов.

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

Читать далее
Total votes 15: ↑14 and ↓1 +13
Views 12K
Comments 14