Распечатать эту страницу

В этом разделе:

Монтирование сетевых папок

 

 


  

Часто используемые команды при работе с сетью: 

ip a информации о состоянии сетевых интерефейсов
ip -s -s link show dev bond0 статистика по сетевому интерфейсу bond0 
cat /proc/net/bonding/bond0 подробная статистика по интерфейсу bond0
scp логин@адрес_сервера:путь1 путь2 копирование файлов с сервера на клиента
scp -r путь1 логин@адрес_сервера:путь2 копирование рекурсивно файлов с клиента на сервер
mtr  8.8.8.8 трасировка до узла 8.8.8.8
cat /proc/net/bonding/bond0 просмотр состояния бонда
   
   
   
   
   
   
   

 

Как посмотреть, какие DNS серверы используются:

#nmcli dev show (аналог ipconfig в винде)
#resolvectl
#systemd-resolve --status
#vi /etc/resolv.conf
#/etc/systemd/resolved.conf

 

 

Основной файл резолва DNS имен обычно здесь: /etc/resolv.conf

Пример, как выглядит:

options timeout:1 attempts:1 rotate
nameserver 8.8.8.8
nameserver 4.4.4.4
search dpc.tax.domain.ru idmz.domain.rvv

 

Самый простой способ настроить через графический интерфейс. Здесь не описываем.

 

Настройка через консоль (используется NetWorkManager)

Настройки задаются здесь: /etc/NetworkManager/system-connections/имя_подключения.nmconnection

[connection]
id=connection 1
uuid=08542923-758e-327b-99b1-33c8f1247407
type=ethernet
autoconnect-priority=-999
interface-name=eth0
timestamp=1721296745

[ethernet]

[ipv4]
address1=192.168.48.5/24,192.168.48.1
dns=8.8.8.8;4.4.4.4;
ignore-auto-dns=true
method=manual

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[proxy]

 

# systemctl restart NetworkManager

 

 

 

  

 

Проверка доступности шары

#smbclient -L 192.168.1.21 -A /root/smbcred

где 192... - хост, на котором расшарена папка, /root/smbcred - файл с логином и паролем для подключения к шаре (если требуется)

smbcred выглядит так:
username=имя_пользователя
password=пароль

Также необходимо проверить доступность TCP порта 445.

 

Типовые ошибки при монтировании

can’t find in /etc/fstab - не указали папку куда будет смонтирован сетевой диск

mount does not exist - папки share, указанной в строчке /mnt/share/, нет.

 

Сначала необходимо установить пакеты: apt-get install cifs-utils, samba-client


1. Примонтировать на текущий сеанс

#mount -t cifs //10.1.5.43/share /mnt/share -o user=user1,password=123

Возможные опции монтирования:

username=a1 - имя пользователя, под которым подключаемся к шаре. Если не задать, то будет использоваться переменная USER
password=123 – пароль пользователя. Если не задать, то используется переменная PASSWORD (если она есть)
credentinal=/root/pass – путь к файлу, содержащий имя и пароль пользователя, под которым подключаемся
cifs – тип монтируемой ФС
rw – на чтение и запиь, ro – только на чтение
user - разрешение монтировать для любого пользователя
uid=500,guid=500 – идентификатор пользователя и группы, которому будут принадлежать все файлы в смонтированной ФС
file_mode=0777,dir_mode=0777 -–права доступа на файлы и каталоги
port=446 – какой порт использовать при подключении
domain=имя – имя группы или домена
guest – не запрашивать пароль
iocharset=8 – используемая кодировка
ver=1.0 (2.0, 3.0) - версия используемого SMB протокола

 

2. Примонтировать на постоянку (прописываем в fstab с нужными параметрами)

Строка в файле fstab
//10.1.5.43/share /mnt/share cifs rw,user,suid,iocharset=8,ver=2.0,username=user1,password=123 0 0

 

3. Если не хотим светить пароль в fstab

Создаем файл, например smbcred, в директории /root с содержимым:
username=имя_пользователя
password=пароль

Строка в файле fstab
//10.1.5.43/share /mnt/share cifs rw,credentials=/root/smbcred 0 0

 

 

 

 

Ethernet bonding — это объединение двух или более физических сетевых интерфейсов в один виртуальный для обеспечения отказоустойчивости и повышения пропускной способности сети. Или, простым языком говоря, Raid для сетевых карт.

