Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Настройка DHCP сервера на VLAN'ы.  (Прочитано 4185 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Frairs

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Настройка DHCP сервера на VLAN'ы.
« : 13 Февраля 2019, 13:29:36 »
Не могу понять полную логику как должен работать DHCP сервер. Начну с начала...

У меня есть UBUNTU server 18.10. На нём две сетевые карты. Настроил я сетевой интерфейс(netplan) вот так:

network:
    ethernets:
         ens32:
             addresses: [192.168.0.35/24, ]
             gateway4: 192.168.0.3
             nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
             dhcp4: no
         enp2s1: {}
    version: 2

    vlans:
        v10:
         id: 10
         link: enp2s1
         adresses: [192.168.10.3/24]
    vlans:
        v20:
         id: 20
         link: enp2s1
         adresses: [192.168.20.3/24]
    vlans:
        v30:
         id: 30
         link: enp2s1
         adresses: [192.168.30.3/24]

Потом я разрешил пересылку пакетов между интерфейсами открыв:
sudo gedit /etc/sysctl.confИ добавил туда строчку:
net.ipv4.ip_forward=1
В iptables запретил пересылку между VLAN:

iptables -i forward -S 192.168.10.0/24 -d 192.168.20.0/24 -j DROP
iptables -i forward -S 192.168.20.0/24 -d 192.168.10.0/24 -j DROP
И так со всеми VLAN.

Ну и что бы интернет у меня работал во всех VLAN:

iptables -t nat -A POSTROUTING -o ens32 -j MASQUERADE
Для vlan v10 основной шлюз 192.168.10.3.
Для vlan v20 основной шлюз 192.168.20.3.
Для vlan v30 основной шлюз 192.168.30.3.

Рядом стоит коммутатор Dlink des 3200-26. На нём настроены аналогичные vlan и к нему подключается клиенты, а он уже через тегированный порт подключён к серверу.

И все довольны. VLANы изолированны друг от друга, все в интернете.

Появилась задача настроить DHCP сервер для VLAN v10 и v20.

Делаю это так. Настраиваю интерфейсы:
vim /etc/default/isc-dhcp-server
Добавляю в файл:
INTERFACESv4="v10 v20"
Потом открываю:
vim /etc/dhcp/dhcpd.conf
И привожу его к такому виду:

#v10
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.5 192.168.10.100;
option domain-name-servers 8.8.8.8, 4.4.8.8;
option domain-name "service.loc";
option routers 192.168.10.3;
option broadcast-address 192.168.10.255;
default-lease-time 600;
max-lease-time 7200;

v20
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.5 192.168.20.100;
option domain-name-servers 8.8.8.8, 4.4.8.8;
option domain-name "office.loc";
option routers 192.168.10.3;
option broadcast-address 192.168.20.255;
default-lease-time 600;
max-lease-time 7200;

Закрываю, сохраняю. Перезапускаю DHCP:

/etc/init.d/isc-dhcp-server restart
Линукс пишет [ok], но DHCP не работает. И я не могу понять почему. Пробовал открывать 67 и 68 порты. Делал это так:

iptables -I INPUT -p udp --dport 67 -j ACCEPT
iptables -I OUTPUT -o udp --dport 67 -j ACCEPT
iptables -I INPUT -p udp --dport 68 -j ACCEPT
iptables -I OUTPUT -o udp --dport 68 -j ACCEPT

DHCP не работает. Я не понимаю правильно ли я настроит интерфейсы в /etc/default/isc-dhcp-server.
Как линукс понимает на какой интерфейс дать DHCP, а на какой нет? Интуитивно получается что он анализирует подсеть и понимает какая подсеть к какому интерфейсу относится.

На коммутаторе основной шлюз настроен 192.168.0.35 то есть это ens32 который смотрит в интернет. Когда пользователь отправляет DHCPDISCOVER коммутатор должен отправить его на основной шлюз, так как больше некуда, и я так понимаю он отправляет его на ens32. Если это так то какой основной шлюз тогда указывать, если для каждого VLANа он свой? Помогите пожалуйста разобраться, понять логику и настроить это по уму.

Оффлайн Frairs

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Настройка DHCP сервера на VLAN'ы.
« Ответ #1 : 16 Февраля 2019, 09:02:56 »
Оказывается одно неверная поставленная скобка "{" в настройках DHCP (dhcpd.conf) и всё летит к чертям. Странно что при перезапуске сервера DHCP, линукс говорит что у меня всё ОК. В то время как тот же netplan ругается на любой неверно поставленный символ. Так что такая описанная мной конфигурация успешно работает. Может кому пригодится.

 

Страница сгенерирована за 0.015 секунд. Запросов: 20.