Автоматическая привязка приложений к сетевому интерфейсу на основе учетной записи, с которой они запущены

Автоматическая привязка приложений к сетевому интерфейсу на основе учетной записи, с которой они запущены

Я ищу способ, чтобы приложения, запущенные из разных учетных записей, автоматически привязывались к определенному сетевому интерфейсу. Например: приложения, запущенные из учетной записи A, привязываются к eth0, а приложения, запущенные из учетной записи B, привязываются к eth1. Есть ли способ сделать это? Надеюсь, это будет проще понять. Я хотел бы сделать это, потому что хочу поделиться выделенным сервером с кем-то. Было бы полезно, если бы у нас были определенные IP-адреса учетных записей, чтобы мы оба могли запускать службы, требующие одного и того же порта, без хлопот, связанных с попытками привязать каждое приложение.

решение1

Сначала вам нужно настроить все интерфейсы с их собственными таблицами маршрутизации (см. /etc/iproute2/rt_tables). Затем вам нужно пометить трафик на основе UID. Используйте для этого модуль ipt_owner. Затем добавьте правила маршрутизации для этих меток (fwmark). Это хорошее начало для такого упражнения:Linux Advanced Routing & Traffic Control HOWTO

Связанный контент