如何使用以太网(没有路由器)将两台 Ubuntu 计算机联网?

91 networking

如何将两台 Ubuntu 计算机联网,以便它们可以在 IP 地址上“看到”对方?

nel*_*aro 69

如果您使用两台没有路由器的计算机来连接它们。要物理连接计算机,您将需要交换机、集线器或交叉电缆(*)。然后,您需要手动分配同一范围内的 IP 地址。

在 Ubuntu 中,这很简单。右键单击您需要在两台计算机上执行此操作中的网络管理器小程序

  1. 编辑连接
    • 有线标签
      • 添加
  2. 输入您将要配置的接口的 mac 地址。ifconfig 命令可以显示 mac 地址是什么:

    $ ifconfig  
    eth0      Link encap:Ethernet  HWaddr 00:30:1b:b9:53:94 
    
    Run Code Online (Sandbox Code Playgroud)

    2.1. 在较新版本的 Linux 上,网卡名称已更改。wlp2s0, enp1s0. 寻找一些与en以太网/wl无线名称相似的东西。

    $ ip a l
    2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 98:e7:f4:5d:59:90 brd ff:ff:ff:ff:ff:ff
    3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 84:ef:18:7b:cd:39 brd ff:ff:ff:ff:ff:ff
    
    Run Code Online (Sandbox Code Playgroud)

HWaddr 00:30:1b:b9:53:94= mac 地址 link/ether 84:ef:18:7b:cd:39= mac 地址

  1. 然后单击 ipv4 设置选项卡。将方法设置为手动。
  2. 单击添加以在计算机 A 和 B 上添加 IP 地址。

计算机 A 的示例

address  | netmask       | gateway   
10.0.0.1 | 255.255.255.0 |  
Run Code Online (Sandbox Code Playgroud)

计算机 B 的示例

address  | netmask       | gateway   
10.0.0.2 | 255.255.255.0 | 
Run Code Online (Sandbox Code Playgroud)

看看你是否可以
从计算机 A互相 ping 通。

$ ping 10.0.0.2  
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=128 time=0.457 ms
Run Code Online (Sandbox Code Playgroud)

来自计算机 B。

$ ping 10.0.0.1  
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=128 time=0.457 ms
Run Code Online (Sandbox Code Playgroud)

意味着一切正常。

(*) 大多数现代计算机可以使用普通电缆而不是交叉电缆。一些旧电脑需要交叉电缆

  • 我认为大多数现代网卡都足够智能,可以检测是否正在使用交叉电缆。https://en.wikipedia.org/wiki/Medium_dependent_interface (7认同)
  • 在 http://askubuntu.com/a/3117/6130 的 NetworkManager 中使用“共享”方法的答案要简单得多,不需要在其中一台计算机上进行配置,并且允许其中一台计算机共享 Internet 连接。这与@Robert Ancell 在他的回答中所说的相同。 (2认同)
  • 我在哪台电脑上做这件事有关系吗?我可以通过一台计算机进行全部设置,还是必须在每台机器上执行两次此过程? (2认同)
  • @nelaaro你能解释一下你的意思吗:_“输入你将要配置的接口的mac地址”_”它仍然很不明确。你要配置哪一个?计算机**A**还是计算机**B **? (2认同)

nel*_*aro 45

命令行示例因为它是如此快速和简单。

在较新版本的 Linux 上,网卡名称已更改。wlp2s0, enp1s0. 寻找与en以太网/wl无线名称相似的东西。

$ ip a l
2: enp1s0: 
3: wlp2s0: 
Run Code Online (Sandbox Code Playgroud)

您需要更新以下命令以使用不同的dev enp1s0等。

在计算机 A 上

sudo ip ad 添加 10.0.0.10/24 dev eth0

在计算机 B 上

sudo ip ad 添加 10.0.0.20/24 dev eth0

从 A 到 B 进行测试

平 10.0.0.20

从 B 到 A 测试

平 10.0.0.10

假设有一条电缆连接两台计算机,并且两台计算机上的网络接口都已启用并称为 eth0,这应该可以工作。如果有问题,这篇文章的其余部分将帮助解决问题。

10.0.0.xx 是计算机的 IP 地址。/24 告诉计算机 32 位 IP 地址的最后 8 位可以更改。这类似于说网络掩码 255.255.255.0。这将设置计算机/网络可用的路由。

你应该看到一些类似的东西使用

