我见过设置互联网访问特定接口和如何设置有线和无线双连接?,本质上问的是同样的问题,但是那里的答案对我来说不起作用,所以我敢再次提出这个问题。
在我的笔记本电脑(Ubuntu 14.04.4 LTS)上,我使用 Nexus 7 设备提供互联网:Nexus 以无线方式上网,然后通过 USB 网络共享此连接,因此 PC/笔记本电脑将其视为有线连接。
此外,我有一个有线以太网连接到路由器,不是连接到互联网,而是形成一个单独的本地网络。
我希望能够访问两个都这些网络同时地。根据上面的帖子,我已经设置了有线、仅限本地的以太网连接(“自动以太网”),如下所示:
... 因此此连接不应尝试上网。但是,它不起作用。
当有线、仅限本地的以太网连接(“自动以太网”)与网络管理器断开连接时:
所以我有这个:
$ ip route
default via 192.168.42.129 dev usb0 proto static
192.168.42.0/24 dev usb0 proto kernel scope link src 192.168.42.214 metric 1
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.42.129 0.0.0.0 UG 0 0 0 usb0
192.168.42.0 0.0.0.0 255.255.255.0 U 1 0 0 usb0
$ ifconfig
eth0 Link encap:Ethernet HWaddr ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
inet6 addr: XXXX::XXX:XXXX:XXXX:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:372 errors:0 dropped:0 overruns:0 frame:0
TX packets:780 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37566 (37.5 KB) TX bytes:93289 (93.2 KB)
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:65536 Metric:1
RX packets:4127 errors:0 dropped:0 overruns:0 frame:0
TX packets:4127 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:521681 (521.6 KB) TX bytes:521681 (521.6 KB)
usb0 Link encap:Ethernet HWaddr YY:YY:YY:YY:YY:YY
inet addr:192.168.42.214 Bcast:192.168.42.255 Mask:255.255.255.0
inet6 addr: XXXX::XXXX:XXXX:XXXX:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7622 errors:0 dropped:0 overruns:0 frame:0
TX packets:7581 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6076624 (6.0 MB) TX bytes:1012195 (1.0 MB)
...然后互联网就可以工作了,即我使用以下命令进行测试:
$ wget yahoo.com -O - 2>&1 | head -n 12
--2016-03-10 11:05:07-- http://yahoo.com/
Resolving yahoo.com (yahoo.com)... 206.190.36.45, 98.138.253.109, 98.139.183.24, ...
Connecting to yahoo.com (yahoo.com)|206.190.36.45|:80... connected.
HTTP request sent, awaiting response... 301 Redirect
Location: https://www.yahoo.com/ [following]
--2016-03-10 11:05:08-- https://www.yahoo.com/
Resolving www.yahoo.com (www.yahoo.com)... 46.228.47.114, 46.228.47.115, 2a00:1288:110:2::4001
Connecting to www.yahoo.com (www.yahoo.com)|46.228.47.114|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘STDOUT’
<!DOCTYPE html>
但是,如果我现在打开有线、仅限本地的以太网连接(“自动以太网”),那么它会与 USB 互联网连接同时连接:
...,然后我有这个:
$ ip route
default via 192.168.42.129 dev usb0 proto static
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.100 metric 1
192.168.42.0/24 dev usb0 proto kernel scope link src 192.168.42.214 metric 1
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.42.129 0.0.0.0 UG 0 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.42.0 0.0.0.0 255.255.255.0 U 1 0 0 usb0
$ ifconfig
eth0 Link encap:Ethernet HWaddr ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: XXXX::XXX:XXXX:XXXX:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:373 errors:0 dropped:0 overruns:0 frame:0
TX packets:855 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:38156 (38.1 KB) TX bytes:104645 (104.6 KB)
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:65536 Metric:1
RX packets:4195 errors:0 dropped:0 overruns:0 frame:0
TX packets:4195 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:530873 (530.8 KB) TX bytes:530873 (530.8 KB)
usb0 Link encap:Ethernet HWaddr YY:YY:YY:YY:YY:YY
inet addr:192.168.42.214 Bcast:192.168.42.255 Mask:255.255.255.0
inet6 addr: XXXX::XXXX:XXXX:XXXX:XXXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7746 errors:0 dropped:0 overruns:0 frame:0
TX packets:7706 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6090188 (6.0 MB) TX bytes:1028253 (1.0 MB)
至少ip route
注意到互联网流量应该通过 USB 连接路由。但是,如果我现在尝试使用互联网,再打几个电话就可以了,然后我得到了这个:
$ wget yahoo.com -O - 2>&1 | head -n 12
--2016-03-10 11:10:58-- http://yahoo.com/
Resolving yahoo.com (yahoo.com)... 168.95.1.1, 2001:4998:c:a06::2:4008, 2001:4998:44:204::a7, ...
... 它就锁定在那里,永远等待没有回应(我不知道 168.95.1.1 的解析度来自哪里;它显然是某个 DNS(dns.hinet.net 按照http://mxtoolbox.com/SuperTool.aspx?action=ptr%3a168.95.1.1&run=toolpage- 也许是来自本地路由器的某些东西?!)
此后,如果我从网络管理器断开有线、仅本地、以太网连接(“自动以太网”),那么 USB 上的互联网就会再次开始工作(但是,如果我曾尝试在之前的状态下使用 Firefox,那么在这里我必须重新启动它)。
根据我在此处的评论:如何设置有线和无线双连接?,我原以为造成这种情况的原因是因为没有选中“需要 IPv4 寻址...”——但事实证明,它只是稍微延长了设备工作的时间,但随后又恢复到不工作状态...
那么,有人知道如何让这两个连接正常工作吗?同时地——这样只提供与 192.168.0.* 的流量;而与所有其他地址(公共互联网)的流量都通过?eth0
处理。usb0
答案1
回答有点晚了,但无论如何:您的路由设置看起来不错。正如您所指出的,DNS解析存在问题。您可以采取一些措施来确认这是根本问题:
ping 8.8.8.8
查看路由是否按预期工作。如果收到回复,则表示路由工作正常。
在这种情况下,您应该确保 DNS 设置正确处理这两个连接。就您而言,似乎路由器的 DHCP 将路由器宣布为 DNS 服务器,这会弄乱您的设置。解决方法:
a) 将路由器配置为不通过 DHCP 宣布 DNS,或将 DNS 服务器更改为 8.8.8.8 (Google DNS) b) 手动设置名称服务器\etc\resolv.conf
。您可能需要在网络管理器配置文件中使用 dnsmasq 禁用本地 DNS 缓存
任何一种解决方案都应该可以解决您的问题。