Дружественное имя для доступа к моему встроенному устройству через USB / ETH соединение - PullRequest
1 голос
/ 07 декабря 2011

У меня проблемы с настройкой сети для доступа к устройству с понятным именем.Вот моя ситуация:

   LAN
    ^
----¦----  USB/ETH   ------------------
¦  PC   ¦ ---------> ¦ Embedded device¦
---------            ------------------

Я хотел бы использовать дружественное DNS-имя для доступа к моему устройству, например, открыть веб-браузер, ввести «mydevice» и получить доступ к веб-странице моего устройства.,Я использую dnsmasq в качестве сервера DNS / DHCP.

Это не сработало, потому что после настройки сетевого адаптера USB мой компьютер всегда использует USB / ETH в качестве маршрута по умолчанию, а внешний мир недоступен (в Linux иWindows).

Решение 1. Удаление маршрута по умолчанию с DHCP-сервера.

Это нормально работало в Linux, но моя Windows 7 не хочет устанавливать IP-адрес и отображаеточень четкое сообщение об ошибке:

Вашему компьютеру не был назначен адрес из сети (через DHCP-сервер) для сетевой карты с сетевым адресом 0x001830000000.Произошла следующая ошибка: 0x79.Ваш компьютер будет продолжать пытаться самостоятельно получить адрес с сервера сетевых адресов (DHCP).

Решение 2. Изменение метрики интерфейса USB / ETH

Я получил оттуда это решение: http://support.microsoft.com/kb/894564

Это отлично работало под Windows, однако я хотел бы сделать вещи "автоматизированными" и избежать необходимости заходить в конфигурацию Windows!На моем хосте Linux, поскольку теперь настроен маршрут по умолчанию, я возвращаюсь к первой ситуации.

Поскольку метрика вычисляется локально, мне было интересно, действительно ли возможно изменить это значение с сервера DHCP(возможно нет!)?Есть ли у вас какие-либо предложения, чтобы заставить эту странную конфигурацию сети работать в любом случае с обеими операционными системами?Или возможно «подделать» медленное соединение на моем встроенном устройстве, чтобы заставить операционную систему установить более высокий показатель?

Спасибо за ваши предложения!

РЕДАКТИРОВАТЬ 1

Я бы хотел избежать каких-либо манипуляций с ПК ...

1 Ответ

2 голосов
/ 07 декабря 2011

Если бы эту проблему решить, я бы использовал разные адресные блоки RFC 1918 для двух разных сетей: например, 192.168.0.0/16 для ЛВС и 10.0.0.0/8 для устройства, подключенного через установленное USB-устройство Ethernet.(Да, 16 миллионов IP-адресов - это гораздо больше, чем нужно, но я предпочитаю диапазон 192.168.0.0/16 для моей собственной сети. 10.0.0.0/8 никогда не чувствовался правильным.)

ip route add 192.168.0.0/16 dev eth0
ip route add 10.0.0.0/8 dev <name of usb eth device> src 10.0.0.1
ip route add default via <router> dev eth0

Вы будетенеобходимо настроить ваше устройство так, чтобы оно имело соответствующий адрес в 10.0.0.0/8, а не в 10.0.0.1, и убедиться, что ваше устройство знает, как маршрутизировать на 10.0.0.0/8 через его интерфейс .

...