Мне часто приходится передавать файлы по моей домашней сети между компьютерами, и я обнаружил, что передача данных по WiFi на самом деле не лучшая идея. (лицевая сторона) Если у меня есть кабель CAT-5, 5e или 6, как я могу подключить к нему один компьютер напрямую? Если сервер SSH работает на server
и я подключаю client
к серверу с помощью кабеля CAT-5 непосредственно между ними, могу ли я затем использовать SSH для передачи файлов? Что мне нужно сделать, чтобы настроить что-то подобное? Требуется ли роутер?
4 ответа
Если хотя бы одна сетевая карта компьютера поддерживает функцию автоматического кроссовера, вы можете подключить оба устройства с помощью прямого кабеля. (Автоматический кроссовер, также называемый «auto-MDIX», является частью стандарта Gigabit Ethernet, но очень часто поддерживается и картами 100 Мбит / с.) В противном случае вам понадобится перекрестный кабель, концентратор или коммутатор.
После настройки физического соединения настройте сеть в ОС:
Если оба конца имеют IPv6, вы можете просто подключиться, используя локальный адрес другого компьютера; например,
ssh fe80::4a5d:60ff:fee8:658f%eth0
. (В Linux строка после%
является именем вашей карты Ethernet, в то время как Windows использует числовой идентификатор интерфейса изnetsh interface ipv6 show interface
.)Вы также можете добавить более короткие адреса вручную, например,
fc00::1
иfc00::2
(из сетиfc00::/7
).Для хостов, использующих только IPv4, вручную назначьте IP-адреса из одной подсети - например,
10.0.0.1/8
и10.0.0.2/8
.Некоторые операционные системы автоматически назначают локальные IPv4-адреса в диапазоне
169.254.0.0/16
.
Я бы порекомендовал вам использовать сервер rsync на одной из машин, чтобы избежать обработки шифрования ssh, которая может обеспечить более высокую пропускную способность, особенно на низкоскоростных процессорах:
На "серверном" компьютере создайте себе файл 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 серверный процесс.
Краткая версия этого:
- Если хотя бы один из компьютеров имеет гигабитный интерфейс или поддерживает MDI/MDX, маршрутизатор не требуется. Подключите простой кабель CAT5E или лучше.
- Из обеих карт 10/100 Мбит используют кросс-кабель или два обычных кабеля и коммутатор.
Затем настройте оба компьютера в одной подсети и настройте маршрутизацию. (Смотрите это на нашем родственном сайте: как-работает-ipv4-subnetting-работает для фона).
Вы не упомянули, какую операционную систему вы используете, но предполагаете, что Unix похож на:
- Компьютер 1: ifconfig em0 192.168.0.1 маска сети 255.255.255.0 (замените em0 именем интерфейса).
- Компьютер 2: ifconfig em0 192.168.0.2 маска сети 255.255.255.0
Обе сетевые карты теперь настроены на одну и ту же локальную сеть. - Ваша ОС может автоматически добавлять маршруты в локальную сеть. Если не используется
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
)
Вам нужно будет либо установить мост на сервере (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
должен работать. Если SSH-сервер на S настроен на прослушивание на всех интерфейсах (т. 0.0.0.0
), вы должны быть готовы к работе, в противном случае вам придется его там прослушивать (адаптируя /etc/ssh/sshd_config
).
Если вы не получаете ожидаемые скорости, убедитесь (через ethtool eth0
), что скорость соединения определена правильно. Вы можете изменить его, используя тот же инструмент.