28.02.2021
  • Главная
  • Карта сайта
  • Контакты
  • Конфиденциальность
Популярно

Защита каталогов паролем в Nginx

Разработка фирменных стилей

Как установить LEMP и запустить Drupal на…

Установить GrandCMS на Ubuntu

Яндекс.Браузер ограничил передачу cookie сторонним трекерам

Как ускорить Odoo

Как установить Odoo 10 с фильтрацией поддомена

Redmi K40 Pro — роскошный флагман на…

Redmi K40 представлен официально: Snapdragon 870 и…

Создание deb пакетов

BestWebber

  • Новости
  • Заработок
  • Продвижение
  • Социальные сети
  • Веб-Мастеру
BestWebber
Веб-Мастеру

Настройка Linux-шлюза/маршрутизатора, руководство для не сетевых администраторов. Часть 25 мин для чтения

by gidsoft22.01.202105
Поделиться

Начало здесь.

 

Содержание страницы

  • Настройка Linux GW: Настройка DNS с помощью bind9
    • Настройка DNS
    • Настройка собственного TLD с помощью bind9 для вашей локальной сети
  • Настройка Linux GW: Настройка apparmor
  • Настройка Linux GW: DCHP

Настройка Linux GW: Настройка DNS с помощью bind9

Давайте попробуем сделать ping домена вместо IP. Что-то вроде этого:

ping google.com

 

Вы должны получить сообщение о том, что хост неизвестен. Вы можете догадаться, почему? Да, нет DNS.

 

Настройка DNS

DNS будет необходим для разрешения доменов на IP-адреса. bind9 – опция по умолчанию для серверов на основе Debian.

sudo apt-get install bind9

 

Это заставит ваш DNS-сервер работать, но вам все равно нужно будет вручную добавить этот сервер к вашему клиенту (опять же, потому что не работает DHCP):

sudo echo "nameserver 192.168.25.1" > /etc/resolv.conf

 

И сейчас:

ping google.com

 

Волшебство снова, это (может) работать. Если этого не произойдет, вам может потребоваться открыть файл /etc/bind/named.conf и настроить маршрутизатор (192.168.0.1) в качестве сервера пересылки, а затем перезапустить сервер.

Конечно, это довольно скучно. Если вы собираетесь установить DNS, вы также можете создать собственный TLD для своей локальной сети.

 

Настройка собственного TLD с помощью bind9 для вашей локальной сети

До сих пор в серии о том, как установить маршрутизатор на основе Linux, мы настроили маршрутизатор Linux с NAT и базовым DNS. Теперь мы настроим пользовательский TLD, чтобы вы могли иметь собственные домены для вашей локальной сети. Например, если вы хотите, чтобы у вашего маршрутизатора было удобное имя, а не просто IP.

Давайте начнем с добавления локальной зоны в файл /etc/bind/named.conf.local для домена, который мы назовем «lan»:

zone "lan" {
type master;
file "/home/router/named/lan.db";
};

 

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

zone "10.168.192.in-addr.arpa" {
type master;
file "/home/router/named/rev.10.168.192.in-addr.arpa";
};

 

Нам все еще нужно создать оба файла (lan.db и rev.10.168.192.in-addr.arpa), но мы сделаем это позже. Давайте установим место для регистрации всех запросов DNS (необязательно):

logging {
channel query.log {
file "/home/router/named/dns.log";
severity debug 3;
print-time yes;
};

category queries { query.log; };
};

 

Для записи журнала мы выбрали /home/router/named в качестве каталога журнала, просто потому, что для этого проекта мы храним все вместе (config и logs), так что людям, не привыкшим администрировать Linux, легко, но, конечно, это означает, что apparmor должен быть настроен на чтение и запись для привязки в этом каталоге. Мы вернемся к этому через секунду, во-первых, давайте создадим необходимые файлы зон для нашего нового TLD.

Читать  Использование команды Diff для сравнения двух файлов в терминале Linux

Помните наши два файла зоны? Мы помещаем их в /home/router/named, но обычно они находятся в/etc/bind. Опять же, сделали это, чтобы смогли собрать все файлы конфигурации вместе. Это наши два файла:

Для lan.db

<

lan.      IN      SOA     ns1.lan. admin.lan. (
2006081401
28800
3600
604800
38400
)

lan.      IN      NS              ns1.lan.

wiki             IN      A       192.168.0.66
ns1              IN      A       192.168.0.1
router           IN      A       192.168.0.1

 

Для rev.10.168.192.in-addr.arpa

@ IN SOA ns1.lan. admin.example.com. (
2006081401;
28800;
604800;
604800;
86400
)

IN    NS     ns1.lan.
1                    IN    PTR    lan

 

Большинство этих строк – чёрная магия, и поскольку объяснение DNS и Bind выходит за рамки (не стесняйтесь читать RFC, если вам нужна дополнительная информация), давайте просто скажем, что вы можете добавлять новые записи DNS, добавляя такие строки:

NICE_NAME           IN      A       REAL_IP

 

Это заставит bind перевести NICE_NAME.lan в REAL_IP. Конечно, это будет зависеть от TLD, который вы определили. Теперь перезапустите bind, чтобы получить массу ошибок. Он будет жаловаться на невозможность загрузить мастер-файл в/home/router/named. Помните ту вещь, которую мы упомянули?

 

Настройка Linux GW: Настройка apparmor

