问题描述
如何联网两台Ubuntu计算机,以便它们可以在IP地址上互相”see”?
最佳解决方案
如果您使用两台没有路由器的计算机来连接它们。要物理连接计算机,您需要一个交换机,集线器或crossover cable(*)。然后,您需要在相同范围内手动分配IP地址。
在Ubuntu中这很简单。右键单击您需要在两台计算机上执行此操作的网络管理器小程序
-
编辑连接
-
有线标签
-
加
-
-
-
把你要配置的接口的mac地址。 ifconfig命令可以显示mac地址是什么:
$ ifconfig eth0 Link encap:Ethernet HWaddr 00:30:1b:b9:53:94
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
HWaddr 00:30:1b:b9:53:94
= mac地址link/ether 84:ef:18:7b:cd:39
= mac地址
-
然后单击ipv4设置选项卡。将方法设置为手动。
-
单击“添加”以在计算机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
意味着一切正常。
(*)大多数现代计算机可以使用普通电缆而不是交叉电缆。一些旧计算机需要交叉电缆
次佳解决方案
命令行示例导致它如此快速和简单。
在较新版本的Linux上,网卡名称已更改。 wlp2s0
,enp1s0
。寻找与en
名称相似的东西,即以太网/wl
是无线的。
$ ip a l
2: enp1s0:
3: wlp2s0:
您需要更新以下命令以使用不同的dev enp1s0
等。
在电脑A上
sudo ip ad add 10.0.0.10/24 dev eth0
在电脑B上
sudo ip ad add 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 route
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.20
如果您在路由表中没有看到类似上面的内容,但在使用ip ad时会看到类似这样的内容。您需要使用/24子网语法再次添加地址。
ip ad
inet 172.16.1.40/32 scope global eth0
注意/32实际上是说它是一台计算机网络上唯一存在的计算机。这是它的自我。网络掩码255.255.255.255。因此没有路由和网络不起作用。
找出您拥有的网络接口以及哪些网络接口正在工作
# ip ad
1: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 46:fd:51:f9:f5:2e brd ff:ff:ff:ff:ff:ff
inet 172.16.0.186/24 brd 172.16.0.255 scope global eth0
inet 172.16.1.10/24 scope global eth0
inet 172.16.1.40/32 scope global eth0
inet6 fe80::44fd:51ff:fef9:f52e/64 scope link
valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
link/ether 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地址。
第三种解决方案
选择其中一台计算机作为服务器。如果一台计算机与Internet连接,请将其用作服务器。
在服务器上单击网络指示器,然后选择Edit Connections
。选择以太网连接,然后单击Edit
按钮。转到IPv4
选项卡,将Method
从Automatic (DHCP)
更改为Shared to other computers
。
使用以太网电缆将两台计算机连接在一起。第二台计算机将从服务器分配一个IP地址并访问Internet。
如果您有旧硬件,则可能需要确保以太网电缆是交叉电缆。现代硬件自动进行交叉。
在Ubuntu 14.04 LTS上测试。
第四种方案
下面是对nelaar的回答,为Ubuntu 14.04更新。
硬件要求
要在没有路由器的情况下连接两台计算机,您将需要以下其中一项:
-
标准以太网电缆,适用于大多数现代硬件,或
-
以太网crossover cable,代替现代NIC,或
-
一个简单的以太网集线器(和两根以太网电缆)。
在Ubuntu 14.04 LTS中
您需要在相同范围内手动分配IP地址。以下步骤假定您使用的是标准Unity接口。对每台计算机重复这些步骤。
-
单击Unity面板上的网络指示器(右上角)。
-
从drop-down中,选择编辑连接…
-
在“网络连接”对话框中,单击“添加”按钮。
-
当系统提示您选择连接类型时,请选择“以太网”,然后单击“创建…”按钮。
-
将您的连接命名为“Direct to [other hostname]”,以区别于典型的以太网连接。
-
在设备MAC地址drop-down中,选择与您计划使用的接口对应的设备。
-
切换到IPv4设置选项卡。
-
将方法更改为手动。
-
单击“添加”按钮以添加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
第五种方案
你的问题不是很简短,我假设你只想在网络中使用2台Ubuntu计算机。
连接2台Ubuntu计算机很简单,只需使用网线(Cat 5e交叉电缆)并使用该电缆连接两台计算机,Ubuntu应该能够同时获得”Auto Eth”(自动IP)连接。这应该是在网络中获得2台ubuntu计算机。
稍后如果要查看分配给计算机的自动IP,请运行命令ifconfig
或右键单击’NetworkManager applet’并单击连接信息