sysctl -p

Ответить
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

sysctl -p

Сообщение ya »

/etc/sysctl.conf

Код: Выделить всё

net.ipv4.ip_forward = 1
kernel.softlockup_panic = 1
kernel.panic = 10
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.forwarding = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv6.ip_nonlocal_bind = 1

Код: Выделить всё

sysctl -p
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Re: sysctl -p

Сообщение ya »

/etc/sysctl.conf

Код: Выделить всё

# Отключить RA для конкретного интерфейса
net.ipv6.conf.eth0.accept_ra = 0
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Re: sysctl -p

Сообщение ya »

Код: Выделить всё

net.ipv6.conf.ens3.accept_ra = 0
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

Параметр accept_ra_defrtr = 0 говорит системе: «принимай анонсы префиксов для адреса, но не смей трогать таблицу маршрутизации».

Код: Выделить всё

# Игнорировать шлюз из RA для конкретного интерфейса
net.ipv6.conf.eth0.accept_ra_defrtr = 0

Код: Выделить всё

# Если нужно применить ко всем интерфейсам:
# net.ipv6.conf.all.accept_ra_defrtr = 0
можно прописать настройки прямо в конфиг интерфейса
/etc/network/interfaces

Код: Выделить всё

iface eth0 inet6 dhcp
    # После поднятия интерфейса принудительно отключаем прием шлюза
    post-up sysctl -w net.ipv6.conf.eth0.accept_ra_defrtr=0
    # Добавляем свой статический шлюз
    gateway 2001:db8::1
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Re: sysctl -p

Сообщение ya »

Для более плавной работы дисковй системы:

Код: Выделить всё

vm.dirty_expire_centisecs = 3000
vm.dirty_background_ratio = 10
vm.dirty_ratio = 20
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Re: sysctl -p

Сообщение ya »

Убедитесь, что в системе включено масштабирование окна TCP:

Код: Выделить всё

sysctl -w net.ipv4.tcp_window_scaling=1
(этот параметр влияет и на стек v6 в Linux).

mount cifs

Код: Выделить всё

# Пример для IPv6
mount -t cifs //[fe80::1234:abcd]/share /mnt/data -o \
username=user,password=pass,\
cache=loose,
vers=3.1.1,\
multichannel,max_channels=4,\
actimeo=60,
Начните с установки rsize/wsize=1048576 и добавления multichannel. Если вы заметите нестабильность, снижайте rsize/wsize до 65536 или 131072, но для современных сетей 32768 обычно неоправданно мало.
Максимальный объем данных, который ядро отправляет в запросе на запись, в байтах. До версии ядра 3.0.0 значение по умолчанию и максимальное значение
составляли 57344 (14 * 4096 страниц). Начиная с версии 3.0.0, значение по умолчанию зависит от того, согласовывают ли клиент и сервер большие записи через
расширения POSIX. Если да, то значение по умолчанию составляет 1 МБ, а максимально допустимое — 16 МБ. Если нет, то значение по умолчанию составляет
65536, а максимально допустимое — 131007.
Покажет с какими параметрами смонтировано cifs

Код: Выделить всё

sudo mount | grep cifs
Кто подключен на сервер samba

Код: Выделить всё

sudo smbstatus
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Re: sysctl -p

Сообщение ya »

В контексте сетевых интерфейсов и передачи данных аббревиатура **BBR** расшифровывается как **Bottleneck Bandwidth and Round-trip propagation time** (Пропускная способность узкого места и время кругового обхода).

Это современный алгоритм управления перегрузкой TCP, разработанный инженерами Google в 2016 году.

---

### Почему это важно?
Традиционные алгоритмы (например, CUBIC или Reno) определяют наличие перегрузки по **потере пакетов**. Это работало в 90-х, но сегодня приводит к проблемам:
* **Bufferbloat:** Роутеры с большими буферами накапливают очереди, что дико увеличивает задержку (пинг), прежде чем TCP поймет, что пора замедлиться.
* **Низкая скорость на нестабильных линиях:** Если пакет потерян из-за помех (а не из-за перегрузки), обычный TCP резко снижает скорость, хотя канал свободен.

**BBR же работает иначе:** он не ждет потерь, а постоянно измеряет реальную скорость канала и минимальную задержку, строя модель сети.



---

### Как работает BBR?
Алгоритм пытается найти «золотую середину», управляя потоком данных на основе двух ключевых метрик:
1. **RTprop (Round-Trip propagation time):** Чистое время прохождения сигнала туда-обратно без учета очередей.
2. **BtlBw (Bottleneck Bandwidth):** Максимальная емкость самого узкого участка пути.

BBR старается держать в сети ровно столько данных, сколько помещается в «трубу», не переполняя буферы.

---

### Основные преимущества
* **Высокая пропускная способность:** На каналах с небольшим процентом потерь пакетов (например, Wi-Fi или спутниковая связь) BBR может быть в десятки раз быстрее классических алгоритмов.
* **Низкая задержка:** Минимизирует очереди в сетевом оборудовании.
* **Устойчивость:** Отлично справляется с «шумными» сетями.

### Где он используется?
* **Linux:** BBR включен в ядро, начиная с версии 4.9.
* **Google:** Все сервисы (YouTube, Поиск) используют BBR для доставки контента.
* **Серверы:** Многие системные администраторы включают BBR на высоконагруженных веб-серверах для ускорения загрузки сайтов у пользователей.

### Как проверить/включить в Linux?
Если вы настраиваете сетевой интерфейс на сервере, проверить текущий алгоритм можно командой:

Код: Выделить всё

sysctl net.ipv4.tcp_congestion_control
А включить BBR (при наличии прав) можно через `sysctl`, добавив:

Код: Выделить всё

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Re: sysctl -p

Сообщение ya »

/etc/sysctl.d/99-disable-ipv6-ra.conf

Код: Выделить всё

# Отключаем прием RA для конкретного интерфейса (замените eth0 на ваш)
net.ipv6.conf.eth0.accept_ra = 0
net.ipv6.conf.eth0.autoconf = 0

# Или для всех интерфейсов сразу
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.autoconf = 0
/etc/network/interfaces

Код: Выделить всё

iface eth0 inet6 static
    address 2001:db8::10
    netmask 64
    # Эти параметры отключают автонастройку:
    accept_ra 0
    autoconf 0
    privext 0

Код: Выделить всё

# Удаляем все IP-адреса с интерфейса (и IPv4, и IPv6)
ip addr flush dev ens18

# Выключаем интерфейс на уровне ядра
ip link set ens18 down

Код: Выделить всё

# Удаляем информацию о состоянии
sed -i '/ens18/d' /run/network/ifstate
Если вы часто вносите изменения в /etc/network/interfaces, используйте флаг --force, чтобы ifdown игнорировал текущие ошибки в файлах состояния:

Код: Выделить всё

ifdown --force ens18 && ifup ens18
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Re: sysctl -p

Сообщение ya »

для отключения dhcp клиента нужно убить процесс dhcpcd

Код: Выделить всё

pkill dhcpcd
systemctl disable networking
узнать запущен ли dhcp клиент

Код: Выделить всё

 ps aux | grep -E "dhclient|udhcpc|dhcpcd"
Ответить