Отключить dhcp linux ubuntu

Включить / отключить запуск службы DHCP с помощью командной строки Linux

Я хотел бы отключить запуск службы DHCP с помощью командной строки Linux, чтобы использовать собственный DHCP-клиент или установить статические IP-адреса.

Я знаю, что, как уже упоминалось в этом посте, установив статический тип интерфейса вместо dhcp в /etc /network /interfaces, DHCP отключается для соответствующего интерфейса.

Но я хотел бы сделать сценарий оболочки, который использует командные строки, чтобы сделать это и наоборот.

2 ответа 2

Предполагая, что вы уже деактивировали NetworkManager для нужных интерфейсов, вы можете использовать команду «ip».

Назначение вручную (скажем, ваш интерфейс — eth0):

Команда ip addr принимает подкоманды replace и change и вы можете использовать label SOMETHING чтобы назвать ваше устройство в удобочитаемой форме. Так что это должно помочь сделать скрипт оболочки таким, как вам нужно.

Манипулируя IP-адресом интерфейса, в то время как он настроен на использование dhcp, существует риск того, что ваш статический ip будет регулярно переопределяться.

Затем вам нужно убить dchclient, связанный с вашим интерфейсом (htop и kill). Однако, похоже, что dhclient хранит pid своего экземпляра в каталоге по умолчанию: /var/run/dhclient..pid . Затем вы можете сделать:

и снова включить dhcp:

РЕДАКТИРОВАТЬ

Кажется, что сетевой менеджер контролирует экземпляры dhclient. Затем вы можете предоставить другую конфигурацию менеджеру.

удалите все ссылки на ваш интерфейс в /etc /network /interfaces

добавьте следующую строку в конец /etc /network /interfaces

создайте каталог /etc/network/interfaces.d если он не существует, и следующие два файла:

Источник

Настройка DHCP-сервера в Linux

Протокол динамической конфигурации узлов (Dynamic Host Configuration Protocol, DHCP) — это сетевой протокол, используемый для автоматического получения узлами IP-адресов и сетевой конфигурации с сервера.

IP-адрес, выделенный DHCP-клиенту DHCP-сервером, находится в «аренде», время аренды может отличаться в зависимости от того, сколько времени клиенту требуется соединение или конфигурация DHCP.

Как работает DHCP?

  • После загрузки подключенный к сети клиент (на котором настроено использование DHCP) отправляет DHCP-серверу пакет DHCPDISCOVER.
  • Получив пакет запроса DHCPDISCOVER, DHCP-сервер отвечает пакетом DHCPOFFER.
  • Клиент принимает пакет DHCPOFFER и отправляет серверу пакет DHCPREQUEST, подтверждая готовность принять сетевую конфигурацию, предоставленную в пакете.
  • Получив от клиента пакет DHCPREQUEST, сервер отправляет пакет DHCPACK, который разрешает клиенту использование выделенного IP-адреса.

В данном руководстве мы рассмотрим настройку DHCP-сервера в Ubuntu/Debian Linux, но большенство настроек будет работать и в других дистрибутивах. Для получения административных привилегий все команды будут выполняться через sudo.

Шаг 1: Установка DHCP-сервера

1. Для установки пакета DCHP-сервера, ранее известного как dhcp3-server, нужно выполнить следующую команду:

2. После завершения установки отредактируйте файл /etc/default/isc-dhcp-server для определения интерфейсов, которые будет использовать DHCPD для обработки DHCP-запросов, при помощи опции INTERFACES.

Например, если вам нужно, чтобы демон DHCPD прослушивал eth0, задайте следующее значение:

Для этого сетевого интерфейса нужно настроить статический IP-адрес.

Шаг 2: Настройка DHCP-сервера

