DHCP, проблемы с DNS, помогите разобраться

Здравствуйте, уважаемые!
Поставил себе “без паники” (недавно перешёл на Arch, раньше пользовался Slackware), со многим уже сам разобрался но также много вопросов осталось.

В связи со спецификой провайдера (Corbina), интернет работает через PPTP (поверх локалки), который поднимается во внешнем “железном” роутере с NAT (Linksys WRT54GL с прошивкой DD-WRT). Тут всё отлажено и нормально.
Иногда бывает нужно включится в локалку напрямую и поднять PPTP самому, т.к. у моего роутера маленькая производительность. Сразу оговорюсь, что в Слаквари всё работает беспроблемно (с поправкой конечно на то, что там другие скрипты на манипуляции с сетью).
В силу ограничений провайдера я вынужден использовать DHCP и статику прописать нет никакой возможности, провайдер не рекомендует, как говорится.
Проблема в том, что когда я включен напрямую в локалку, нет доступа к DNS, как мне кажется. Никакие адреса не разрешаются, в то время как /etc/resolv.conf вполне осмысленный, т.е. там присутствуют реальные адреса моего DNS
nameserver 213.234.192.8
nameserver 85.21.192.3

route выдаёт:

[[email protected] ~]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
78.107.69.98    *               255.255.255.255 UH    0      0        0 eth0
85.21.72.80     10.210.56.1     255.255.255.240 UG    0      0        0 eth0
83.102.231.32   10.210.56.1     255.255.255.240 UG    0      0        0 eth0
85.21.108.16    10.210.56.1     255.255.255.240 UG    0      0        0 eth0
85.21.138.208   10.210.56.1     255.255.255.240 UG    0      0        0 eth0
83.102.146.96   10.210.56.1     255.255.255.224 UG    0      0        0 eth0
172.16.16.0     10.210.56.1     255.255.255.0   UG    0      0        0 eth0
85.21.90.0      10.210.56.1     255.255.255.0   UG    0      0        0 eth0
78.107.23.0     10.210.56.1     255.255.255.0   UG    0      0        0 eth0
85.21.79.0      10.210.56.1     255.255.255.0   UG    0      0        0 eth0
10.210.56.0     *               255.255.248.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
10.0.0.0        10.210.56.1     255.0.0.0       UG    0      0        0 eth0

То есть - получает кучу маршрутов (нужных и правильных) но только нет маршрута на DNS и соответственно к сети доступа нет (хотя и шлюз и другие IP пингуются отменно)
Если я работаю через внешний роутер, то вывод такой:

[[email protected] ~]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

Смущает то, что в этом случае есть “default”, а в первом случае - нет

Ниже, мой rc.conf в несколько ужатом виде (с вырезанными комментариями) для компактности изложения

[[email protected] ~]$ cat /etc/rc.conf
LOCALE="ru_RU.UTF-8"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Moscow"
KEYMAP="ru-utf"
CONSOLEFONT="ter-u16b"
CONSOLEMAP="cp866_to_uni"
USECOLOR="yes"
MOD_AUTOLOAD="yes"
MOD_BLACKLIST=()
MODULES=(forcedeth snd-mixer-oss snd-pcm-oss snd-hwdep
             snd-page-alloc snd-pcm snd-timer snd
             snd-hda-intel soundcore pcm_usb it87)
USELVM="no"
HOSTNAME="dream-sequencer"
lo="lo 127.0.0.1"
eth0="dhcp"
INTERFACES=(lo eth0)
gateway="default gw 192.168.0.1"
ROUTES=(!gateway)
DAEMONS=(syslog-ng crond dbus network netfs alsa gpm hal fam cups)

Что ещё написать….
Вот вывод ifconfig со внешним роутером

eth0      Link encap:Ethernet  HWaddr 00:18:F3:75:22:D4
          inet addr:192.168.1.140  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::218:f3ff:fe75:22d4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10287 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1559 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1512482 (1.4 Mb)  TX bytes:258918 (252.8 Kb)
          Interrupt:16 Base address:0x4000
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:18087 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18087 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1072244 (1.0 Mb)  TX bytes:1072244 (1.0 Mb)

С “прямой” локалкой сеть также поднимается по DHCP без проблем и вывод такой же осмысленный (как я уже говорил)
Естественно, если я руками добавляю маршруты на DNS то все локальные ресурсы становятся видны и всё начинает работать, но это не есть правильно, т.к. приходится работать попеременно, то с роутером, то без него и т.д.

Подскажите пожалуйста что-нибудь дельное, а то у меня уже просто мысли закончились. Обыскался и тут на форуме (есть похожие темы с DNS, но решения не нашёл) и на офф. англоязычном тоже искал…. или если уже решено, то ткните в ссылку…
В общем, можно сказать - решил.
Суть в том, что в режиме “прямой” локалки для адресов DNS не был указан шлюз. Шлюз по умолчанию тоже не был указан.
Проблема решилась добавлением в /etc/rc.conf

gateway=“default gw 192.168.1.1”
gateway1=“default gw 10.210.56.1”
ROUTES=(gateway gateway1)

Первый - это шлюз на роутер, второй шлюз моей локальной подсети. Конечно это костыль, но исправно работает в обоих случаях.
То есть, если подключен роутер, то дефолтным становится первый адрес а если роутер отключен и я подключен напрямую к локалке, то второй.
о как схитрил.
 
Зарегистрироваться или войдите чтобы оставить сообщение.