У меня dnsmasq работает на Raspberry Pi с Raspbian. Пи имеет wifi-флешку на wlan0 и подключен к локальной сети / интернету по eth0. Моя цель состоит в том, чтобы dnsmasq разрешил всем хостам статический IP-адрес pi только для wifi-соединений. Это мой dnsmasq.conf
address=/#/192.168.42.1
interface=wlan0
Теперь, однако, когда я ssh к пи через eth0 и пинг google.com, он также разрешает 192.168.42.1. Возможно, это из-за этого (со страницы руководства):
Dnsmasq автоматически добавляет петлевой (локальный) интерфейс в список интерфейсов, которые следует использовать при использовании параметра --interface
Если так, как я могу сделать так, чтобы dnsmasq слушал только соединения Wi-Fi?
Обходной путь решения
Для моих целей это было нормально для логики: «Если кабель Ethernet подключен, выключите dnsmasq
. Если кабель Ethernet отключен, включите его снова ".
Поэтому я использовал ifplugd
для управления процессом. В файле /etc/ifplugd/ifplud.action
я добавил service dnsmasq stop
к случаю "вверх", а service dnsmasq start
к случаю "вниз". Полный успех!