Подробный гайд: Настройка локальной сети Windows ↔ Linux через коммутатор
Важно:
Инструкция предназначена для настройки в частной/домашней сети. Не используйте эти настройки в корпоративной среде без дополнительной настройки безопасности.
Этап 1: Физическое подключение оборудования
Необходимое оборудование:
| Компонент | Назначение |
|---|---|
| Коммутатор (Switch) | Объединяет устройства в единую сеть (например, TP-Link TL-SF1005P) |
| Кабели витая пара (Cat5e/6) | Соединение ПК с коммутатором |
| Устройства | ПК с Windows, ПК/ноутбук с Linux |
| Роутер (опционально) | Для раздачи интернета и DHCP |
Схема подключения:
[ПК Windows] ----\
[ПК Linux] -----[Коммутатор]----[Роутер/Интернет]
[Принтер] ----/
Совет:
Современные сетевые карты автоматически определяют тип кабеля (Auto-MDI/MDIX), поэтому crossover-кабели больше не требуются.
Этап 2: Настройка сетевых параметров
Настройка статических IP-адресов (рекомендуется для стабильности)
На Windows:
- Панель управления → Сеть и Интернет → Центр управления сетями → Изменение параметров адаптера
- ПКМ по подключению → Свойства → IP версии 4 (TCP/IPv4) → Свойства
3. Выберите "Использовать следующий IP-адрес":
IP-адрес: 192.168.1.100
Маска подсети: 255.255.255.0
Основной шлюз: 192.168.1.1 (адрес вашего роутера)
DNS: 8.8.8.8 / 1.1.1.1
На Linux (Ubuntu/Debian через Netplan):
sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
sudo netplan apply
Для других дистрибутивов используйте
nmcli,nmtuiили редактор/etc/network/interfaces.
Проверка связи:
# На Linux:
ping 192.168.1.100
# На Windows (cmd):
ping 192.168.1.101
Этап 3: Настройка общего доступа к файлам (Samba)
Доступ к Linux из Windows
1. Установка и настройка Samba на Linux:
# Установка (Debian/Ubuntu):
sudo apt update && sudo apt install samba
# Установка (Fedora/RHEL):
sudo dnf install samba
2. Минимальная конфигурация /etc/samba/smb.conf:
[global]
workgroup = WORKGROUP
server string = %h server
security = user
map to guest = bad user
[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
3. Добавление пользователя Samba:
sudo smbpasswd -a ваш_пользователь
# Введите пароль для доступа из сети (не обязательно совпадает с системным)
4. Настройка брандмауэра:
# Для UFW (Ubuntu):
sudo ufw allow samba
# Для firewalld (Fedora/RHEL):
sudo firewall-cmd --add-service=samba --permanent
sudo firewall-cmd --reload
5. SELinux (если включён, Fedora/RHEL):
sudo setsebool -P samba_enable_home_dirs on
6. Запуск службы:
sudo systemctl enable --now smb
# На некоторых системах: sudo systemctl enable --now smbd
7. Доступ из Windows:
- Откройте Проводник → в адресной строке введите:
\\192.168.1.101 - Введите логин/пароль пользователя Samba
- Ваши домашние папки будут доступны
Доступ к Windows из Linux
1. Настройка общего доступа в Windows:
- Параметры → Сеть и Интернет → Дополнительные параметры общего доступа
2. Включите:
- Сетевое обнаружение
- Общий доступ к файлам и принтерам
- Отключить общий доступ с парольной защитой (для домашней сети)
2. Расшаривание папки:
- ПКМ по папке → Свойства → Доступ → Расширенная настройка
- Открыть общий доступ → Разрешения → Добавьте пользователя/группу "Все"
3. Подключение из Linux:
# Создайте точку монтирования:
mkdir ~/WindowsShare
# Временное монтирование:
sudo mount.cifs //192.168.1.100/ИмяПапки ~/WindowsShare -o user=ПользовательWindows,uid=$UID
4. Постоянное монтирование (через /etc/fstab):
# Создайте файл с учётными данными:
nano ~/.smbcredentials
username=ПользовательWindows
password=ВашПароль
chmod 600 ~/.smbcredentials
# Добавьте в /etc/fstab:
//192.168.1.100/ИмяПапки /home/ваш_пользователь/WindowsShare cifs credentials=/home/ваш_пользователь/.smbcredentials,_netdev,iocharset=utf8 0 0
Параметр
_netdevкритичен — предотвращает зависание загрузки при отсутствии сети.
Этап 4: Общий доступ к принтеру
В Windows:
- Панель управления → Устройства и принтеры
- ПКМ по принтеру → Свойства принтера → вкладка Доступ
- Разрешить общий доступ к принтеру
В Linux:
- Установите CUPS и драйверы:
sudo apt install cups cups-pdf
sudo usermod -aG lpadmin ваш_пользователь
- Откройте в браузере:
http://localhost:631для настройки
Подключение сетевого принтера:
- В Windows: Устройства и принтеры → Добавить принтер → укажите
\\192.168.1.101\printer_name - В Linux: через CUPS или
system-config-printer
Этап 5: Диагностика и устранение неполадок
Базовые проверки:
# Проверка IP и интерфейса:
ip a # Linux
ipconfig /all # Windows
# Проверка маршрута:
ip route # Linux
route print # Windows
# Проверка доступности порта 445 (SMB):
nmap -p 445 192.168.1.100
Частые проблемы и решения:
| Проблема | Решение |
|---|---|
| Не виден компьютер в сети | Проверьте рабочую группу (должна быть одинаковой, обычно WORKGROUP) и включите сетевое обнаружение |
| Запрос пароля при доступе к Samba | Убедитесь, что пользователь добавлен через smbpasswd -a |
| Брандмауэр блокирует доступ | Добавьте правило для портов 137-139, 445 (TCP/UDP) |
| Медленная передача файлов | Отключите SMB1 (небезопасен), используйте SMB2/3: в /etc/samba/smb.conf добавьте min protocol = SMB2 |
| Linux не видит Windows-шары | В Windows: Панель управления → Программы → Включение компонентов Windows → Клиент SMB 1.0 (только если необходимо, с осторожностью) |
Безопасность:
- Не используйте парольную аутентификацию в
/etc/fstabбез защиты файла.smbcredentials(права 600) - Регулярно обновляйте Samba:
sudo apt update && sudo apt upgrade samba - Для публичных сетей используйте профиль "Публичная" в настройках сети Windows
Чек-лист успешной настройки
- [ ] Все устройства подключены к одному коммутатору/сети
- [ ] Статические IP в одной подсети (например, 192.168.1.100–199)
- [ ] Рабочая группа одинакова на всех ПК (
WORKGROUP) - [ ] Samba установлен и запущен на Linux
- [ ] Пользователь добавлен в Samba (
smbpasswd -a) - [ ] Брандмауэр разрешает SMB-трафик (порты 137-139, 445)
- [ ] В Windows включено сетевое обнаружение и общий доступ
- [ ] Папки/принтеры расшарены с корректными правами
- [ ] Проверена связь
pingи доступ к ресурсам
Совет:
Для автоматизации настройки в больших сетях рассмотрите использование Ansible или скриптов на Bash/PowerShell.
Если возникнут сложности — проверьте логи:
- Linux:
journalctl -u smb -f - Windows: Просмотр событий → Журналы Windows → Система
Удачной настройки!