Задать вопрос
ACCNCC
@ACCNCC
Делаю игры!

Как в iptables перенаправить трафика нужного пользователя в другой интерфейс?

Есть два интерфейса eth0 и eth1
Нужно перенаправлять весь трафик пользователя под ид 1001 в второй интерфейса eth1

Возможно реализовать? если да то как?
  • Вопрос задан
  • 2184 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@alegzz
iptables -t mangle -N markrt
iptables -t mangle -F markrt

#в локальную сеть не маркируем
iptables -t mangle -A markrt -d 172.16.0.0/24 -j RETURN
iptables -t mangle -A markrt -m connmark ! --mark 0 -j RETURN
iptables -t mangle -A markrt -j MARK --set-mark 10

iptables -t mangle -A OUTPUT -m owner --uid-owner 1001  -j markrt

#если приложение не прибито к интерфейсу eth1, то адрес будет кривым. исправляем
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

#делаем default маршрут, поменять на свое, table 10 - оставить
ip route add default dev eth1 via 172.16.0.1 table 10
#пакеты, промаркированные 0xa должны маршрутизироваться по правилу
ip rule add fwmark 10 lookup 10
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Маркируйте пакеты юзера в иптаблес и для маркнутых пакетов сделайте отдельную таблицу маршрутизации
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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