ip 路由
10.0.0.0/24 dev eth0 proto 内核范围链接 src 10.0.0.20

如果您在路由表中没有看到类似上面的内容,但是在使用 ip ad 时会看到类似的内容。您需要使用 /24 子网语法再次添加地址。

ip ad
inet 172.16.1.40/32 范围全局 eth0

请注意 /32 有效地表示它是存在于一台计算机的网络上的唯一计算机。这是它的自我。网络掩码 255.255.255.255。因此没有路由和网络不工作。

找出您拥有哪些网络接口以及哪些正在工作

# ip广告
1: lo: mtu 16436 qdisc noqueue 
    链接/环回 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 范围主机 lo
    inet6 ::1/128 范围主机 
       valid_lft 永远首选_lft 永远
2:eth0:mtu 1500 qdisc pfifo_fast qlen 1000
    链接/以太 46:fd:51:f9:f5:2e brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.186/24 brd 172.16.0.255 范围全局 eth0
    inet 172.16.1.10/24 范围全局 eth0
    inet 172.16.1.40/32 范围全局 eth0
    inet6 fe80::44fd:51ff:fef9:f52e/64 范围链接 
       valid_lft 永远首选_lft 永远
3:eth1:mtu 1500 qdisc noop qlen 1000
    链接/以太 72:3f:92:eb:a4:cc brd ff:ff:ff:ff:ff:ff

如果你需要删除一个IP地址,因为你犯了一个错误

ip ad del 10.0.0.40/32 dev eth0 ip ad del 10.0.0.40/24 dev eth0

这将删除路由以及 IP 地址。

  • 此设置不会持续存在。重启后会丢失。这是在两台计算机之间建立工作网络连接的一种简单快捷的方法。 (4认同)

Rob*_*ell 35

选择其中一台计算机作为服务器。如果一台计算机连接到 Internet,则将其用作服务器。

在服务器上单击网络指示器并选择Edit Connections。选择以太网连接,然后单击Edit按钮。转到IPv4选项卡并Method从更改Automatic (DHCP)Shared to other computers

使用以太网电缆将两台计算机连接在一起。第二台计算机将从服务器获得一个 IP 地址并访问 Internet。

如果您有旧硬件,您可能需要确保以太网电缆是交叉电缆。现代硬件会自动进行交叉。

在 Ubuntu 14.04 LTS 上测试。


Man*_*cia 7

如果您单独使用以太网电缆直接连接它们,至少从 16.04 开始,您可以通过转到网络设置轻松完成此操作:

  1. 编辑有线连接
  2. 转到 IPv4 选项卡
  3. 选择仅本地链路

两台电脑上这样做,你就完成了。


aaa*_*ine 5

以下是 nelaar 答案的重述,已针对 Ubuntu 14.04 更新。

硬件要求

为了在没有路由器的情况下连接两台计算机,您需要以下其中一项:

  • 标准以太网电缆,应与大多数现代硬件配合使用,或
  • 以太网交叉电缆,代替现代 NIC,或
  • 一个简单的以太网集线器(和两条以太网电缆)。

在 Ubuntu 14.04 LTS 中

您将需要手动分配同一范围内的 IP 地址。以下步骤假设您使用的是标准 Unity 界面。对每台计算机重复这些步骤。

  1. 单击 Unity 面板(右上角)上的网络指示器。
  2. 从下拉列表中,选择编辑连接...
  3. 在“网络连接”对话框中,单击“添加”按钮。
  4. 当提示选择连接类型时,选择Ethernet,然后单击Create...按钮。
  5. 将您的连接命名为“Direct to [other hostname]”,以区​​别于典型的以太网连接。
  6. 设备 MAC 地址中下拉列表中,选择与您计划使用的接口对应的。
  7. 切换到IPv4 设置选项卡。
  8. 方法更改为Manual
  9. 单击添加按钮以添加 IP 地址。
    • 计算机 #1 的示例设置:
      • 地址: 10.0.0.1
      • 网络掩码: 255.255.255.0
      • 网关:
    • 计算机 #2 的示例设置:
      • 地址: 10.0.0.2
      • 网络掩码: 255.255.255.0
      • 网关:

一旦设置完成,并且计算机连接在一起,请尝试相互 ping。

user@computer1:~$ ping 10.0.0.2
Run Code Online (Sandbox Code Playgroud)

输出应如下所示:

PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=128 time=0.457 ms
Run Code Online (Sandbox Code Playgroud)