这是我的本地网络的布局:
客户端(运行 Ubuntu 17.10)。
服务器(运行 Ubuntu Server 16.04)。
我的网络的简化 ASCII 艺术:
Client~~~~~~~Server
| |
| |
|---switch---|
|
|
modem
|
|
internet
~~~~~ 10G connection
----- 1G connection
| 1G connection
因此,我有一个客户端和服务器,它们都连接到一个连接到互联网的 1G 交换机。它们使用此交换机访问我的 LAN 上的其他内容以及外部世界。
服务器和客户端均具有 10G 卡(此外还有单独的 1G NIC - 连接到交换机)。
我想要实现的是让这两台机器在互相通信时使用它们之间的 10G 连接,但在其他地方使用 1G 连接。这样做的原因是因为我只有这两台 10G 机器,还不需要交换机。
这可能吗?
以下是我目前得到的信息:
客户端输出(修剪到相关界面):
$ ifconfig
enp2s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255
ether 2c:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
客户端 /etc/network/interfaces 文件:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp2s0
iface enp2s0 inet static
address 10.0.0.1
netmask 255.255.255.0
客户端输出(修剪到相关界面):
$ sudo lshw -class network
*-network
description: Ethernet interface
physical id: 0
bus info: pci@0000:02:00.0
logical name: enp2s0
version: 02
serial: 2c:xx:xx:xx:xx:xx
capacity: 10Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pciexpress pm msix msi vpd bus_master cap_list rom ethernet physical tp 100bt-fd 1000bt-fd 10000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=atlantic driverversion=1.5.345.0 duplex=full firmware=1.5.44 ip=10.0.0.1 latency=0 link=no multicast=yes port=twisted pair
resources: irq:36 memory:fb840000-fb84ffff memory:fb850000-fb850fff memory:fb400000-fb7fffff memory:fb800000-fb83ffff
服务器输出(修剪到相关接口):
$ ifconfig
veth4945bd1 Link encap:Ethernet HWaddr 2e:xx:xx:xx:xx:xx
inet addr:10.0.0.2 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::2c6f:1dff:feae:6e89/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1032 errors:0 dropped:0 overruns:0 frame:0
TX packets:197236 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9966154 (9.9 MB) TX bytes:15130407 (15.1 MB)
服务器 /etc/network/interfaces 文件:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp4s0
iface enp4s0 inet dhcp
auto veth4945bd1
iface veth4945bd1 inet static
address 10.0.0.2
netmask 255.255.255.0
服务器输出(修剪到相关接口):
*-network:0
description: Ethernet interface
physical id: 1
logical name: veth4945bd1
serial: 2e:xx:xx:xx:xx:xx
size: 10Gbit/s
capabilities: ethernet physical
configuration: autonegotiation=off broadcast=yes driver=veth driverversion=1.0 duplex=full ip=10.0.0.2 link=yes multicast=yes port=twisted pair speed=10Gbit/s
因此,我为客户端分配了静态 IP 10.0.0.1,为服务器分配了静态 IP 10.0.0.2,子掩码均为 255.255.255.0。
当我从客户端 ping 服务器时,我仅得到以下信息:
$ ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=1 Destination Host Unreachable
服务器和客户端都出现类似错误。
我的 1G 连接不受影响并且仍然运行良好。
如果您需要更多信息,请询问,我不知道为什么这不起作用。