Мне кажется, дело тут не в DNS вовсе.
1) Итак, в компьютере, подключенном к сети есть такая таблица — маршрутизации. В ней прописано, в частности, через какие сетевые карты и ip-адреса данного компьютера куда можно попасть (внутренняя сетка, интернет).
Если у Вас, к примеру, одна сетевая карта (пусть, проводная, с интерфейсом под именем eth0), то в таблице есть один главный маршрут — на все адреса (в интернете, сетке) проситься через этот интерфейс.
Как только Вы устанавливаете вторую сетевую карту (например, беспроводную, wlan0) и создаёте через неё подключение, в таблице появляется второй главный маршрут — проситься на все сайты и запрошенные адреса через вторую сетевую.
В итоге в таблице два равноценных маршрута и система не знает, с какого интерфейса реально нужно брать информацию. Таким образом, ваша первоначальная догадка верна.
2)Как исправлять инет:
Все команды делаются в консоли/терминале, через «sudo». Проводной интерфейс и беспроводной будем называть eth0 и wlan0, соответственно. После "//" будет комментарий, его писать не надо.
route del default //удаляем маршрут по-умолчанию
route del default // не опечатка, этой командой удалится второй дефолтный маршрут, если он создавался
route add default dev eth0 //говорим, что по-умолчанию пойдём за сеткой/инетом в провод
3)Инет мы восстановили, теперь наладим его раздачу смартфону:
echo 1 >/proc/sys/net/ipv4/ip_forward //разрешаем ядру линукса перебрасывать сетевые пакеты между сетевухами
iptables -F //на всякий случай очищаем таблицу правил файервола, главного по «расшариванию»
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE //записываем в таблицу файервола правило, что пришедший с любого интерфейса (в том числе единственного, кроме eth0, wlan0) и просящий инета, получит этот инет из eth0
Вроде всё, всего несколько команд в терминале. Кстати, можно их загнать в скрипт и положить в автозагрузку, дабы каждый раз после перезагрузки одно и то же не вводить.
Если что-то будет не получаться — пишем сюда, и(желательно) изучаем литературу по использованию программ/команд route, iptables, bash (по shell-скриптам, в частности)