如何使用以太网(无需路由器)连接两台 Ubuntu 计算机?

如何使用以太网(无需路由器)连接两台 Ubuntu 计算机?

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

答案1

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

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

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

    $ ifconfig  
    eth0      Link encap:Ethernet  HWaddr 00:30:1b:b9:53:94 
    

    2.1. 在较新版本的 Linux 中,网卡名称已更改。wlp2s0enp1s0。寻找名称类似于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
    

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 |  

计算机 B 的示例

address  | netmask       | gateway   
10.0.0.2 | 255.255.255.0 | 


看看你们能否从计算机 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

来自计算机 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

表示一切正常。

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

答案2

命令行示例,因为它非常快速和简单。

在较新版本的 Linux 中,网卡名称已更改。wlp2s0enp1s0。寻找名称类似于en以太网/wl无线的东西。

$ ip a l
2: enp1s0: 
3: wlp2s0: 

您需要更新以下命令以使用不同的命令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 进行测试

ping 10.0.0.20

从 B 到 A 进行测试

ping 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 无队列
    链路/环回 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 永远 preferred_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 永远 preferred_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 删除 10.0.0.40/32 dev eth0 ip ad 删除 10.0.0.40/24 dev eth0

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

答案3

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

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

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

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

在 Ubuntu 14.04 LTS 上测试。

答案4

以下是 nelaar 答案的重复,针对 Ubuntu 14.04 进行了更新。

硬件要求

为了在没有路由器的情况下连接两台计算机,您将需要以下设备之一:

  • 标准以太网电缆,可与大多数现代硬件兼容,或
  • 以太网交叉电缆,代替现代 NIC,或
  • 一个简单的以太网集线器(和两根以太网电缆)。

在 Ubuntu 14.04 LTS 中

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

  1. 单击 Unity 面板上的网络指示器(右上角)。
  2. 从下拉菜单中选择编辑连接...
  3. 在里面网络连接对话框中,单击添加按钮。
  4. 当提示选择连接类型时,选择以太网,然后点击创造...按钮。
  5. 将您的连接命名为“直接至 [其他主机名]”,以区​​别于典型的以太网连接。
  6. 在里面设备 MAC 地址下拉菜单中,选择与您计划使用的接口相对应的接口。
  7. 切换到IPv4 设置标签。
  8. 更改方法手动的
  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

输出应如下所示:

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

相关内容