我的问题看起来像是这个,但由于它没有答案,我将重新询问它并提供更多信息。请注意,我是所有这些网络知识的完全初学者。我可以复制粘贴,但我对实际发生的事情了解得非常模糊)
我有一台运行 Ubuntu 14.04 的家庭服务器,带有两个网卡,称为点对点1(主板上,100Mb 链路)和eth0(通过 PCI-E,1000Mb 链路)。并且有一个 samba 共享,我想通过eth0。
我已将两个接口连接到我的千兆路由器(ip 192.168.1.1),并使用点对点1通过 SSH 配置服务器。这里是是否配置输出:
eth0 Link encap:Ethernet HWaddr c4:e9:84:03:ee:d0
inet addr:192.168.1.112 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::c6e9:84ff:fe03:eed0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25090 errors:0 dropped:0 overruns:0 frame:0
TX packets:41728 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3306168 (3.3 MB) TX bytes:9338018 (9.3 MB)
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:583385 errors:0 dropped:0 overruns:0 frame:0
TX packets:583385 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:105373919 (105.3 MB) TX bytes:105373919 (105.3 MB)
p2p1 Link encap:Ethernet HWaddr d0:50:99:6a:5c:5b
inet addr:192.168.1.105 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::d250:99ff:fe6a:5c5b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:48954046 errors:0 dropped:0 overruns:0 frame:0
TX packets:84807022 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4101748891 (4.1 GB) TX bytes:114444015383 (114.4 GB)
然后我连接到//192.168.1.112在我的 Windows 机器上,samba 共享已成功打开。我发送了一些 ~100MB 的文件,看到传输速度约为 ~11MB/秒(即 100Mb 链接速度,而不是 1Gb)。我检查是否配置再次反击,点对点1随传输的数据量而增加,但eth0不是。回送接口计数器保持不变。
看起来我好像在用eth0通过点对点1。
另一件可以证明隐藏桥接的事情是,当我从点对点1接口(ip 192.168.1.105)我无法连接到 192.168.1.112 ip 地址。
我用 Google 搜索了各种方法来检查我的接口是否桥接以及如何禁用它,但直到现在都没有运气。
首先要检查的是/etc/网络/接口. 对我来说没有什么犯罪:
auto lo
iface lo inet loopback
auto p2p1
iface p2p1 inet dhcp
auto eth0
iface eth0 inet dhcp
我已经检查过 IP 转发(以防万一)
$ cat /proc/sys/net/ipv4/ip_forward
0
我已经检查过,GUI NetworkManager 没有受到干扰
$ nmcli dev status
DEVICE TYPE STATE
p2p1 802-3-ethernet unmanaged
eth0 802-3-ethernet unmanaged
我不喜欢的一件事是路线-n输出。但我不是专家,所以我不知道这是否可行。它如下:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 p2p1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 p2p1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
我的网络接口之间的唯一区别如下IP 地址命令。点对点1有一个 ipv6 地址eth0没有。但不知道这些信息是否相关:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether c4:e9:84:03:ee:d0 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.112/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::c6e9:84ff:fe03:eed0/64 scope link
valid_lft forever preferred_lft forever
3: p2p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether d0:50:99:6a:5c:5b brd ff:ff:ff:ff:ff:ff
inet 192.168.1.105/24 brd 192.168.1.255 scope global p2p1
valid_lft forever preferred_lft forever
inet6 fe80::d250:99ff:fe6a:5c5b/64 scope link
valid_lft forever preferred_lft forever
我不知道还要检查和配置什么。有什么想法吗?
答案1
我认为我在这里看到了问题。由于您的两个接口都位于同一子网中并使用 DHCP。每个子网只能有一个网关。从route
命令的输出来看,您的主机使用的是default route
via p2p1
(如果这不是您想要的)而不是eth0
。
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 p2p1
我假设,由于两个接口都使用 DHCP,因此无论哪个接口先出现并先于另一个接口获得 DHCP 租约信息,都会为自己分配一个网关,并且根据该信息,Linux 会通过该设备创建默认路由。除非手动更改。
如果您只是愿意对所有操作使用eth0
,您所要做的就是更改 through default route
。eth0
您看到接口上的计数器增加的原因p2p
是,由于这是默认路由设备,任何进入或离开的内容都会到达此接口。
简而言之:
- 将默认路由条目更改为开发
eth0
. 测试它是否按预期工作。否则: - 将 IP 更改为静态而不是 DHCP,并仅为 定义网关
eth0
。假设您想ssh
从相同的接口subnet
上 使用p2p
。然后再次更改路由表。
这里您可以找到添加路线的教程。