Вы можете сделать это с помощью iptables
и другого пользователя. Предполагая, что IP-адрес интерфейса, который вы хотите использовать в команде, это 1.2.3.4
а также имя eth1
и шлюз 1.2.3.1
.
1) Создайте нового пользователя:
adduser user2
2) Отметить пакеты, приходящие от этого пользователя:
iptables -t mangle -A OUTPUT -m owner --uid-owner user2 -j MARK --set-mark 42
3) Примените IP-адрес к этим пакетам:
iptables -t nat -A POSTROUTING -o eth1 -m mark --mark 42 -j SNAT --to-source 1.2.3.4
4) Маршрутизировать помеченные пакеты через шлюз eth1
:
ip rule add fwmark 42 table 42
ip route add default via 1.2.3.1 dev eth1 table 42
5) Выполните команду как новый пользователь:
sudo -u user2 ping example.com
Теперь ping example.com
будет маршрутизироваться через шлюз 1.2.3.1
не через системный шлюз по умолчанию.