Fedora dns server настройка
Примеры настроек будут подходить ко всем трем дистрибутивам ОС Linux.
Файл настройки общей информации /etc/sysconfig/network
В этом файле задается сетевое имя компьютера (HOSTNAME), маршрут по умолчанию (GATEWAY), DNS-домен (DOMAINNAME).
Пример конфигурации в файле network для Red Hat / CentOS / Fedora.
Скрипты настройки сетевых интерфейсов /etc/sysconfig/network-scripts/ifcfg-*
В этих файлах настраиваются основные данные для сетевых интерфейсов такие как ip адрес (IPADDR), сетевая маска (NETMASK), адрес сети (NETWORK), braodcast адрес (BROADCAST). Под звездочкой понимается имя сетевого интерфейса, например eth0, eth1, eth2, lo и т.д., зависит от количества установленных сетевых карт в системе.
Приведу пример файла cо статической настройкой сетевых параметров интерфейса eth0 для Red Hat / CentOS / Fedora.
Пример файла с настройкой интерфейса eth1 на получение сетевых адресов по протоколу DHCP для Red Hat / CentOS / Fedora.
Также во всех система присутствует файл с настройками loopback интерфейса (lo).
Файл настройки статических маршрутов /etc/sysconfig/static-routes
Скрипт для настройки статических маршрутов для конкретного интерфейса /etc/sysconfig/network-scripts/route-eth0
Если данного файла нет в системе, просто создайте его и добавьте нужный вам маршрут.
Файл /etc/hosts
Ранее использовался для соответствия списка ip-адресов и имен
Файл настроек DNS серверов /etc/resolv.conf
В этом файле перечисляется список ip адресов DNS серверов.
Управление сетевыми интерфейсами.
Для просмотра состояния и конфигурации интерфейса используйте:
Посмотреть таблицу маршрутизации:
В Red Hat Enterprise Linux (RHEL) / Fedora / CentOS существуют подготовленные сценарии для управления сетевыми интерфейсами.
Сценарии ifup и ifdown позволяют включить или отключить сетевой интерфейс. В качестве аргумента сценарии принимают имя интерфейса.
Хочу обезопасить свой Интернет-трафик. Какую реализацию VPN выбрать?¶
WireGuard¶
WireGuard – самый современный и актуальный протокол для VPN. Обеспечивает максимальную скорость работы за счёт реализации в виде модуля ядра Linux и надёжную криптографическую защиту от прослушивания.
OpenVPN¶
OpenVPN – cамая популярная и стабильная в настоящее время реализация VPN. Способен работать как через UDP, так и TCP, имеет плагины маскировки под TLS, обеспечивает высокую защищённость, но имеет низкую производительность из-за постоянных переключений между режимами пользователя и ядра.
L2TP/IPSec¶
Поддерживается большинством роутеров «из коробки», но является устаревшим. Изначально создавался для Windows, поэтому многие серверы заточены под соответствующие реализации клиентов.
Устаревший, уязвимый by design протокол. Трафик, проходящий через сеть, использующую данный протокол, может быть легко расшифрован за несколько часов. Категорически не рекомендуется к применению даже на устаревшем оборудовании.
Если продключение к VPN по протоколу PPTP не проходит из-за ошибки, включим поддержку GRE в настройках межсетевого экрана .
Для этого выполним следующее:
Изменения вступят в силу немедленно.
Важно: Некоторые интернет-провайдеры и большая часть операторов сотовой связи ограничивают передачу данных по протоколу GRE. В случае, если вы уверены, что поставщик услуг связи здесь не при чем, обратите внимание на маршрутизатор: некоторые модели бюджетных устройств также могут ограничивать трафик.
Как пробросить локальный порт на удалённый хост?¶
Как поднять OpenVPN сервер в Fedora?¶
См. здесь. В данной статье вместо ovn следует использовать openvpn во всех путях и именах юнитов.
Как поднять WireGuard сервер в Fedora?¶
Как поднять свой сервер Matrix в Fedora?¶
Как запустить простейший веб-сервер в Fedora?¶
Для запуска простейшего веб-сервера можно использовать Python и модуль, входящий в состав базового пакета:
Веб-сервер будет запущен на порту 8080. В качестве webroot будет использоваться текущий рабочий каталог.
Как лучше настраивать сетевые подключения?¶
В Fedora для настройки сети используется Network Manager. Для работы с ним доступны как графические менеджеры (встроены в каждую DE), так и консольный nm-cli.
Как поднять DLNA сервер в локальной сети?¶
Как сделать замеры скорости локальной или беспроводной сети?¶
Для точных замеров производительности сети нам потребуется как минимум два компьютера (либо компьютер и мобильное устройство), а также утилита iperf3, присутствующая в репозиториях Fedora. Установим её:
На первом устройстве запустим сервер:
По умолчанию iperf прослушивает порт 5001/tcp на всех доступных сетевых соединениях.
Теперь временно разрешим входящие соединения на данный порт посредством Firewalld (правило будет действовать до перезагрузки):
На втором устройстве запустим клиент и подключимся к серверу:
В качестве клиента может выступать и мобильное устройство на базе ОС Android с установленным Network Tools. В этом случае в главном меню программы следует выбрать пункт Iperf3, а в окне подключения ввести:
Параметр -c обязателен. Если он не указан, программа выдаст ошибку.
192.168.1.2 – это внутренний IP-адрес устройства в ЛВС, на котором запущен сервер. Номер порта указывать не требуется.
Как передать содержимое каталога на удалённый сервер?¶
Передача содержимого локального каталога на удалённый сервер посредством rsync:
Как получить содержимое каталога с удалённого сервера?¶
Получение содержимого каталога с удалённого сервера посредством rsync:
Как правильно указать DNS серверы в Fedora?¶
Для того, чтобы указать другие DNS серверы, необходимо использовать Network Manager (графический или консольный): свойства соединения -> страница IPv4 -> другие DNS серверы.
Нет, т.к. этот файл целиком управляется Network Manager и перезаписывается при каждом изменении статуса подключения (активация-деактивация соединений, перезапуск сервиса и т.д.).
Если необходимо указать другие DNS серверы, это следует производить через свойства соответствующего соединения.
Как можно средствами Firewalld запретить ICMP?¶
По умолчанию ICMP трафик разрешён для большей части зон, поэтому запретить его можно вручную:
Применим новые правила:
В данном примере для зоны public блокируются как входящие, так и исходящие ICMP ECHO и ICMP TIMESTAMP.
Как средствами Firewalld разрешить подключение к OpenVPN серверу только с разрешённых IP адресов?¶
Сначала отключим правило по умолчанию для OpenVPN , разрешающее доступ к серверу с любых IP адресов:
Теперь создадим rich rule, разрешающее доступ с указанных IP-адресов (или подсетей):
Применим новые правила:
Здесь public – имя зоны для публичного интерфейса, 1.2.3.4 – IP-адрес, а 5.6.7.0/24 – подсеть, доступ для адресов из которой следует разрешить.
Как средствами Firewalld разрешить подключение к WireGuard серверу только с разрешённых IP адресов?¶
Сначала отключим правило по умолчанию для WireGuard , разрешающее доступ к серверу с любых IP адресов:
Теперь создадим rich rule, разрешающее доступ с указанных IP-адресов (или подсетей):
Применим новые правила:
Здесь 27015 – порт сервера WireGuard, public – имя зоны для публичного интерфейса, 1.2.3.4 – IP-адрес, а 5.6.7.0/24 – подсеть, доступ для адресов из которой следует разрешить.
Как узнать внешний IP адрес за NAT провайдера?¶
Для этой цели можно использовать внешний сервис, возвращающий только внешний IP и утилиту curl:
Как средствами Firewalld разрешить подключение к веб-серверу только с IP адресов CloudFlare?¶
При использовании CloudFlare в качестве системы защиты от DDoS атак, а также WAF, возникает необходимость разрешать входящие подключения исключительно с IP адресов данного сервиса.
Сначала отключим правило по умолчанию для веб-сервера, разрешающее доступ с любых IP адресов:
Напишем небольшой скрипт foo-bar.sh , который получит актуальные пулы IP-адресов и создаст rich rule, разрешающие доступ лишь с подсетей CloudFlare (IPv4, IPv6):
Запустим наш скрипт:
Применим новые правила файрвола:
Здесь public – имя зоны для публичного сетевого интерфейса.
Как пробросить IP адреса клиентов за CloudFlare?¶
Как проверить наличие или отсутствие потерь пакетов до узла?¶
Для проверки работоспособности сети и наличия, либо отсутствия потерь пакетов между узлами маршрута, широко используется утилита mtr:
Приостановить работу можно нажатием клавиши P, для возобновить – пробел, а для выхода – Q.
Как получить список установленных сетевых соединений?¶
Воспользуемся утилитой ss для вывода списка установленных сетевых соединений:
Как получить список открытых портов?¶
Воспользуемся утилитой ss для вывода открытых портов, ожидающих входящих соединений:
Статус LISTEN означает, что TCP-порт открыт и ожидает входящих соединений. В то же время для UDP-портов будет отображаться статус UNCONN, т.к. этот протокол не подразумевает предварительное открытие подключений.
Почему при подключении к сети имя хоста машины изменяется?¶
DHCP сервер провайдера способен выдавать помимо IP-адресов и DNS-серверов ещё и нестандартное имя хоста. Полученное таким способом значение называется transient hostname. Оно будет применимо с компьютеру с момента установки соединения и до отключения от соответствующей сети.
Если на компьютере имеется несколько сетевых подключений, каждое из которых предоставляет свой hostname, основным будет считаться то, чьё соединение было установлено последним.
Как запретить использование полученного от провайдера имени хоста?¶
Для того, чтобы запретить использование полученного от DHCP сервера transient hostname , установим статическое имя хоста .
Как переключить Network Manager на использование systemd-resolved?¶
Начиная с Fedora 30, в комплект базовой системы входит systemd-resolved, который занимается преобразованием имён DNS в IP-адреса, имеет встроенный DNS-кэш и активирован по умолчанию.
В то же время, Network Manager с настройками по умолчанию использует собственный виртуальный файл конфигурации resolv.conf , игнорирующий присутствие systemd-resolved.
Для исправления этой ситуации, убедимся, что systemd-neworkd запущен и функционирует:
Создадим в каталоге /etc/NetworkManager/conf.d файл 99-resolved.conf следующего содержания:
Убедимся, что файл /etc/resolv.conf является символической ссылкой на /run/NetworkManager/resolv.conf :
Если по какой-то причине это не так, то внесём соответствующие правки:
Перезапустим затронутые сервисы:
Проверим, что в качестве основного сервера DNS применяется виртуальная заглушка:
Если в выводе присутствует строка nameserver 127.0.0.53 , значит всё настроено верно.
Как проверить статус работы systemd-resolved?¶
Выведем статус systemd-resolved, включающий список используемых DNS серверов и общие параметры конфигурации:
Выведем статистические данные об использовании systemd-resolved (состояние кэша, количество запросов и т.д.):
Как сделать systemd-resolved основным резолвером?¶
Важно: Начиная с Fedora 33, systemd-resolved уже используется в качестве основного системного DNS-резолвера.
Удалим существующую символическую ссылку, указывающую на Network Manager:
Установим systemd-resolved основным резолвером:
Изменения вступят в силу немедленно.
Как отключить systemd-resolved и вернуться к прежней реализации?¶
Удалим существующую символическую ссылку, указывающую на systemd-resolved :
Установим Network Manager основным генератором файла /etc/resolv.conf :
Остановим и заблокируем сервис:
Изменения вступят в силу немедленно.
Можно ли зашифровать DNS при помощи TLS?¶
Да, systemd-resolved, входящий в поставку системы начиная с Fedora 30, полностью поддерживает технологию DNS-over-TLS, позволяющую зашифровать весь DNS трафик устройства.
Настроим систему на использование systemd-resolved либо совместно с Network Manager , либо в монопольном режиме , затем откроем файл конфигурации /etc/systemd/resolved.conf :
Внесём следующие правки:
Здесь используются серверы CloudFlare с поддержкой DNS-over-TLS.
Сохраним изменения в файле и перезапустим systemd-resolved:
Теперь в информации об используемых DNS должна отображаться информация об использовании этой технологии.
Как очистить кэши systemd-resolved?¶
Очистим кэш systemd-resolved:
Где расположены файлы конфигурации доступных сервисов Firewalld?¶
Предустановленные файлы конфигурации служб Firewalld находятся в каталоге /usr/lib/firewalld/services .
Настоятельно не рекомендуется что-либо изменять в нём ибо при следующем обновлении пакета все изменения будут потеряны. Вместо этого следует создать пользовательское переопределение .
Как переопределить предустановленный сервис в Firewalld?¶
Пользовательские переопределения должны храниться в каталоге /etc/firewalld/services .
В качестве примера создадим оверрайд для сервиса SSH на базе настроек по умолчанию:
Откроем скопированный файл в текстовом редакторе:
Внесём правки, добавив возможность использования порта 2222/tcp:
Перезагрузим настройки Firewalld для вступления изменений в силу:
Как правильно импортировать подключение из OVPN файла?¶
Воспользуемся консольной утилитой nmcli для быстрого импортирования подключения из OVPN файла:
Здесь /path/to/foo-bar.ovpn – путь к OVPN файлу на диске.
Встроенные сертификаты и ключи будут автоматически импортированы и сохранены в каталоге
/.cert/nm-openvpn , что не вызовет проблем с SELinux .
Как проверить открыт ли порт на удалённом сервере?¶
Воспользуемся утилитой nc для непосредственного осуществления проверки без полного сканирования портов.
Проверим доступность сервиса на IP 1.2.3.4 с номером порта 443/tcp:
Проверим доступность сервиса на IP 1.2.3.4 с номером порта 27015/udp:
Как открыть доступ к локальной сети через WireGuard?¶
Для того, чтобы через VPN была также доступна локальная сеть, внесём ряд изменений в файлы конфигурации сервера и клиента WireGuard .
Отредактируем файл /etc/wireguard/wg0.conf сервера:
В директиве AllowedIPs через запятую добавим адрес локальной подсети клиента, например 192.168.1.0/24:
Перезапустим сервис WireGuard на сервере:
На клиенте, к локальной сети которого требуется получить доступ, разрешим перенаправление трафика и включим маскарадинг в Firewalld :
Отредактируем файл конфигурации данного клиента, дописав в AllowedIPs подсеть через запятую (однако если там уже указано 0.0.0.0/0, то ничего более делать не требуется).
Проверим доступность компьютеров из локальной сети со стороны других клиентов WireGuard:
Здесь вместо 192.168.1.2 укажем реально существующий адрес в локальной сети.
Если всё работает корректно, сделаем изменения на клиенте с LAN постоянными:
Перезагрузим настройки Firewalld:
Из-за использования systemd-resolved в chroot-окружениях Fedora не работает преобразование имён DNS, т.е. фактически отсутствует доступ к Интернету.
Конфигурация сети Fedora 23 / RHEL7 и построение DNS-сервера
Fedora - это дистрибутив Linux. Fedora (седьмая редакция раньше называлась Fedora Core) - это бесплатная операционная система, основанная на Linux и разработанная на основе Red Hat Linux. 3 ноября 2015 года Fedora была обновлена до 23-й редакции Fedora. двадцать три. Версия Fedora, соответствующая Red Hat Enterprise Linux 7 (сокращенно RHEL7), начинается с Fedora 19. Серия RHEL обновлена до RHEL7.2.
Fedora - это быстрая, стабильная и мощная операционная система для повседневных приложений, созданная энтузиастами мирового сообщества. Он позволяет любому свободно использовать, изменять и распространять сейчас или в будущем. Он разработан сильным сообществом, и члены этого сообщества своими неустанными усилиями предоставляют и поддерживают бесплатное программное обеспечение с открытым исходным кодом и открытые стандарты. Проект Fedora управляется и контролируется Fedora Foundation и поддерживается Red Hat. Fedora разрабатывается сообществом Fedora Project и спонсируется Red Hat. Цель состоит в том, чтобы создать новую, универсальную, бесплатную операционную систему с открытым исходным кодом.
Для пользователей Fedora - это бесплатная операционная система с полным набором функций и быстрыми обновлениями. Для спонсора Red Hat это платформа для тестирования многих новых технологий, и технологии, которые считаются доступными, в конечном итоге будут добавлены в Red Hat Enterprise Linux.
Fedora похожа на Red Hat Enterprise Linux и CentOS, а это значит, что если вы знаете, как работать с Red Hat или CentOS, вам не нужно работать с Fedora.
С выпуском RHEL7 корпоративного уровня он предоставляет множество новых функций, таких как новый интерфейс установки, команды systemd, брандмауэр и т. Д., Которые отражены в Fedora 23. Эта статья в основном представляет конфигурацию сети Fedora 23, конфигурацию межсетевого экрана, Selinux и конфигурацию основного сервера NDS.
Я хочу попробовать Google публичный DNS. Для этого мне нужно изменить адрес сервера имен. Я знаю, что это в файле /etc/resolv.conf , но всякий раз, когда я запускаю network-manager , он перезаписывает значения в этом файле тем, что он получает с помощью DHCP.
Как мне сказать это не делать это? Я посмотрел через графический интерфейс, но я мог только найти возможность добавить больше IP-адресов.
Ниже находится трофей :)
Способ № 1
Найдите файл конфигурации NetworkManager и добавьте / измените следующую запись (в CentOS5 она находится в /etc/NetworkManager/nm-system-settings.conf или /etc/NetworkManager/system-connections/ ) и измените файл подключения DSL:
Примечание: - если [ipv4] не работает, попробуйте с [ppp]
Способ № 2
Вы можете изменить разрешение /etc/resolv.conf так, чтобы оно не могло быть написано другими службами или вы можете использовать chattr .
Способ № 3
Создайте скрипт, как указано ниже, /etc/Networkmanager/dispatcher.d/ и не забудьте сделать его исполняемым:
запись о /etc/resolv.conf.myDNSoverride
Нет :) Это должно быть перезаписано это позже, после того, как это получает некоторую информацию от ISP. Но это дало мне некоторые идеи, я пойду network-scripts Если метод № 3 не работает, вы можете добиться большего успеха при редактировании, /etc/ppp/ip-up.local которое, очевидно, вызывается после того, как pppd установит соединение. @DravSloan Я ценю ваши ответы, это работает, но я нашел какой-то взлом на Google, который я разместил здесь .. давайте посмотрим.Кажется, что если вы добавите строку с dns=none в [main] разделе, NetworkManager не будет касаться /etc/resolv.conf .
Нет, не помогло. Все равно переписал. Насколько я могу судить по этому файлу, плагины в этом разделе предназначены для кэширования полученных DNS-записей. Но я могу ошибаться. Вы перезапустили NetworkManager после редактирования файла? Я отключил и включил сеть через виджет KDE. Я считаю, что это должно перезапустить его. К сожалению, перезапуск через service NetworkManager restart не работает - не знаю почему: | не удается подключиться после того, как я пытаюсь перезапустить его следующим образом. Очень странно, что restart это не сработает. Я не испытывал этого ни в одной из систем, которые использовал. Итак, установка dns=none в /etc/NetworkManager Fedora 24 . (есть также старая PEERDNS=none в /etc/sysconfig/network-scripts/ifcfg-$PPPD senario
Использование ppon и, ppoff вероятно, означает, что вы используете pppd . В каком случае pon будет выполняться скрипт /etc/ppp/ppp_on_boot . Если вы не укажете аргумент pon , он загрузит настройки из /etc/ppp/peers/provider . Если вы предоставите аргумент, он скажет, например, pon interwebz он будет искать /etc/ppp/peers/interwebz . Есть также /etc/ppp/options проверить тоже.
Я полагаю, что этот файл содержит настройки usepeerdns . Со страницы руководства pppd:
Прокомментируйте эту опцию, остановку pppd с poff , отредактируйте resolv.conf и перезагрузите pppd с pon и посмотреть , если это решит проблему.
eth0 senario
Если вы измените файл настроек интерфейса ( /etc/sysconfig/network-scripts/ifcfg-eth0 для eth0), вы увидите, какие настройки использует менеджер сети.
Если у вас есть DHCP, работающий на этом интерфейсе, BOOTPROTO=yes вы можете запретить переопределять ваши настройки DNS PEERDNS=no . Если вы используете статический адрес, то вы можете установить свои настройки DNS с помощью
Спасибо, близко, но пока нет. Используемый интерфейс есть ppp и нет соответствующего ifcfg-ppp файла: | Как создается ваше соединение точка-точка? Как это было настроено? Интересно, что я не знаю, как это было создано. :) Все , что я знаю, что pon и poff магически работы и что NetworkManager каким - то образом иметь возможность использовать его. Мое первое предположение состояло в том, что это должно было быть pppoeconf , но это даже не установлено здесь . Обновлен, чтобы увидеть, если вы можете изменить его с настройками pppd. Большое спасибо за ваше время, хотя, в конце концов, я воспользовался ответом Рахула Патила, это было очень познавательно!Вы можете сделать это в графическом интерфейсе настройки Network Manager, хотя, насколько я вижу, это нужно делать отдельно для каждого соединения, а не глобально, а это означает, что вам нужно настроить его индивидуально для каждого соединения Wi-Fi. (Это немного раздражает, но также имеет преимущество, поскольку многие сети Wi-Fi блокируют DNS для чего угодно, кроме внутреннего сервера, в лучшую или худшую сторону, поэтому для работы может потребоваться индивидуальная настройка .)
В любом случае в Fedora 19 либо перейдите в окно «Параметры сети», которое вы получаете из раскрывающегося списка в Network Manager, либо запустите панель настроек «Сетевые подключения». (Почему эти два разных? Изменения вводятся поэтапно, я думаю.) В любом случае, вы можете затем отредактировать каждое соединение, и в любом интерфейсе найдите вкладку IPv4.
В Конфигураторе параметров сети измените Автоматически с Вкл на Выкл и введите адреса Google. Или в графическом интерфейсе сетевых подключений измените Метод с «Автоматический (DHCP)» на «Только автоматические (DHCP) адреса» и снова введите DNS в поле.
Читайте также: