当同时使用额外的本地有线连接时,是否选择特定的互联网接口?

当同时使用额外的本地有线连接时,是否选择特定的互联网接口?

我见过设置互联网访问特定接口如何设置有线和无线双连接?,本质上问的是同样的问题,但是那里的答案对我来说不起作用,所以我敢再次提出这个问题。

在我的笔记本电脑(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 互联网连接同时连接:

autoethon.png

...,然后我有这个:

$ 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 缓存

任何一种解决方案都应该可以解决您的问题。

相关内容