Как ограничить пропускную способность на уровне обслуживания системы? Можно ли маршрутизировать каждую службу через отдельный сетевой интерфейс?

Итак. Вот что я пытаюсь сделать. У меня есть сервер Ubuntu (20.04) с тремя созданными мной сервисами systemd. Каждое из них запускает собственное приложение, которое загружает и скачивает данные из Интернета.

service1, service2, service3

Пример настройки service1

sudo nano /etc/systemd/system/system1.service
[Unit]
Description=Myapp Service 1
After=network.target 
Wants=network.target
[Service]
User=user1 
Group=user1
Type=simple
Restart=always
RestartSec=5
ExecStart=myapp
[Install]
WantedBy=default.target

Теперь я хочу, чтобы пропускная способность загрузки была неограниченной для всех служб. Я хочу, чтобы пропускная способность загрузки составляла 1000 кбит / с для service1, 150 кбит / с для service2, 15 кбит / с для service3. У меня есть встроенный адаптер Ethernet, подключенный к моему маршрутизатору, и имя интерфейса - eno1. У меня нет Wi-Fi на этой машине, и я предпочитаю не использовать Wi-Fi. Хотите, чтобы он был подключен.

Я наткнулся на wondershaper , но похоже, что он может ограничивать пропускную способность только на уровне интерфейса. В моем случае для всего eno1. Есть ли способ создать новые интерфейсы eno2, eno3 и маршрутизировать трафик для каждой из этих служб (service1 и все остальное через eno1, service2 через eno2, service3 через eno3) и использовать wondershaper для ограничения полосы пропускания для eno1 / 2/3 отдельно?

Или есть какой-то другой вариант, который не слишком скомпилирован для новичка в Linux?

0
задан 26 November 2020 в 22:43

0 ответов

Другие вопросы по тегам:

Похожие вопросы: