我无法配置网络以使用友好名称访问我的设备。这是我的情况:
LAN
^
----¦---- USB/ETH ------------------
¦ PC ¦ ---------> ¦ Embedded device¦
--------- ------------------
我想要做的是使用友好的DNS名称来访问我的设备,例如打开webrowser,输入“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
我想避免对PC进行任何操作......
答案 0 :(得分:2)
如果这是我要解决的问题,我会为两个不同的网络使用不同的RFC 1918地址块:我使用例如192.168.0.0/16用于LAN而10.0.0.0/8用于LAN设备通过USB安装的以太网设备连接。 (是的,1600万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 界面。