通过另一台计算机连接到互联网

通过另一台计算机连接到互联网

请编辑和改进:-)

对互联网上大多数可帮助您设置网络的文档感到困惑吗?以下是一些简单的分步说明,可在连接到另一台计算机(通过以太网电缆)的计算机上访问互联网(当后者连接到互联网时),并能够在这些计算机(网络)之间共享文件!我花了六天的时间来解决这一切,但它还不完美:(

这些说明适用于使用 XFCE4 附带的“nm-connection-editor”的 Debian/Stretch 机器;它们在其他机器上可能有用,也可能没用。我想您知道如何安装软件包、编辑文本文件、在终端中键入命令以及在 XFCE4 中使用小部件/小程序。

我们的简单网络将由两台计算机组成:“服务器”计算机是连接到互联网的计算机,另一台是连接到“客户端”计算机的计算机。因此,服务器必须有两个以太网端口(如果需要,添加一个),但客户端只需一个。

答案1

首先,互联网连接:

0:在服务器上,在命令行运行:

$ nmcli device show

(如果没有任何反应,您可能需要安装“网络管理器”软件包,服务器和客户端都需要它。)...您将看到几个数据块,每个数据块都以“GENERAL.DEVICE”开头,类似于:

GENERAL.DEVICE:            enp5s4           <<< You'll need this line.
GENERAL.TYPE:              ethernet
GENERAL.HWADDR:            00:50:BF:9E:44:2B
GENERAL.MTU:               1500
GENERAL.STATE:             100 (connected)
GENERAL.CONNECTION:        Wired connection 1
GENERAL.CON-PATH:          /org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.CARRIER:  on
IP4.ADDRESS[1]:            24.207.17.185/22
IP4.GATEWAY:               24.207.16.1
IP4.ROUTE[1]:              dst = 216.104.113.105/32, nh = 24.207.16.1, mt = 100
IP4.DNS[1]:                24.207.0.168
IP4.DNS[2]:                64.178.142.11
IP6.ADDRESS[1]:            fe80::250:bfff:fe9e:442b/64
IP6.GATEWAY:

...每个以太网连接都必须有一个块,因此至少需要两个。 (注意以“GENERAL.DEVICE ... lo”开头的块不算数!)找到具有以下内容的块:

"GENERAL.CONNECTION        Wired connection 1"

...这是描述您的互联网连接的块,它应该位于列表的第一位。在该块的顶部找到类似于以下内容的行:

"GENERAL.DEVICE:            enp5s4"

... 写下来。 (或者,当我们执行后续步骤时,有一个显示上述内容的终端,这实际上要好得多。)

对于其他块,写下类似于以下内容的行:

"GENERAL.DEVICE:           enp63s0"
GENERAL.CONNECTION:        [ whatever, often nothing ]

其余的工作是使用小程序完成的:

1:点击XFCE4小程序:“应用程序”>“设置”>“网络连接”

...或者只是从命令行运行“nm-connection-editor”。 (如果没有任何反应,您可能需要安装“network-manager-gnome”软件包,就像我在两台计算机上所做的那样。)

在小程序中进行的设置如下:

2:突出显示“有线连接1”(互联网连接的默认名称),然后单击“编辑”(或双击)。

3:“以太网”选项卡 >“设备”> 单击下拉箭头,然后选择您刚刚在上面的“有线连接 1”同一块中找到的“enp5s4”样式字符串。 (这里会是一个更长的字符串,如“enp5s4 (00:50:BF:9E:44:2B)”,但没关系)。

4:单击“保存”,您将返回到“网络连接”框。

5:单击“添加”(除非已经显示第二个连接,在这种情况下单击“编辑”并转到步骤“8”)。

6:从下拉列表中选择“以太网”(但默认情况下它应该在那里)。

7:点击“创建”。

8:默认的“连接名称”是:“以太网连接1”,但您可以将其更改为更简单的名称,例如“Eth1”(我们在此假设)。

9:重复步骤“3”,但现在选择与上面的“有线连接 1”相同的块中未找到的其他“enp63s0”样式字符串。

10:“IPv4设置”选项卡>“方法”>单击下拉箭头并选择:“共享到其他计算机”。

11:点击“保存”。

12:关闭小程序。

13:转到客户端计算机。

14: 重复步骤 0, 1, 2, 3, 4。(您在这里的连接应该与您在服务器上进行的“有线连接 1”连接具有完全相同的信息,除了不同的“enp5s4”样式字符串将是适合这台机器的正确的。)

15:点击“保存”

16:关闭小程序。

17:在命令行:(仍在客户端计算机上)运行:

$ nmcli -p con up "Wired connection 1"

...这应该建立连接。

$ nmcli -t -f STATE general

...您应该看到绿色的“已连接”。如果这样做,您应该已连接到互联网。 (当然,您可以返回并重命名您想要的任何连接。“有线连接 1”可能会缩写为“Wired1”或其他名称。)

=================================================== =========

现在启用文件共享:

在两台计算机上安装(如果需要)软件包“nfs-common”和“nfs-kernel-server”。 (注意,我在安装时遇到错误,但这似乎并不重要。)

0:转到客户端计算机。

1:运行:

$ nmcli device show

...并写下类似于以下内容的行:

"IP4.ADDRESS[1]: ... 10.42.0.25/24"

忽略斜杠前面的任何内容,本示例中您想要的字符串是:“10.43.0.25”。

2:转到服务器,编辑文件“/etc/exports”。您将向其中添加一行,其中包含要与客户端共享的文件系统的任何部分,后跟客户端的 IP4.ADDRESS(您刚刚写下的)。例如,要使整个文件系统对客户端可见:

"/ 10.42.0.25"

...使一些名为“/shared”的目录对客户端可见:

"/shared 10.42.0.25"

显然,您想要与客户端共享的任何内容都必须复制到“/shared”——这似乎是正常的事情,因为服务器文件系统的其余部分保持不可触及。有很多可能的微调,例如:

"/shared 10.42.0.25(rw,sync,no_root_squash)"

...有关更多信息,请运行:

$ man exports

客户端可以从服务器读取和复制文件,但不能更改它们或添加任何内容,因为默认情况下服务器的文件对客户端来说是“只读”的。

3:保存文件。

4:运行:

$ /etc/init.d/nfs-kernel-server restart

5:重复上面的步骤“1”,获取服务器的IP4.ADDRESS。 (请注意,请确保您使用的 IP 地址是用于连接客户端的电缆的 IP 地址(在本示例中名为“Eth1”),而不是用于连接到互联网的 IP 地址(默认情况下名为“有线连接 1”))。

6:转到客户端。

7:在您想要的任何位置创建一个目录(或使用现有目录),该目录将作为服务器上共享文件的“挂载点”。例如:

$ mkdir /Network_mountpoint

8:编辑文件“/etc/fstab”。

为了与上面的示例保持一致,请添加以下行:

"10.42.0.1:/shared  /Network_mountpoint  nfs rsize=8192, wsize=8192, timeo=60, retry=6, retrans=6, intr, nofail"

这给出了服务器上连接的 IP4.ADDRESS(您在上面保存的),后跟名为“/shared”的“共享”目录,后跟将安装共享文件的目录(即可供客户端访问)名为“/Network_mountpoint”,后面是文件系统类型(nfs = 网络文件系统),后面是各种推荐的周数。 (请注意,请务必在上面包含“nofail”,否则如果服务器未运行或其网络已关闭,您的客户端计算机将拒绝启动 - 它将永远寻找网络,这对我来说似乎有点愚蠢。另外,如果周数不完全正确,如果服务器关闭,客户端可能会恐慌并开始向您发送无休止的“...未响应,超时”消息流,只有关闭电源重新启动才能修复它 -这对你我来说似乎也有点愚蠢,但我们知道什么?)

9:保存文件。

10:运行:

$ mount -a
$ /etc/init.d/rpcbind restart

...并且您应该能够查看服务器的“/shared”目录中的任何内容,就像它实际上位于客户端上的“/Network_mountpoint”中一样。 (注意,我需要先重新启动客户端,我还没有弄清楚为什么。)

请注意,如果您对服务器上的“/etc/exports”进行任何更改,您可能会在客户端上收到一条消息:“Stale File Handle”。如果是这样,请在客户端上运行:

$ umount /Network_mountpoint
$ mount -a
$ /etc/init.d/rpcbind restart

=================================================== =========

有用的命令:

$ networkctl list
$ /etc/init.d/nfs-kernel-server restart
$ /etc/init.d/rpcbind restart
$ restart systemd-networkd.service
$ systemctl status systemd-networkd
$ nmcli
$ ping (any address shown in 'nmcli device show')

更多信息请参阅优秀的:

http://www.wikihow.com/Share-Files-Between-Linux-Computers-Using-NFS

相关内容