Помогите, пожалуйста, разобраться с dnsmasq.
Система: xubuntu 14.04.1 32bit.
Настраивал по статье:
https://help.ubuntu.ru/wiki/sharing_internet, раздел "Раздача Интернета в локальную сеть (ICS: Internet Connection Sharing)".
У меня eth1 - интерфейс к провайдеру, eth0 - в домашнюю сеть. eth0 - это D-Link DGE-530T (PCI-карта), eth1 - встроенная сетевая Realtek RTL8111. Провайдер сам назначает IP по DHCP, нужно только подставить "правильный" mac-адрес. Домашнюю сеть решил строить на диапазоне 172.16.0.0/255.255.0.0.
После настройки всё работало, перезагружаюсь - нет проброса пакетов и служба dnsmasq остановлена.
Добавил строку (по рекомендации в статье, в самом конце):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
в /etc/rc.local (кстати ещё есть /etc/init.d/rc.local - какой из них нужно было править?).
После перезагрузки проброс пакетов заработал (пинги с клиентской машины по ip идут в интернет), а DNS не работает.
Пробовал добавлять в тот же rc.local
service dnsmasq start
- не помогло.
В логах нашёл такие строки (syslog):
Nov 2 12:42:51 router dnsmasq[964]: unknown interface eth0
Nov 2 12:42:51 router dnsmasq[964]: FAILED to start up
...
Nov 2 12:42:52 router dnsmasq[1091]: started, version 2.68 cachesize 150
Nov 2 12:42:52 router dnsmasq[1091]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth
Nov 2 12:42:52 router dnsmasq[1091]: warning: interface eth0 does not currently exist
Nov 2 12:42:52 router dnsmasq[1091]: warning: interface eth0 does not currently exist
...
Nov 2 12:42:56 router NetworkManager[821]: <info> (eth0): device state change: ip-config -> secondaries (reason 'none') [70 90 0]
Nov 2 12:42:56 router NetworkManager[821]: <info> Activation (eth0) Stage 5 of 5 (IPv4 Commit) complete.
Nov 2 12:42:56 router NetworkManager[821]: <info> (eth0): device state change: secondaries -> activated (reason 'none') [90 100 0]
Nov 2 12:42:56 router NetworkManager[821]: <info> NetworkManager state is now CONNECTED_GLOBAL
Nov 2 12:42:56 router NetworkManager[821]: <info> DNS: starting dnsmasq...
Nov 2 12:42:56 router NetworkManager[821]: <warn> dnsmasq not available on the bus, can't update servers.
Nov 2 12:42:56 router NetworkManager[821]: <error> [1414921376.889945] [nm-dns-dnsmasq.c:396] update(): dnsmasq owner not found on bus: Could not get owner of name 'org.freedesktop.NetworkManager.dnsmasq': no such name
Nov 2 12:42:56 router NetworkManager[821]: <warn> DNS: plugin dnsmasq update failed
Nov 2 12:42:56 router NetworkManager[821]: <info> Writing DNS information to /sbin/resolvconf
Nov 2 12:42:56 router dnsmasq[1388]: failed to create listening socket for 127.0.1.1: Address already in use
Nov 2 12:42:56 router dnsmasq[1388]: FAILED to start up
Nov 2 12:42:56 router NetworkManager[821]: <info> Activation (eth0) successful, device activated.
Если в dnsmasq.conf закоментировать
interface=eth0
и оставить только
except-interface=eth1
то dnsmasq при старте системы успешно запускается, но для интерфейса eth0 не работает, только для локальных вызовов.
Точно также в логах были ошибки, когда писал в dnsmasq.conf
listen-address=172.16.0.1
Что-то типа не найден адрес.
Первоначально, ещё при настройке, при попытке старта службы dnsmasq ругнулся на строку
bind-interfaces eth0
пришлось её закомментировать.
Я так понимаю, что во время старта службы dnsmasq, она еще не может увидеть интерфейс eth0, а как сделать, чтобы она запускалась позже, я не знаю. Задача, чтобы без логина пользователя всё работало.
Также при попытке (по другим статьям) добавлять строки в /etc/network/interfaces вроде
auto eth0
iface eth0 inet static
address 172.16.0.1
netmask 255.255.0.0
данный интерфейс вообще не работал.
Статический IP-адрес настроен на eth0 с помощью Диспетчер настроек - Сетевые соединения.
Помогите, пожалуйста, с настройкой.
P.S.
[UPD]. Вывод по совету
fisher74sudo netstat -nlup | grep 53
udp 0 0 127.0.1.1:53 0.0.0.0:* 1397/dnsmasq
udp 0 0 0.0.0.0:57953 0.0.0.0:* 601/transmission-da
Служба dnsmasq в это время "(not running)".
У меня ясности не прибавилось. Откуда взялся dnsmasq, если служба не запущена?