Автор Тема: Как dnsmasq повесить на сетевой интерфейс?  (Прочитано 2722 раз)

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 233
  • ITS
Как dnsmasq повесить на сетевой интерфейс и чтобы после перезапуска компьютера сервис поднимался на этом же интерфейсе?
Altlinux 7p cent (systemd Mate) мои действия:
1) раскомментирую параметр interface=eth1 /etc/dnsmasq.conf
2) systemctl enable dnsmasq.service
3)systemctl start dnsmasq.service
проверяю: ss -4tunap
Netid State      Recv-Q Send-Q                     Local Address:Port                           Peer Address:Port
tcp   UNCONN     0      0              127.0.0.1:53 //## то что нужно                                    *:*     
 users:(("dnsmasq",5480,6))
tcp   UNCONN     0      0         192.168.8.83:53 //## то что нужно                                    *:*   
  users:(("dnsmasq",5480,4))
tcp   UNCONN     0      0         192.168.122.1:53                                                        *:*     
 users:(("dnsmasq",41144,6))
tcp   UNCONN     0      0                           *:67                                                         *:*   
  users:(("dnsmasq",41144,4))

перезагружаю
Netid State      Recv-Q Send-Q                     Local Address:Port                           Peer Address:Port
tcp   UNCONN     0      0         192.168.122.1:53                                                        *:*     
 users:(("dnsmasq",41144,6))
tcp   UNCONN     0      0                           *:67                                                         *:*   
  users:(("dnsmasq",41144,4))

Как сделать чтобы после перезапуска системы поднимался dnsmasq.service на нужном интерфейсе:53 порт?

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 233
  • ITS
удалил bind перезагрузил
# systemctl status dnsmasq.service
systemctl status dnsmasq.service
dnsmasq.service - A lightweight DHCP and caching DNS server
   Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled)
   Active: failed (Result: exit-code) since Вт 2014-11-18 12:13:11 MSK; 5min ago
  Process: 26570 ExecStopPost=/usr/sbin/dnsmasq-helper poststop (code=exited, status=0/SUCCESS)
  Process: 26509 ExecStartPost=/usr/sbin/dnsmasq-helper poststart (code=exited, status=0/SUCCESS)
  Process: 26508 ExecStart=/usr/sbin/dnsmasq-helper start -k --pid-file (code=exited, status=2)
  Process: 561 ExecStartPre=/usr/sbin/dnsmasq-helper prestart (code=exited, status=0/SUCCESS)

ноя 18 12:12:58 alt7hv.gp.ae dnsmasq-helper[561]: Setup resolv.conf for local resolver:[ DONE ]
ноя 18 12:12:58 alt7hv.gp.ae systemd[1]: Started A lightweight DHCP and caching DNS server.
ноя 18 12:12:58 alt7hv.gp.ae dnsmasq-helper[26508]: dnsmasq: failed to create listening socket for 192.168.8.83: Cannot as...dress
ноя 18 12:12:58 alt7hv.gp.ae systemd[1]: dnsmasq.service: main process exited, code=exited, status=2/INVALIDARGUMENT
ноя 18 12:13:11 alt7hv.gp.ae dnsmasq-helper[26570]: Restore resolv.conf: [ DONE ]
ноя 18 12:13:11 alt7hv.gp.ae systemd[1]: Unit dnsmasq.service entered failed state
не совсем понимаю на что ругается?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Кто-то занял адрес. Под root запустите:
ss -lnp | grep ':53 '
« Последнее редактирование: 18.11.2014 12:54:34 от Skull »
Андрей Черепанов (cas@)

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 233
  • ITS
Кто-то занял адрес.
помогло добавление в rc.local
systemctl start dnsmasq.service
теперь после запуска(перезагрузки) команда "ss -lnp | grep :53" выдает:
tcp    UNCONN     0      0              127.0.0.1:53                    *:*      users:(("dnsmasq",29844,6))
tcp    UNCONN     0      0           192.168.8.83:53                    *:*      users:(("dnsmasq",29844,4))
tcp    UNCONN     0      0                      *:5353                  *:*      users:(("avahi-daemon",559,12))
tcp    UNCONN     0      0                    ::1:53                   :::*      users:(("dnsmasq",29844,10))
tcp    UNCONN     0      0       fe80::215:5dff:fe08:3701:53                   :::*      users:(("dnsmasq",29844,8))
tcp    LISTEN     0      5              127.0.0.1:53                    *:*      users:(("dnsmasq",29844,7))
tcp    LISTEN     0      5           192.168.8.83:53                    *:*      users:(("dnsmasq",29844,5))
tcp    LISTEN     0      5                    ::1:53                   :::*      users:(("dnsmasq",29844,11))
tcp    LISTEN     0      5       fe80::215:5dff:fe08:3701:53                   :::*      users:(("dnsmasq",29844,9))
В чем загвоздка? Пробовал на нескольких компьютерах та-же проблема: systemctl enable dnsmasq.service не работает. Может unit сервиса криво написан? На шлюзах у меня DNS форвардингом 3proxy занимается, хотелось бы конечно из коробки dnsmasq настраивать без костылей.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Вешайте багу в багтрекер.
Андрей Черепанов (cas@)