通过以太网电缆直接在计算机之间传输文件?

通过以太网电缆直接在计算机之间传输文件?

我经常需要通过家庭网络在计算机之间传输文件,但我发现 WiFi 传输并不是最好的选择。(捂脸)如果我有一根 CAT-5、5e 或 6 电缆,如何使用它将一台计算机直接连接到另一台计算机?如果 SSH 服务器正在运行,server并且我client使用 CAT-5 电缆直接在两者之间连接到服务器,那么我可以使用 SSH 传输文件吗?我需要做什么才能设置这样的功能?需要路由器吗?

答案1

如果至少有一台计算机的网卡支持自动交叉,则可以使用直连电缆连接两台计算机。(自动交叉,也称为“自动 MDIX”,是千兆以太网标准的一部分,但 100 Mbps 网卡通常也支持此功能。)否则,您将需要交叉电缆、集线器或交换机。

建立物理连接后,在操作系统中配置网络:

  • 如果两端都有IPv6,您只需使用另一台计算机的链路本地地址; 例如,ssh fe80::4a5d:60ff:fee8:658f%eth0. (在 Linux 上,后面的字符串%是您的以太网卡的名称,而 Windows 使用 中的数字接口 ID netsh interface ipv6 show interface。)

    您还可以手动添加较短的地址,例如fc00::1fc00::2(来自fc00::/7网络)。

  • 为了仅限 IPv4主办方,手动分配 IP 地址来自同一子网 – 例如10.0.0.1/810.0.0.2/8

    某些操作系统会自动分配该169.254.0.0/16范围内的链路本地 IPv4 地址。

答案2

我建议你使用同步服务器以避免 ssh 的加密处理,这可能会给你带来更快的吞吐量,特别是在低速 CPU 上:

在“服务器”机器上,创建一个 rsyncd.conf 文件,其中包含以下内容:

[download]
comment =       Storage general files
path =          /home/user/Download
read only =     false
write only =    false
list =          true
incoming chmod = Du=rwx,go=rx,Fu=rw,go=r
uid =           user
gid =           user

然后以“服务器”模式启动 rsync:

sudo rsync --daemon --config=rsyncd.conf  --no-detach --log-file=/dev/tty

然后在客户端,接收:

rsync rsync://host/download/file-name local-file-name

或发送:

rsync local-file-name rsync://host/download/file-name

完成后,只需按 CTRL-C 即可启动服务器进程。

答案3

简短版本如下:

  • 如果至少有一台计算机有千兆接口,或者其中一台支持 MDI/MDX,则无需路由器。插入普通 CAT5E 或更好的电缆。
  • 如果两者都有 10/100mbit 卡,则使用交叉电缆或两根常规电缆和一个交换机。

接下来,将两台计算机配置为位于同一子网并设置路由。(请参阅我们的姊妹网站:IPv4 子网划分是如何工作的作为背景)。

您没有提到您正在使用哪个操作系统,但假设一个类似 UNIX 的操作系统:

  • 计算机 1:ifconfig em0 192.168.0.1 netmask 255.255.255.0(将 em0 替换为接口名称)。
  • 计算机 2:ifconfig em0 192.168.0.2 netmask 255.255.255.0
    现在两个网卡都配置为同一个 LAN。
  • 您的操作系统可能会“自动”添加本地网络的路由。如果没有,route add -net 192.168.0.0 mask 255.255.255.0 192.168.0.1请在计算机 1 上使用。在计算机 2 上使用route add -net 192.168.0.0 mask 255.255.255.0 192.168.0.2

使用 ping 测试连接或使用 scp 进行复制。

(客户端:〜homedir> scp myfile 192.1.68.0.2:Destination_folder

答案4

您要么必须在服务器 (S) 上设置与常用网络的桥接,然后将客户端 (C) 连接到所述网络(IP 方式),要么使用自定义子网。后者非常简单(eth0 是客户端和服务器上连接的接口):

C # ip addr add 10.0.1.2/24 dev eth0
S # ip addr add 10.0.1.1/24 dev eth0

此时,C # ping 10.0.1.1应该可以正常工作。如果 S 上的 SSH 服务器配置为侦听所有接口(即0.0.0.0),则您应该已准备就绪,否则您必须让它在那里侦听(通过调整/etc/ssh/sshd_config)。

如果您没有获得预期的速度,请确保(通过ethtool eth0)已正确检测到连接速度。您可以使用相同的工具进行更改。

相关内容