禁用网络接口之间的隐藏桥接

禁用网络接口之间的隐藏桥接

我的问题看起来像是这个,但由于它没有答案,我将重新询问它并提供更多信息。请注意,我是所有这些网络知识的完全初学者。我可以复制粘贴,但我对实际发生的事情了解得非常模糊)

我有一台运行 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 routevia 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 routeeth0您看到接口上的计数器增加的原因p2p是,由于这是默认路由设备,任何进入或离开的内容都会到达此接口。

简而言之:

  • 将默认路由条目更改为开发 eth0. 测试它是否按预期工作。否则:
  • 将 IP 更改为静态而不是 DHCP,并仅为 定义网关 eth0。假设您想ssh从相同的接口subnet上 使用p2p。然后再次更改路由表。

这里您可以找到添加路线的教程。

相关内容