В большинстве случаев используется режим Bond 0. Подробнее про режимы ниже в теории.

Объединение сетевых карт в Linux осуществляется с помощью драйвера bonding.

Параметры модуля bonding:

Небольшая выжимка, подробнее можно посмотреть здесь: хттпс adminia.ru/linux-bonding-obiedinenie-setevyih-interfeysov-v-linux

 

mode - определяет политику поведения объединенных интерфейсов (mode = 0 по-умолчанию)


0 — balance-rr — (round-robin) — режим циклического выбора активного интерфейса для исходящего трафика (рекомендован для включения по умолчанию, не требует применения специальных коммутаторов), рименяется для балансировки нагрузки и отказоустойчивости.
1 — active-backup — активен только один интерфейс, остальные в режиме горячей замены (самый простой режим, работает с любым оборудованием, не требует применения специальных коммутаторов), применяется для отказоустойчивости.
2 — balance-xor — режим, в котором каждый получатель закрепляется за одним из физических интерфейсов, который выбирается по специальной формуле (не требует применения специальных коммутаторов). Опционально распределение передачи может быть основано и на политике «xmit_hash».  Политика XOR применяется для балансировки нагрузки и отказоустойчивости. 
3 — broadcast — трафик идет через все интерфейсы одновременно (примитивный и потенциально конфликтный режим), применяется для отказоустойчивости.
4 — 802.3ad — (dynamic link aggregation) — в группу объединяются одинаковые по скорости и режиму интерфейсы. Все физические интерфейсы используются одновременно в соответствии со спецификацией IEEE 802.3ad. Для реализации этого режима необходима поддержка на уровне драйверов сетевых карт и коммутатор, поддерживающий стандарт IEEE 802.3ad (коммутатор требует отдельной настройки). Можно использовать «xmit_hash» политику.
5 — balance-tlb — (adaptive transmit load balancing) — исходящий трафик распределяется в соответствии с текущей нагрузкой (с учетом скорости) на интерфейсах (для данного режима необходима его поддержка в драйверах сетевых карт);
6 — balance-alb — (adaptive load balancing) — включает в себя balance-tlb, плюс балансировку на приём (rlb) для IPv4 трафика и не требует применения специальных коммутаторов.


 

xmit_hash_policy — определяет хэш политику передачи пакетов (xmit_hash_policy = layer2 по-умолчанию)


layer2 - использует только MAC адреса для генерации хэша (политика по-умолчанию)
layer2+3 - использует как MAC адреса так и IP адреса для генерации хэша. Алгоритм совместим с 802.3ad.
layer3+4
- используется IP адреса и протоколы транспортного уровня (TCP или UDP) для генерации хэша. Алгоритм не всегда совместим с  802.3ad, так как в пределах одного и того же  TCP или UDP взаимодействия может передаваться как фрагментированные так и не фрагментированнные пакеты. В фрагментированных пакетах порт источника и порт назначения отсутствуют. В результате в рамках одной сессии пакеты могут дойти до получателя не в том порядке (так как отправляются через разные интерфейсы). Некоторое оборудование, совместимое с 802.3ad может некорректно отработать такую ситуацию.


 

miimon - устанавливает периодичность MII мониторинга в миллисекундах. Определяет как часто будет проверяться состояние линии на наличие отказов. Значение по умолчанию 0 — отключает MII мониторинг, рекомендуется сперва попробовать значение 100. 

 

downdelay - определяет время в миллисекундах задержки перед отключением интерфейса, если произошел сбой соединения. Эта опция действительна только для мониторинга miimon.

 

updelay - задает время задержки в миллисекундах, перед тем как поднять линк при обнаружении восстановления канала. Этот параметр возможен только при miimon мониторинге.

 

max_bonds - указывает сколько bonding устройств следует создавать драйверу. Например, если max_bonds = 3, то в системе будут созданы bond0, bond1, bond2 интерфейсы.

  

Настрока bond (примеры)

 

Создаем файл /etc/sysconfig/network-scripts/ifcfg-bond0

vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
IPV6INIT=no
BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=layer3+4"

IPADDR= ip сервера
NETMASK= маска подсети
GATEWAY= шлюз
MTU= выставляем значение (1500 по умолчанию)

 

В файлы формата /etc/sysconfig/network-scripts/ifcfg-имя_карты, которая будет входить в bond0, вносим изменения