3. Основной файл конфигурации DHCP — /etc/dhcp/dhcpd.conf, в него нужно внести всю информацию, отправляемую клиентам.
В файле конфигурации DHCP есть два типа данных:

  • параметры – указывают, как выполнять задание (например, на какое время выделять адрес), выполнять ли его вообще (например, выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту.
  • декларации – определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций.

4. Для определения настроек DHCP-сервера откроем и отредактируем файл конфигурации:

Установите в начале файла следующие глобальные параметры, они будут действовать для всех указанных ниже деклараций (измените их в соответствии с вашими задачами). Это имя домена domain-name, имена DNS-серверов domain-name-servers, время аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative, означающий «авторитетность» сервера в сегменте сети. Данный параметр нужен на тот случай, если клиент запросит неправильный IP-адрес — в этом случае сервер ответит ему отказом и предложит получить новый адрес.

Читайте также:  Linux как узнать размер директории

Обратите внимание, что перед некоторыми параметрами указано слово option, а перед некоторыми — нет. Это слово задает параметры, которые передаются клиенту в сетевой конфигурации.

5. Теперь нужно указать подсеть, в нашем примере мы будем использовать DHCP в локальной сети 192.168.10.0/24.

Здесь мы использовали следующие параметры:

routers — IP-адрес маршрутизатора по умолчанию
subnet-mask — маска подсети
domain-search — имя домена
domain-name-servers — имена DNS-серверов
range — диапазон IP-адресов, выделяемый клиентам (можно указывать несколько диапазонов, но обязательно указать хотя бы один)

Шаг 3: Настройка статических IP-адресов для машин клиентов

6. Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес:

7. Запустим службу DHCP и установим ее автоматический запуск при загрузке:

8. Далее нужно создать правило для службы DHCP в брандмауэре (Демон DHCPD прослушивает UDP-порт 67):

Шаг 4: Настройка машин клиентов

9. Теперь можно настроить клиентские компьютеры в сети для автоматического получения IP-адресов от DHCP-сервера.

Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/номер интерфейса):

Укажите следующие опции:

Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:

Если все настроено правильно, клиентская машина должна автоматически получать IP-адреса от DHCP-сервера.

Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Установка и настройка DHCP сервера в Ubuntu

Зачастую в больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов — DHCP. Это значительно упрощает настройку оборудования и экономит огромное количество времени. Используя DHCP нам не нужно производить настройку сети на каждом отдельном устройстве, нужно лишь подключить устройство к сети и DHCP сервер сделает все настройки автоматически. Каждый домашний WiFi роутер имеет в себе встроенный DHCP сервер, поэтому вам не нужно каждый раз при подключении к разным роутерам прописывать все настройки вручную, роутер делает это за вас.

DHCP сервер может автоматически присвоить клиенту:

  • Адрес ip;
  • Маску подсети;
  • IP адрес шлюза;
  • IP адрес DNS сервера;

В отдельных случаях:

  • Имя хоста;
  • Имя домена;
  • Адрес серверов времени(NTP);

Преимущество использования DHCP сервера заключается в том, что при огромных размерах сети в несколько тысяч устройств, её будет очень удобно и почти безболезненно настраивать. Представьте себе, если в сети нужно поменять ip адреса на персональных компьютерах сотрудников, принтерам выдать иные адреса, управляемому сетевому оборудованию еще назначить и свои. При размерах сети в несколько тысяч устройств, ручная настройка отняла бы у вас огромное количество времени. Другое дело когда в сети есть настроенный DHCP сервер, который выполнить настройку за вас и на это потребуется всего несколько минут. В дополнение к этому, сервер поддерживает возможность резервирования адресов, таким образом если клиенту(компьютеру,принтеру,коммутатору) нужно назначить фиксированный адрес, мы можем это указать в настройках DHCP сервера и при следующем запросе, клиент получит нужный ему адрес.

Установка и настройка DHCP сервера

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

Минимальная настройка DHCP сервера включает в себя редактирование только 2х файлов.

Первый файл который мы с вами отредактируем, это nano /etc/default/isc-dhcp-server и добавляем/редактируем всего одну строку: где «eth3» интерфейс к которому подключаются клиенты с внутренней сети и который будет слушать DHCP;

Теперь собственно и сама настройка DHCP сервера. Открываем файл nano /etc/dhcp/dhcpd.conf и удаляем все содержимое.
Сейчас мы с вами настроим сервер только для раздачи адресов всем устройствам, которые будут запрашивать у сервера адрес. Добавляем в файл строки:

Читайте также:  Mac os тормозит клавиатура

Разберем по-порядку строки которые мы внесли в этот файл:

  • default-lease-time — время аренды(в секундах) адреса у сервера, если клиент не запросил другое;
  • max-lease-time — максимальное время аренды адреса;
  • subnet — описывает сеть ip и её маску;
  • range — диапазон адресов с которых по запросу клиента будут предоставляться адреса;
  • optionrouters — адрес роутера. Это должен быть адрес интерфейса через который пользователи попадают в интернет.
  • optiondomain-name-servers — адрес DNS сервера. Указывает на то, что сервер расположен на этом же компьютере и слушает интерфейс с адресом 192.168.0.1

