LINUX.ORG.RU
решено ФорумAdmin

dnsmasq не раздаёт адреса в локалку

 , ,


0

1

Доброго времени суток.
Комп с Gentoo на борту (назовём его хост), подключен к интернету через роутер (внутренний адрес роутера 192.168.1.1, адрес хоста - 192.168.1.2). На хосте раздаётся локалка, а также стоит несколько гостей в виртуалке (используется qemu, libvirt, virt-manager).

# ifconfig 
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::6e62:6dff:fe30:d49e  prefixlen 64  scopeid 0x20<link>
        ether 6c:65:6d:3f:d4:9e  txqueuelen 1000  (Ethernet)
        RX packets 142705  bytes 130857217 (124.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 184902  bytes 146156489 (139.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp4s0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.0.1  netmask 255.255.255.0  broadcast 172.16.0.255
        inet6 fe80::20a:cdff:fe2e:8603  prefixlen 64  scopeid 0x20<link>
        ether 0f:0a:cd:2e:81:23  txqueuelen 1000  (Ethernet)
        RX packets 12  bytes 1488 (1.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 558  bytes 91182 (89.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 558  bytes 91182 (89.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:e2:7a:00  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 10.0.2.2  netmask 255.255.255.0  broadcast 10.0.2.255
        ether 52:54:00:37:41:09  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:34:43:b5  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.5.1  netmask 255.255.255.0  broadcast 192.168.5.255
        ether 52:54:00:1c:92:85  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Интерфейс enp2s0 смотрит в интернет (через роутер), enp4s0u1 смотрит в локалку, virbr[0,1,2,3] - виртуальные мосты, обслуживающие гостей в виртуалке.
Конфиг сети:
# cat /etc/conf.d/net
config_enp2s0="dhcp"
config_enp4s0u1="172.16.0.1/24"
modules_enp4s0u1="!ifplugd"

Установлен dnsmasq, задачей которого является обслуживание enp4s0u1
cat /etc/dnsmasq.conf
resolv-file=/etc/resolv.conf
dhcp-host=25:1c:2a:03:e3:41,172.16.0.2,24h
bind-interfaces
except-interface=virbr0
except-interface=virbr1
except-interface=virbr2
except-interface=virbr3

Проблема в том, что адрес 172.16.0.2 не присваиваетя подключаемому проводом ноуту (MAC правильный).
# cat /var/log/everything/current | grep dnsmasq
May 07 19:00:20 [dnsmasq] started, version 2.80 cachesize 150
May 07 19:00:20 [dnsmasq] compile time options: IPv6 GNU-getopt DBus i18n no-IDN DHCP DHCPv6 no-Lua no-TFTP no-conntrack ipset no-auth no-DNSSEC no-ID loop-detect inotify dumpfile
May 07 19:00:20 [dnsmasq] reading /etc/resolv.conf
May 07 19:00:20 [dnsmasq] using nameserver 192.168.1.1#53
May 07 19:00:20 [dnsmasq] read /etc/hosts - 2 addresses

и
# cat /etc/resolv.conf 
# Generated by udhcpc for enp2s0
domain lan
nameserver 192.168.1.1

Подскажите в чём проблема.
Заранее благодарен.

ps Виртуальные мосты работают нормально, настраивались через virt-manager автономно.



Последнее исправление: sspphheerraa (всего исправлений: 1)

Одной директивы dhcp-host недостаточно. Без dhcp-range dnsmasq не будет слушать интерфейсы. Укажи например такой:

dhcp-range = wired,172.16.0.2,static
Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.