У меня есть роутер linux с несколькими шлюзами (кабельный модем, ppp, vpn и т.д.). Каков наилучший способ перенаправить весь интернет-трафик для отдельных пользователей через разные шлюзы?
Вот пример:Изображение сетевой диаграммы
Кажется, мне нужно создать отдельные таблицы маршрутизации для каждого соединения, добавить GW соединения, добавить IP-адрес соединения, добавить IP-адреса пользователя и включить NAT. Это работает с PPP, но не с OpenVPN (конфигурация по умолчанию, мой маршрутизатор является клиентом).
например:
openvpn --route-nopull --config ~/connect.ovpn &
ip route add default via 10.8.0.5 table myvpn
ip route add 10.8.0.1/32 via 10.8.0.5 table myvpn
ip rule add from 10.8.0.6 table myvpn
ip rule add from 192.168.1.3 table myvpn
ip rule add from 192.168.1.4 table myvpn
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o myvpn -j MASQUERADE
В этом примере маршрутизатор сам может подключиться через 10.8.0.6 (или любое другое подключение по отдельности), но клиенты не могут.