Роутером у нас должен выступать интерфейс который мы описали в файле INTERFACES=»eth3″ и там должен быть назначен адрес который мы описали в настройках DHCP сервера. Если у вас не установлен DNS сервер, можете использовать сервер от вашего ISP провайдера или публичные от google или yandex.

Для управления DHCP сервером используются команды:

  • /etc/ init . d / isc — dhcp — server start — запуск сервера;
  • /etc/ init . d / isc — dhcp — server stop — остановка сервера;
  • /etc/ init . d / isc — dhcp — server restart — перезапуск сервера;

Можно использовать команду service isc-dhcp-server .

Если у вас возникнут вопросы по настройке или установке оставляйте ваши комментарии.

Источник

How to disable DHCP (static IP)?

If I want to set my Slackware machine to have a static IP assigned from the router, how can I do so?

I assume I have to disable DHCP then edit something to set the requested IP, but I’m not sure where.

(I don’t have a GUI)

2 Answers 2

This heavily depends on whether or not your router supports it.

You do not need to disable DHCP, the DHCP reservations will need to be provided by your router and the router should have to set up a static standing reservation of the MAC address of the network interface to an IP address.

Of course you don’t have to and you can disable DHCP and set up a static IP address altogether on the system by editing /etc/rc.inet1.conf . You can look at the documentation on possible settings here

To disable Disable DHCP on my openSUSE machine I use the following script. The main thing to note is that, unlike «service SERVICENAME stop» command, «systemctl disable SERVICENAME.service» persists after boot (where SERVICENAME is the name of the service you want to disable).

systemctl disable wickedd-dhcp4.service

wickedd-dhcp4 was the name of service handling DHCP client configuration on my system. For disabling IPv6 DHCP as well use the following.

Once you have the DHCP disabled, you can assign static IP by either of the following ways.

  1. Editing «/etc/network/interfaces» file one sample configuration to assign static IP to eth0 interface could be the following.

allow-hotplug eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1
dns-nameservers 8.8.8.8

ifconfig eth0 192.168.1.100 netmask 255.255.255.0

  1. Using ip command (openSUSE)

ip addr add 192.168.1.100/24 brd + dev eth0

Needless to say that there are hundreds of other commandling utilities available.

Источник

Как отключить работу DHCP

Други, вроде простой вопрос — как отключить работу DHCP?

Установил CentOS из netinstall в варианте Minimal, и оказалось, что по дефолту сервис DHCP работает.
Но по команде chkconfig он отсутствует! Где же он прячется и как его отключить?

Потому что удалять его как пакет OpenDHCP все-таки не хочется, пусть бы себе был в нерабочем состоянии, чтобы когда понадобится, быстренько включить.

Запущена служба, которая раздаёт ip адреса в сеть с вашего CentOS или автоматически запускаются DHCP клиенты на интерфейсах ?

Ах, да — имеется в виду клиентский DHCP, который получает IP-адрес.

Я думаю вас заинтересуют параметры:

Документация дремучая, там то сих пор Kudzu упоминается 🙂
Но суть не в этом, насколько понял, для отключения DHCP-клиента нужно править /etc/sysconfig/network-scripts/ifcfg-eth0 ?
Пока правда не знаю как именно, но опять-таки суть не в этом — почему по команде chkconfig не вижу DHCP среди других сервисов и соответственно не могу отключить его автозагрузку удобной командой
chkconfig —level 345 dhcpd off

Читайте также:  Genius gf112 драйвер для windows 10

и остановить простой командой вида
service dhcpd stop ?

Ах, да — имеется в виду клиентский DHCP, который получает IP-адрес.

dhcp-клиент это не сервис. Если локальный интерфейс настроен на получение IP по DHCP, то в процессах будет висеть демон dhclient.

почему по команде chkconfig не вижу DHCP среди других сервисов

Потому что у тебя не установлено DHCP-сервера. Покажи вывод pgrep -l dhc

dhcp-клиент это не сервис. Если локальный интерфейс настроен на получение IP по DHCP, то в процессах будет висеть демон dhclient.

Ну это dhcp-клиент это я обозвал условно, не помню его точное название, поскольку в сервисах его не видно.

