У меня есть Linux-сервер, и я использовал его как маршрутизатор с двумя сетевыми интерфейсами.
Я использую eth0 (10.76.8.60/24, 10.76.8.50/24, router: 10.76.8.1) для подключения к сети, а eth1 (192.168.1.1/24) подключаюсь к коммутатору LAN. Я использую SNAT для пересылки пакетов с eth1 на eth0.
Проблема в том, что я хочу перенаправить пакет от указанного клиента (например, 192.168.1.8, SNAT на 10.76.8.60) на 10.76.8.111 (не на шлюз по умолчанию: 10.76.8.1, SNAT на 10.76.8.50), но другие пакеты клиентов по-прежнему перенаправляются на шлюз по умолчанию.
Я попытался решить проблему с помощью таблицы IP-маршрутов, но не смог:
ip route flush table test ip route add default via 10.76.8.111 src 10.76.8.60 table test
Не знаю, что делать, помогите пожалуйста. Спасибо.
Вы хотите основанный на политике маршрутизация. Быстрый пример, не зависящий от дистрибутива:
echo 200 custom >> /etc/iproute2/rt_tables
ip rule add from 192.168.1.8 lookup custom
ip route add default via 10.76.8.50 dev eth0 table custom