Этой статьёй я начинаю цикл статей «Шлюз на основе Debian». Мы настроим dhcp сервер в самой простой конфигурации. dhcp сервер раздаёт сетевые настойки компам в сети, которые используют динамический IP адрес. Впрочем, чего объяснять. Если вы читаете эту статья — то вы уже знаете на кой черт оно надо.
Как обычно, fast way идеология.
Сразу определимся в условиях. eth0 — интерфейс внешний, через который сервер получает инет. eth1 — внутренний сетевой интерфейс.
Соответственно, у нас нет никакой необходимости в том, чтобы dhpcd работал на eth0.
root@debian-gateway:~# aptitude install dhcp3-server
Теперь нам нужно указать, какие сетевые интерфейсы стоит «прослушивать» dhcp-демону. В нашем случае — это eth1. Не указывайте интерфейсы, к которым подключена сеть, в которой есть другой dhcp сервер (а тем более — не ваш).
В файле /etc/default/dhcp3-server
напишем следующее:
INTERFACES="eth1"
(По умолчанию там написано INTERFACES=""
, если dhcp должен прослушивать 2 интерфейса — то следует указать их через пробел — например, INTERFACES="eth1 eth2"
)
Теперь напишем простейший конфигурационный файл (пример конфига в текстовом виде):
# не забудьте изменить данное значение:
option domain-name "static.example.org dyn.example.org"; вы можеет использовать
# dns серверы для dhcp клиентов:
option domain-name-servers 192.168.0.1, 8.8.8.8, 8.8.4.4;
# основной шлюз (сервер, через который они смогут попасть в инет или другую сеть) для dhcp клиентов
option routers 192.168.0.1;
# broadcast адрес - не меняйте, если не знаете что это такое.
option broadcast-address 192.168.0.255;
# ntp серверы для dhcp клиентов.
option ntp-servers 192.168.0.1;
default-lease-time 86400;
max-lease-time 86400;
authoritative;
log-facility local7;
# указываем подсеть, из которой будут выдаваться IP адреса. Если не знаете на что менять - не меняйте.
subnet 192.168.0.0 netmask 255.255.255.0 {
# указываем диапазон ip адресов
range 192.168.0.100 192.168.0.200;
}
И перезагружаем dhcp server:
root@debian-gateway:~# /etc/init.d/dhcpd restart
или
root@debian-gateway:~# /etc/init.d/dhcp3-server
или
root@debian-gateway:~# /etc/init.d/dhcp-server
В общем, tab вам в помощь.
В общем то всё. Теперь сетевые устройства в вашей сети, настроенные на динамический ip адрес будут его получать.
Настроил. Все летает. Одна трабла — если подключать через свич (внутренюю сеть) то нет линка. Свич не видит сетевую карту.
Кхм. Что подключать, куда подключать? )
Сори за беспокойство ))) Коммутатор оказался глючный)))))))
Извините за глупый вопрос в какой директории создать конфиг файл для dhcp
/etc/dhcp/dhcpd.conf
или /etc/dhcp3/dhcp.conf
Как-то так. В общем, он уже создан. В разных версиях dhcpd он на разных местах (есть isc, есть обычная).
Ошибочка… Раздаются адреса из подсети 192.168.0.0/24, а широковещательный адрес из 192.168.1.0/24
Спасибо, поправил.
Ребят чето он не запускается
root@debian:/home/vlad# /etc/init.d/isc-dhcp-server start
Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. … failed!
failed!
Делаю это но там нечего нет ((
root@debian:/home/vlad# tail /var/log/messages
Dec 9 14:56:57 debian dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1
Dec 9 14:56:57 debian dhcpd: Copyright 2004-2010 Internet Systems Consortium.
Dec 9 14:56:57 debian dhcpd: All rights reserved.
Dec 9 14:56:57 debian dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 9 14:56:57 debian dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1
Dec 9 14:56:57 debian dhcpd: Copyright 2004-2010 Internet Systems Consortium.
Dec 9 14:56:57 debian dhcpd: All rights reserved.
Dec 9 14:56:57 debian dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 9 14:56:57 debian dhcpd: Wrote 0 leases to leases file.
Dec 9 14:56:57 debian dhcpd:
root@debian:/home/vlad#
Вы разницу между /var/log/messages и /var/log/syslog понимаете вообще? И какого черта вы используете tail без параметров? Вы думаете, что в последних 10 строках файла обязательно будет нужная вам информация?
Здравствуйте!
Спасибо за отличный цикл статей.
Подскажите плиз, как мне правильно настроить такой роутинг.
Есть комп — eth0 смотрит в мир (WAN);
eth1 выдает подсеть 192.168.1.1/24 и смотрит внутрь (LAN);
wlan0 выдает подсеть 192.168.10.1.24 и смотрит внутрь (LAN);
Локальный ДНС работает форвардингом на ИПы провайдера и живет на 192.168.1.1 \ 192.168.1.10
Я хочу поднять на роутере OpenVPN и настроить так, чтобы ноутбут с макадресом XX:XX:XX:XX:XX
(И ТОЛЬКО ОН) коннектился по wlan0 и получал ИП из подсети 10.40.0.1 (GW и DNS — 10.40.0.1)
То есть, весь траффик с ноута должен идти в ВПН-туннель, а остальное — наоборот, НЕ попадать в впн-туннель. Помошите плиз — матчать хромает. Спасибо!
Да, и еще момент — уважаемый автор, поправьте плиз в тексте:
в последних версиях убунты рестарт сервера выполняется как
/etc/init.d/isc-dhcp-server restart
Я намучался пока нашел, пусть другим будет в помощь. Спасибо!
Эм. Если вы такое спрашиваете — значит не стоит этого делать. По крайней мере, сами точно не сделаете — вам нужно пошаговая инструкция. А писать её никто не станет.
Читайте официальные примеры конфигов dhcpd — разберетесь со временем.
Ну решать, очевидно, мне — мне стоить или не стоит делать. )
Я не прошу пошаговую инструкцию. Я прошу проставить точки, куда копать.
Роутер собрал вообще-то я сам, и PCI wifi карту в режим master свичнуть ума хватило.
Так что не все так грустно. Расскажите, какими командами решается моя задача, плиз.
Дальше я разберусь. Спасибо!
Командами? editor чтототам =)
Вы лучше расскажите, зачем вам это и почему ноутбук просто не может поднимать openvpn ?
Ноутбук сейчас так и настроен — OpenVPN поднимается с помощью демона.
При конекта к точке в resolv.conf выдается nameserver=192.168.1.10
И мне приходится каждый раз руками менять на 10.40.0.1
Заменить в конфигах DHCP — это значит, что ВСЕ гости, с ноутбуками и wifi,
а также другие девайсы (телефоны, ebook, ресиверы DVB) в сети будут получать 10.40.0.1
А мне этого НЕ НУЖНО — туда должен ходить ТОЛЬКО служебный ноут.
Я слышал,что можно четко по MAC привязать устройство, и ему будет отдаваться строго определенные настройки. Вот и прошу толкнуть — куда копать и какими средствами это решается?
iptables? roune? или есть доп. решенияю?
Почему не могу юзать демона как и раньше на ноуте — не хочу.
Я потому роутер из старого ПК сделал, чтобы он рулил кому куда и что отдавать и отправлять.
Заодно научившись делать такие вещи, я больше познаю тайны маршрутизации и принципы функционирования сетей. Спасибо!
Вы чушь придумываете.
VPN как раз и нужен для того, чтобы в приватную сеть никто попасть не мог. А в вашем же случае в неё сможет попасть любое устройство в сети. Не придумывайте велосипеды.
> И мне приходится каждый раз руками менять на 10.40.0.1
push «dhcp-option DNS 10.40.0.1»
в конфиге openvpn сервера вас спасет.
А так — man dhcp на тему «adress pools». Для каждого пула можно раздавать свои DNS, свой default gw и так далее.
Спасибо, именно эту точку я иискал.
Очень хороший цикл статей, был бы признателен, если бы Вы продолжили в части безопасности,
то есть как грамотно настроить ssh, закрыть все и разрешить только то, что надо,
сканировать роутер на предмет вторжений извне.Информации много, но как Вы пишите, далеко не всему можно доверять. Спасибо!
После диплома продолжу писать. Уже сотни 2 черновиков статей(
>В нашем случае — это eth0. Не указывайте интерфейсы, к которым подключена сеть, в которой есть >другой dhcp сервер (а тем более — не ваш).
Ошибочка, не eth0, а eth1. В вашем примере как раз eth1 смотрит внутрь.
Спасибо, поправил. Конфигами мыслить проще.
ct 29 01:21:45 1pp dhcpd:
Oct 29 01:21:45 1pp dhcpd: No subnet declaration for eth1 (no IPv4 addresses).
Oct 29 01:21:45 1pp dhcpd: ** Ignoring requests on eth1. If this is not what
Oct 29 01:21:45 1pp dhcpd: you want, please write a subnet declaration
Oct 29 01:21:45 1pp dhcpd: in your dhcpd.conf file for the network segment
Oct 29 01:21:45 1pp dhcpd: to which interface eth1 is attached. **
Oct 29 01:21:45 1pp dhcpd:
Oct 29 01:21:45 1pp dhcpd:
Oct 29 01:21:45 1pp dhcpd: Not configured to listen on any interfaces!
Oct 29 01:21:46 1pp dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
Oct 29 01:21:46 1pp dhclient: DHCPOFFER from 10.7.243.50
Oct 29 01:21:46 1pp dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Oct 29 01:21:46 1pp dhclient: DHCPACK from 10.7.243.50
Вот такая фигня в сислог.
дхп не поднимается(
Что делать? куда рыть?
Внимательно прочитать мануал и выполнить всё по порядку. В особенности — /etc/default/dhcp3-server
ИМХО, я бы добавил еще раздачу ДНСов. И статейку с настройкой днса под дебианом…
господа хорошие, поясните, пожалуйста, как правильно настроить раздачу…
ПРобывал данным методом и не выходит…
что сейчас: Кабель от провайдера идет к роутеру (wl500Pv2) а с него на 2 сервера, на одном видеозапись, на 2м(основном) работает сайт и несколько серверов…В основном сервере стоит 2 сетевые и debian 6…
что хочу: интернет от провайдера подключался к основному серверу, тот брал на свои нужды и раздавал остаток на роутер, а тот в свою очереднь отдавал на 2й сервер и несколько компьютеров…
интернет напрямую на основном сервере настроить удалось…подключение к 2й сетевой проверял с помощь роутера…пинговалось и заходило на ип открывая дефолтную статическую страничку вебинтерфейса с сайта осного сервера, но интернет не работает…скорее всего это из-за того, что на основном сервере поднят вебхостинг и 80 порт перекрыт…
подскажите,пожалуйста, как быть. Просто роутер клеит ласты при большем количестве подключений…сначала перестает отдавать на wifi, потом страдает lan
Я возможно поднял тему.
Но вопрос таков: у меня eth0- модем (мтс 4g zte 830ft если важно) но он же совсем как eth обозначается. Что мне прописать INTERFACES=»»? в конфигах править нечего не нужно?
Сетевую карту, с которой вы собираетесь раздавать dhcp-адреса.
Спасибо…
Добрый день. Пробую настроить офисную сеть на Vmware Workstation 10. итого:
1. Debian + nat + dhcp — должна раздавать ip адреса и работать как шлюз в интернет.
2. Windows 8 — динамически получает ip адрес от dhcp (Debian) и должна выходить в интернет.
На данный момент DHCP работает отлично, сам Debian выходит в интернет и пинги проходят на ya.ru
Но вот Windows 8 получает ip но не может выходить в интернет — настройки Debian такие:
/etc/resolv.conf # DNS
domain localdomain
search localdomain
nameserver 192.168.182.2
nameserver 192.168.182.100
nameserver 8.8.8.8
/etc/rc.local # FIREWALL
iptables -t nat -A POSTROUTING -0 eth0 -j MASQUERADE
exit 0
/etc/network/interfaces # ИНТЕРФЕСЫ: eth0 мир-инет, eth1 lan dhcp
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.182.100
netmask 255.255.255.0
network 192.168.182.0
broadcast 192.168.182.255
gateway 192.168.182.2
auto eth1
iface eth1 inet static
address 192.168.109.7
netmask 255.255.255.0
network 192.168.109.0
broadcast 192.168.109.255
gateway 192.168.182.100
/etc/dhcp/dhcpd.conf # DHCP
authoritative;
option domain-name «corp.globalmoney.ua»;
option domain-name-servers 192.168.182.2, 192.168.182.100, 8.8.8.8;
default-lease-time 259200;
max-lease-time 518400;
Server-identifier 192.168.109.7;
ddns-update-style none;
log-facility local7;
subnet 127.0.0.1 netmask 255.255.255.255 {
}
subnet 192.168.100.0 netmask 255.255.255.0 {
}
subnet 192.168.109.0 netmask 255.255.255.0 {
option routers 192.168.182.100; # Шлюз по умолчанию
option broadcast-address 192.168.109.255; # Широковещательный адрес
range 192.168.109.20 192.168.109.50;
}
Windows 8 получает такие настройки для своей сетевой:
ip: 192.168.109.20
mask: 255.255.255.0
gw: 192.168.182.100
dhcp: 192.168.109.7
dns: 192.168.182.2 , 192.168.182.100, 8.8.8.8
Прошу помощи в настройке, что я где не так сделал.
Вроде бы всё как в этой статье — но инет на Windows 8
не проходит, а это значит что в Debian шлюз не работает.
apt install isc-dhcp-server
nano /etc/default/isc-dhcp-server
eth1
eth1
nano /etc/dhcp/dhcpd.conf
autheritative;
default-lease-time 600;
max-lease-time 7200;
ignore-client-update;
ddns-update-style interim;
use-host-decl-names on;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.11 192.168.0.61;
option routers 192.168.0.1;
host hq-srv {
hardware ethernet bc:24:11:a0:b7:2c;
fixed-address 192.168.0.60;
}
}
systemctl restart isc-dhcp-server
сбрасываем настройки hq-srv
ipconfig/release
ipconfig/renew