LINUX.ORG.RU

в dnsmasq не работает DHCP, не раздает IP

 , , ,


0

1

Настраиваю сервер SSTP по этой инструкции: https://sidmid.ru/softether-vpn-server-аналог-openvpn-установка-и-настройка/

за место SecureNAT использую Local Bridge и по инструкции испольую isc-dhcp-server. Все работает все норм, но я решила заменить этот DHCP на dnsmasq. В теории это просто другой DHCP сервер, но он не работает после замены почему-то, просто не выдает IP для клиентов.

порядок проверки:

vpnserver start  # запускаем SSTP сервер, он настроен и нормально работает
ifconfig tap_soft 192.168.30.1/24 # задаем IP для tap_soft 
systemctl restart isc-dhcp-server # перезагружаем DHCP

Подключаемся со своего роутера и видим что все работает.

переходим на dnsmasq :

systemctl stop isc-dhcp-server # останавливаем DHCP
vpnserver stop # останавливаем SSTP сервер
# ждем и начинаем все сначала

vpnserver start  # запускаем SSTP сервер
ifconfig tap_soft 192.168.30.1/24 # задаем IP для tap_soft 
systemctl restart dnsmasq  # перезагружаем DHCP

Подключаемся со своего роутера и видим что ничего не работает, мне не дают IP.

настройки из /etc/dhcp/dhcpd.conf для isc-dhcp-server, они наверное не нужны, но пусть будут для сравнения

option domain-name "tap_soft";
option domain-name-servers 192.168.30.1;

default-lease-time 43200;
max-lease-time 86400;

log-facility local7;

subnet 192.168.30.0 netmask 255.255.255.0 {
range 192.168.30.10 192.168.30.200;
option routers 192.168.30.1;
}

настройки из /etc/dnsmasq.conf


interface=tap_soft
dhcp-range=192.168.30.10,192.168.30.200,255.255.255.0,12h

# Опция 3 - это шлюз по умолчанию для DHCP-клиентов
dhcp-option=3,192.168.30.1

# Отключить DNS
port=0

log-queries
log-dhcp
log-facility=/var/log/dnsmasq.log

# Включаем DHCP сервер на указанном интерфейсе
dhcp-authoritative

В логах файла /var/log/dnsmasq.log пусто, ничего стоящего нет:

Dec 30 18:28:25 dnsmasq[304562]: started, version 2.89 DNS disabled
Dec 30 18:28:25 dnsmasq[304562]: compile time options: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
Dec 30 18:28:25 dnsmasq-dhcp[304562]: DHCP, IP range 192.168.30.10 -- 192.168.30.200, lease time 12h

результат команды: ifconfig tap_soft

tap_soft: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.30.1  netmask 255.255.255.0  broadcast 192.168.30.255
        inet6 fe80::5cd3:a3ff:fe26:67e  prefixlen 64  scopeid 0x20<link>
        ether 5e:d3:a3:26:06:7e  txqueuelen 1000  (Ethernet)
        RX packets 2876  bytes 288028 (281.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4405  bytes 5338754 (5.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

результат команды: netstat -lptune

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      0          430413     240142/vpnserver
udp        0      0 127.0.0.54:53           0.0.0.0:*                           996        16200      487/systemd-resolve
udp        0      0 127.0.0.53:53           0.0.0.0:*                           996        16199      487/systemd-resolve
udp        0      0 0.0.0.0:67              0.0.0.0:*                           0          548716     305584/dnsmasq

результат команды: ping 192.168.30.1 все хорошо видно

PING 192.168.30.1 (192.168.30.1) 56(84) bytes of data.
64 bytes from 192.168.30.1: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 192.168.30.1: icmp_seq=2 ttl=64 time=0.041 ms
64 bytes from 192.168.30.1: icmp_seq=3 ttl=64 time=0.064 ms

результат команды: ip link show tap_soft для работы и с isc-dhcp-server и с dnsmasq показывает что интерфест поднять есть слово «UP»

6: tap_soft: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 5e:d3:a3:26:06:7e brd ff:ff:ff:ff:ff:ff

в iptables есть правило для входящего UDP на 67 порт и там цифры меняются и видно движение трафика

iptables -A INPUT -p udp --dport 67 -j ACCEPT  # iptables в теории не причем т.к. isc-dhcp-server работает

Пробую в ручном режиме запросить настройки для интерфейса tap_soft

dhclient -r tap_soft  # очистить
dhclient -v tap_soft  # вручную запросить данные с интерфейса. при работе isc-dhcp-server все выдает, при работе dnsmasq просто висит

Где зарыта собака, почему при работе другого DHCP ничего не работает и мне не выбает IP этот dnsmasq?

Если кому интересно почему не оставить isc-dhcp-server, отвечаю:

  1. isc-dhcp-server - уже не поддерживается и новых версий уже не будет, в случаи ошибок и проблем в будущем никто их не исправит, так что пока я еще помню что там настраивать и менять, я это хочу сделать чтобы в будущем ничего не трогать а просто обновлять программу, это осовная причина.

  2. dnsmasq более легковесный, у меня менее 10 клиентов на сервере.

  3. много инструкций по настройке приведене именно для работы с dnsmasq, я именно по ним настраивала но ничего не заработало.

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

Да фиг его знает. Может ему маска всёж нужна. Вона у этого «isc-dhcp-server» хоть сабнет определён, а у второго (который «dnsmasq») может и не врубается чё ты хошь. По идее, если логи пусты и нечего обсуждать, то (возможно, но я не уверен) должна быть какая-то утилита, которая как бы проверяет конфигурацию. Может быть, почекать как-нибудь ваш конфиг для второго (который «dnsmasq»). И вот ещё. В целом, для меня, как обыкновенного пользователя, как-то чудесато если DHCP мне адрес даст, а DNS-ы не предложит.

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

Уточню, что вчера мой аноним подразумевал под «маской» с выносом мысли на проверку конфигурации.

Кто-то пишет в range, как вы. Кто-то не пишет в range, а пишет отдельную опцию. Но с чем связан такой «дуализм» аноним не знает, допуская разные варианты стечением обстоятельств.

Видите ли, даже Midnight Commander не только в разных дистрибутивах разный, но даже в пределах одного дистрибутива чертовски отличается: вот он вчера работал, а сегодня обновился и надо искать где подправить, чтоб заработал как раньше. А у вас не какой-то там файловый менеджер, которого вы пытаетесь настроить, а более полезная для дела штучка.

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

Я бы выбросил interface=

Пробовала, не помогло.

Может ему маска всёж нужна

Пробовала отдельно указать маску, тоже не помогло.

# так маска тоже не работает
dhcp-option=1,255.255.255.0

должна быть какая-то утилита, которая как бы проверяет конфигурацию

Проверяла запуская команду, всегда говорит что все норм:

dnsmasq --test
dnsmasq: syntax check OK.

Мне кажется что должен быть еще какой-то параметр или еще какая-то опция которая запускает работу dnsmasq.

AnastasiaM
() автор топика
Последнее исправление: AnastasiaM (всего исправлений: 1)
Ответ на: комментарий от AnastasiaM

за место SecureNAT использую Local Bridge

А из чего он собран? Может, dnsmasq видит, что на интерфейсе, с которого он считает прилетевшим пакет, есть другие сети, не пересекающиеся с dhcp range.

В любом случае, проще запустить его руками с -d –log-debug и что там еще есть, наверняка же он туда ругнется.

должна быть какая-то утилита, которая как бы проверяет конфигурацию

Это не я писал.

thesis ★★★★★
()