LINUX.ORG.RU
ФорумAdmin

dhcp server и роутер с dhcp relay

 , , ,


0

1

Всем привет. Имеется debian сервер с подключенным USB 4G с автодозвоном, который дает выход в сеть и определяется как сетевая enp0s2f1u1, а родная сетевая как enp3s0. В файле /etc/network/interfaces прописал

auto lo
iface lo inet loopback
        post-up iptables-restore </etc/iptables.up.rules

# LAN Ethernet
auto enp3s0
iface enp3s0 inet static
address 192.168.0.1
netmask 255.255.255.0

# ZTE 830FT
allow-hotplug enp0s2f1u1
iface enp0s2f1u1 inet dhcp
В файле /etc/sysctl.conf откомментировал строку net.ipv4.ip_forward=1. Затем прописал iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE и сохранил iptables-save > /etc/iptables.up.rules.
Далее поставил isc-dhcp-server у которого в файле /etc/default/isc-dhcp-server указал свой локальный сетевой интерфейс INTERFACESv4="enp3s0"
В конфиге /etc/dhcp/dhcpd.conf написал
option domain-name "Home";
option domain-name-servers 192.168.99.1, 77.88.8.8, 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.200;
        option routers 192.168.0.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
}
Далее кабель из сетевой enp3s0 идет в WAN порт роутера f@st1744v2.2
Роутер получает 192.168.0.10 и своим dhcp раздает 192.168.1.x - все работает на ура!.
Но когда ставлю в настройках роутера не dhcp-server, а dhcp-relay с адресом 192.168.0.1 все ломается.
Пробовал разные конфиги, дописывал и экспериментировал с
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.10 192.168.1.200;
        option routers 192.168.0.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.1.255;
}
Но пока не выходит. Что дописать в конфиги, чтобы dhcp-relay заработал?

Но когда ставлю в настройках роутера не dhcp-server, а dhcp-relay с адресом 192.168.0.1 все ломается

Как настроен релей? Если у тебя там dhcrelay - ты в курсе, что он должен быть включен как на интерфейсе в сторону клиента, так и на интерфейсе в сторону сервера?

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Как настроен релей?

У роутера во вкладке DHCP такие параметры:
1. Режим DHCP:
1.1 Нет;
1.2 DHCP-Relay;
1.3 DHCP-Server;
Если выбрать DHCP-Relay появляется только один параметр «Relay сервер» где я ввожу 192.168.0.1. Думаю, что все необходимое должно быть включено в прошивке по умолчанию, иначе зачем эта настройка.

yaarman ()

Имеется debian сервер с подключенным USB 4G с автодозвоном, который дает выход в сеть и определяется как сетевая enp0s2f1u1

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Вас не смущает тот факт, что интерфейса eth0 в Вашей машине нет?

Роутер получает 192.168.0.10 и своим dhcp раздает 192.168.1.x - все работает на ура!.

Скорее всего, помимо того, что роутер раздает адреса по dhcp, он еще и натит пакеты из сети 192.168.1.0/24. Поэтому все работает. Вам нужно соединить в мост WAN и LAN-интерфейсы роутера, если хотите, чтобы все машины были в сети 192.168.0.0.

Serge10 ★★★★★ ()
Ответ на: комментарий от Serge10

eth0 в Вашей машине нет?

Сорян это опечатка просто) на деле вписывал свой интерфейс.
Клиенты, которые подключены к роутеру (с dhcp-relay), не могут получить адрес от внешнего dhcp и при этом выводится такое сообщение в логах

Feb  5 15:35:39 relax-cloud dhcpd[1613]: DHCPREQUEST for 192.168.1.13 from 00:25:22:fc:97:2e (RELAX) via 192.168.1.1 [br]
Feb  5 15:35:39 relax-cloud dhcpd[1613]: DHCPACK on 192.168.1.13 to 00:25:22:fc:97:2e (RELAX) via 192.168.1.1
Feb  5 15:35:44 relax-cloud dhcpd[1613]: reuse_lease: lease age 10 (secs) under 25% threshold, reply with unaltered, existing lease for 192.168.1.13
Для устройств по WiFi все аналогично.

yaarman ()

dhcpcd5 клевая штука, ставишь и interfaces вообще можно удалить - автоматом подхватывает любые сетевые устройства от pci модулей до usb свистков

amd_amd ★★★ ()
Ответ на: комментарий от Serge10

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

yaarman ()
Ответ на: комментарий от yaarman

Ну или запихнуть все это в одну сеть, если так можно конечно

Я про этот вариант уже писал выше - достаточно объединить в мост два интерфейса на роутере. Что, впрочем, превратит его (роутер) в обычный свитч :).

Serge10 ★★★★★ ()
Ответ на: комментарий от Serge10

Ок, спасибо) Так, а почему возникает ошибка при попытке отдать IP клиенту?

Feb  5 15:35:39 relax-cloud dhcpd[1613]: DHCPREQUEST for 192.168.1.13 from 00:25:22:fc:97:2e (RELAX) via 192.168.1.1 [br]
Feb  5 15:35:39 relax-cloud dhcpd[1613]: DHCPACK on 192.168.1.13 to 00:25:22:fc:97:2e (RELAX) via 192.168.1.1
Feb  5 15:35:44 relax-cloud dhcpd[1613]: reuse_lease: lease age 10 (secs) under 25% threshold, reply with unaltered, existing lease for 192.168.1.13

yaarman ()
Ответ на: комментарий от yaarman

Давайте еще раз разберемся с конфигурацией. На роутере у Вас 2 интерфейса - один имеет адрес 192.168.0.10, второй 192.168.1.1. Все правильно?

Тогда вот тут:

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.10 192.168.1.200;
        option routers 192.168.0.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.1.255;
}

option routers должна быть 192.168.1.1, насколько я понимаю.

Serge10 ★★★★★ ()