vi /etc/sysconfig/network-scripts/ifcfg-имя_карты

DEVICE= имя_карты
NAME= имя_карты
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
NM_CONTROLLED=no
IPV6INIT=no
MTU=1500

!! Все остальные строки которые не перечислены выше нужно удалить !!!

 

 

Вносим изменения в файл /etc/network/interfaces

auto bond0
iface bond0 inet static
address ip сервера/префикс
gateway шлюз
dns-nameservers ip dns сервера, не обязательно
bond-slaves имена интерфейсов которые будет входить в bond0 (через пробел)
bond-mode 802.3ad
bond-lacp-rate slow
bond-miimon 100
bond-downdelay 200
bond-updelay 200

Все остальные строки оставляем как есть, так как конф. файл общий для всех сетевых интерфейсов

 

 

Включить(UP) все интерфейсы и посмотреть, какие акивны {0..7} цифры зависят от количества интерфейсов

#for i in {0..7};do ip link set dev eth$i up;done

 

Посмотреть, какие интерфейсы активны

#ip -br link show

eth0 DOWN a0:c5:f2:11:15:ba <broadcast,multicast>
eth1 DOWN a0:c5:f2:11:15:b8 <broadcast,multicast>
eth2 UP e4:3d:1a:d7:49:d0 <broadcast,multicast,slave,up,lower_up>
eth3 DOWN a0:c5:f2:11:15:bb <broadcast,multicast>
eth4 DOWN a0:c5:f2:11:15:b9 <broadcast,multicast>
eth5 DOWN e4:3d:1a:d7:49:d1 <broadcast,multicast>
eth6 DOWN a0:c5:f2:11:15:bc <broadcast,multicast>
eth7 UP e4:3d:1a:d7:25:10 <broadcast,multicast,slave,up,lower_up>

В данном примере видим, что активны 2-ой и 7-ой интерфейсы. Их мы будем объединять в bond4 layer3+4.

 

Необходимо зафиксировать(привязать к MAC) имена активных сетевых интерфейсов. Редактируем файл, находя в нем активные интерфейсы, обнаруженные на прошлом шаге и переименновываем их как показано в примере:

#vi /etc/udev/rules.d/70-persistent-net.rules

# PCI device 0x14e4:0x16d7 (bnxt_en)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e4:3d:1a:d7:49:d0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ether00"

# PCI device 0x14e4:0x16d7 (bnxt_en)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e4:3d:1a:d7:25:10", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ether01"

 

Переходим в /etc/net/ifaces/ и создаем 3 каталога: ether00, ether01 и bond0

Переходим в каталог, сетевого интерфейса ether00 "cd /etc/net/ifaces/ether00"

Создаем файл options, как указано ниже:

#vim options
TYPE=eth
CONFIG_WIRELESS=no
BOOTPROTO=static
CONFIG_IPV4=yes
ONBOOT=yes

 

После создания файла options на предыдущем шаге, его надо скопировать также в каталог ether01

#cp /etc/net/ifaces/ether00/options /net/ifaces/ether01/

 

Далее также создаем файл options в каталоге bond0 и приводим его к виду:

#vim /etc/net/ifaces/bond0/options

TYPE=bond
CONFIG_WIRELESS=no
BOOTPROTO=static
CONFIG_IPV4=yes
ONBOOT=yes
HOST="ether00 ether01"
BONDMODE=4
BONDOPTIONS="miimon=100 xmit_hash_policy=layer3+4"

 

Также в папке bond0 необходимо создать еще два файла: ipv4address и ipv4route

#vim /etc/net/ifaces/bond0/ipv4address

10.253.10.229/23 - задаем ip адрес и маску для интерфейса bond0

 

#vim /etc/net/ifaces/bond0/ipv4route

default via 10.253.10.1 - шлюз по умолчанию

 

Далее необходимо задать mac адрес для бонда. Для этого возьмем mac от первой сетевой ether00 и запишем также в папку bond0 в файл iplink. Кроме этого зададим еще MTU

#vim /etc/net/ifaces/bond0/iplink

address e4:3d:1a:d7:49:d0

mtu 1500

 

Настройка закончена. Необходимо перезагрузить ОС и, после перезагрузки, выполнить следующие команды: 

# /etc/init.d/network restart
# /etc/net/scripts/contrib/initconf write
# reboot