Хорошо, пусть правильное название клиента dhclient.
И он, как оказалось, действительно висит в памяти —
# pgrep -l dhc
974 dhclient

Так почему же его не видно по команде chkconfig? И откуда он тогда берется :-O

Так почему же его не видно по команде chkconfig?

Мда, вы читать и понимать то что написано когда уже научитесь ?

Ещё раз, dhclient — это клиент к dhcp серверу для получения IP адреса интерфейсом, в случае, если у вас выставлено получение параметров сети динамически. Как конфигурировать сетевой интерфейс указывается в конфигурационном файле /etc/sysconfig/network-scripts/ifcfg- , в частности в параметре BOOTPROTO= сервиса network. Сервис network запускает dhcpclient для каждого интерфейса, для которого указано получать параметры динамически и указано, что его нужно поднимать при старте системы, параметр ONBOOT=

Команда chkconfig управляет сервисами.

Действительно, не понимаю, почему этот dhclient сделали по управлению не такой, как другие сервисы, было удобнее, имхо, ну да ладно, это мои проблемы.
Объясните, пожалуйста, тогда такую вещь: как отключить этот dhclient, чтобы не мешал? Поскольку мне нужно перевести eth0 на статику.

Действительно, не понимаю, почему этот dhclient сделали по управлению не такой, как другие сервисы,

Потому что он не сервис и управлять им в отрыве от фреймворка настройки сети нет смысла.

У вас все так гармонично и картинка и ник и вопросы.

Действительно, не понимаю, почему этот dhclient сделали по управлению не такой, как другие сервисы,

Потому, что это не сервис. dhcpclient запускает сервис network, в зависимости от настроек интерфейсов, который вы указали в конфигурационном файле /etc/sysconfig/network-scripts/ifcfg- .

Объясните, пожалуйста, тогда такую вещь: как отключить этот dhclient, чтобы не мешал? Поскольку мне нужно перевести eth0 на статику.

почему этот dhclient сделали по управлению не такой, как другие сервисы

Потому что это не демон, как уже сказали выше. Не всякий процесс, запускающийся в фоновом режиме является демоном.

Чего ж его тогда не сделали демоном? Ну да ладно.
В-общем, решил проблему настройки eth0 следующим образом:

Установил утилиту system-config-network-tui-1.6.0.el6.2-1.el6.noarch, с помощью которого быстро отключил клиента dhcp и настроил адреса eth0.
Хоть утилита потянула за собой 8 пакетов (libnl-1.1-14.el6.i686 iw-0.9.17-4.el6.i686 crda-1.1.1_2010.11.22-1.el6.i686 wireless-tools-29-5.1.1.el6.i686 python-iwlib-0.1-1.2.el6.i686 python-ethtool-0.6-3.el6.i686 pciutils-3.1.10-2.el6.i686 dbus-python-0.83.0-6.1.el6.i686 tui-1.6.0.el6.2-1.el6.noarch), но зато с ней все наглядно, понятно и не требует ковыряться в конфигах.

Уж извините, но мне так оказалось проще.

Чего ж его тогда не сделали демоном? Ну да ладно.

Потому что смысла его делать демоном нет. Это клиент для DHCP сервера запускается для каждого интерфейса, который должен получать параметры работы сети. Как конфигурировать интерфейс указывается в параметрах сервиса network, что бы при его запуске у вас выставлялись статические ip адреса или он запускал для интерфейса dhclient .

Установил утилиту system-c27onfig-network-tui-1.6.0.el [/quote6.2-1.el6.noarch, с помощью которого быстро отключил клиента dhcp и настроил адреса eth0. Хоть утилита потянула за собой 8 пакетов (libnl-1.1-14.el6.i686 iw-0.9.17-4.el6.i686 crda-1.1.1_2010.11.22-1.el6.i686 wireless-tools-29-5.1.1.el6.i686 python-iwlib-0.1-1.2.el6.i686 python-ethtool-0.6-3.el6.i686 pciutils-3.1.10-2.el6.i686 dbus-python-0.83.0-6.1.el6.i686 tui-1.6.0.el6.2-1.el6.noarch), но зато с ней все наглядно, понятно и не требует ковыряться в конфигах.

Ну т.е. открыть в текстовом редакторе файл /etc/sysconfig/network-scripts/ifcfg- , т.е. например

Источник

Оцените статью