android & dnsmasq: делаем обертку

Несколькими постами ранее, я рассказвал, как заставить wifi точку доступа андройда работать вменяемо, с локальным разрешением имен. Так как мой телефон играет так же роль карманного сервера, то и dnsmasq играет тут на нем один из ключевых элементов.

Но после недели использования этого решения вскрылась проблема. Когда подключаю телефон к компьютеру через провод, dns до телефона ресолвится неверно. Почему?

Начнем с теории. Когда я врубаю wifi точку доступа, на телефоне поднимается интерфейс ap0 со статическим IP 192.168.43.1.
Когда я врубаю раздачу по USB, подымается usb0 с IP 192.168.42.129.
(на других телефонах все это может различаться)
Чего мы хотим получить? Чтобы на dns запрос пришедший с usb0 нам ответили, что у телефона IP 192.168.42.129, а по ap0, соответственно, 192.168.43.1
Начал я, разумеется с того, что в /etc/hosts внес две строки такого вида:

192.168.43.1 anomalia anomalia.portable git.anomalia p.anomalia
192.168.42.129 anomalia anomalia.portable git.anomalia p.anomalia

Заработало? Нет! Почему?
(далее…)