Одним из способов запуска команд, маршрутизируемых по-разному, является использование iptables и политики маршрутизации. Вы можете создать нового пользователя (или группу ), которую будете использовать для запуска команды.
Отметьте трафик в таблице mangle
с помощью модуля владельца iptables. В этом примере трафик помечен идентификатором 10 для пользователя novpn:
iptables -t mangle -A OUTPUT -m owner --uid novpn -j MARK --set-mark 10
Создайте новую таблицу маршрутизации (таблицу 100)для отмеченного трафика и установите маршрут и правило по умолчанию для применения новой таблицы маршрутизации для отмеченного трафика:
ip route add table 100 default via *DEFAULTGW*
ip rule add fwmark 10 table 100
ip route flush cache
Теперь, чтобы запустить команду, которая не маршрутизируется через вашу VPN, вы можете использовать su
и т. д., чтобы запустить команду от имени нового пользователя novpn.
Если создание нового пользователя для запуска команд неприемлемо, вы можете настроить отдельное сетевое пространство имен с собственной маршрутизацией для запуска ваших команд.
Для тех устройств, размер сектора которых составляет 4 КБ, вероятно, ваше устройство никогда не станет невыровненным, но для тех, у которых 512 байт, вы должны выровнять первый сектор раздела, чтобы он соответствовал единице, кратной 4096 байтам, в этом случае кратной 8 (4096/512 ), но помните, что он начинается с нуля.