Apparmor – это сервис, который работает в фоновом режиме, проверяя, что другие двоичные файлы могут и не могут делать. Например, это позволит bind9 открыть прослушивающий сокет на порту 53 (DNS), но запретит попытку открытия прослушивающего сокета на порту 64. Это мера безопасности для ограничения ущерба скомпрометированному двоичному файлу bind9, работающему от имени root может сделать. И поскольку мы собираемся использовать нестандартную конфигурацию, нам нужно сообщить apparmor, что все в порядке.

После установки bind9 мы должны получить новый файл в /etc/apparmor.d/usr.sbin.named. Добавьте следующие строки внизу:

/home/router/named/** rw,
/home/router/named/ rw,

 

И перезапустите сервис apparmor:

/./etc/init.d/apparmor restart

 

Поскольку мы модифицировали apparmor, чтобы разрешить нестандартную установку bind, теперь перезапустите bind. На этот раз он запустится без каких-либо ошибок, и вы сможете подключить -f /home/router/named/dns.log для просмотра DNS-запросов в режиме реального времени. Если это не так, проверьте, что/home/router/named доступен для записи пользователю bind (мы сделали chgrp -R bind named).

Читать  Как установить Ruby в Ubuntu 20.04

 

Настройка Linux GW: DCHP

В нашем пользовательском маршрутизаторе Linux у нас пока есть DNS и NAT, но конфигурация клиента была абсолютно ручной. У нас не может быть много клиентов с такой настройкой, поэтому давайте автоматизируем настройку клиента с помощью DHCP-сервера. Начните с установки isc-dhcp-server.

Отредактируйте /etc/dhcp/dhcpd.conf, установите доменное имя и серверы доменных имен, например, так:

option domain-name "lan";
option domain-name-servers 192.168.25.1 192.168.0.1;

default-lease-time 86400;
max-lease-time 172800;

authoritative;

 

Два других установят DNS-серверы для ваших клиентов. Кроме того, рекомендуется увеличить время аренды, мы использовали один день для аренды по умолчанию. Установили DHCP-сервер в качестве приоритетного сервера. Если это ваш роутер, это, вероятно, то, что вы хотите.

Теперь нам нужно определить топологию сети:

# Это сеть WAN, и мы не будем предоставлять услуги здесь
subnet 192.168.0.0 netmask 255.255.255.0 {
}

# Определите услугу, которую мы предоставляем для локальной сети
subnet 192.168.25.1 netmask 255.255.255.0 {
range 192.168.25.100 192.168.25.200;
option routers 192.168.25.1;
}

 

Теперь нам нужно перезапустить ISC:

sudo /./etc/init.d/isc-dhcp-server restart

 

И теперь нам нужно проверить, все ли работает в клиенте. В этот раз легко, мы просто просим IP:

sudo dhclient
ifconfig

 

Если все прошло хорошо, теперь у нас должен быть IP в диапазоне 100-200, а также DNS-сервер в /etc/resolv.conf. Сейчас мы настроили очень простой маршрутизатор и должны иметь возможность обслуживать несколько клиентов для базовых возможностей просмотра.

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

 

Другие части:

  • Настройка Linux-шлюза/маршрутизатора, руководство для не сетевых администраторов. Часть 1
  • Настройка Linux-шлюза/маршрутизатора, руководство для не сетевых администраторов. Часть 3
  • Настройка Linux-шлюза/маршрутизатора, руководство для не сетевых администраторов. Часть 4

 

Источник: AndreyEx.ru

Поделиться
предыдущая запись
Как установить NGINX с PHP-FPM и MYSQL на Ubuntu 16.04
следующая запись
Пора закрывать лавочку? Apple TV+ не смотрят даже бесплатно

Похожие записи

Ubuntu Советы: Графический Мониторинг процессов, памяти, средней нагрузки, и использования дисков

gidsoft09.01.2020

Настройка Samba в Debian 10

gidsoft25.12.2019

Ошибка Authentication token manipulation error

gidsoft20.09.2018

Методология программирования. Элементы блок-схемы

gidsoft12.10.2019

Краткая история Linux

gidsoft27.11.2019

2 мин для чтения5 главных причин септических проблем

gidsoft27.11.2019

Программа Python для проверки високосного года

gidsoft30.09.2019

Как установить Python 3 на Ubuntu 16.04 LTS

gidsoft24.06.2019

Программы резервного копирования Linux

gidsoft20.12.2018
Нажмите, чтобы оставить комментарий
  • Комментарии
  • Комментарии в Facebook

Категории

  • Веб-Мастеру (3 319)
  • Заработок в интернете (157)
  • Мобильные технологии (310)
    • Android (146)
    • Apple (164)
    • Игры (20)
    • Программы (94)
    • Технологии (82)
  • Новости рынка (2 341)
  • Программирование (199)
    • JavaScript (14)
    • PHP (140)
      • Laravel (124)
    • WordPress (18)
    • Различные CMS (27)
  • Продвижение в интернете (692)
  • Социальные сети (290)

Содержание

  • Настройка Linux GW: Настройка DNS с помощью bind9
    • Настройка DNS
    • Настройка собственного TLD с помощью bind9 для вашей локальной сети
  • Настройка Linux GW: Настройка apparmor
  • Настройка Linux GW: DCHP
BestWebber
Подпишись
Все материалы на данном сайте взяты из открытых источников - имеют обратную ссылку на материал в интернете или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях.

Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет.

© Copyright 2021, Все права на материалы, размещенные на этом сайте - принадлежат их правообладателям.
  • Новости
  • Заработок
  • Продвижение
  • Социальные сети
  • Веб-Мастеру
BestWebber
  • Новости
  • Заработок
  • Продвижение
  • Социальные сети
  • Веб-Мастеру