Есть сервер с раздающий интернет по LAN
Сеть 172.24.1.0/24
Также этот сервер является клиентом другого сервера openvpn
(10.8.1.0/24) , который опять является клиентом двух других openvpn серверов(10.8.2.0/24 и 10.8.3.0/24)
В итоге на этом сервере openvpn 3 tun интерфейса с адреcами 10.8.1.1, 10.8.2.6, 10.8.3.6.
Сети 10.8.2.0/24 и 10.8.3.0/24 доступны из сети 10.8.1.0/24.
Сейчас клиенты LAN получают публичный IP первого сервера openvpn.
Как сделать так, чтобы определенному клиенту LAN пустить маршрут через сеть 10.8.2.0/24 и тем самым присвоить публичный IP этого openvpn сервера?
Если 172.24.1.0 натится на своем роутере, то никак - 10.8.1.1 уже не знает о сети 172.24.1.0. Если роутится, то используйте policy-based routing, чтобы пакеты с данного хоста маршрутизировались по другой таблице, в которой маршрут по умолчанию будет отличаться от общего.
NO_GLITCH, посмотрите, какие настройки NAT на 10.8.1.6 для сети 172.24.1.0. Если там SNAT или MASQUERADE, то ничего не выйдет, только менять топологию сети.
видимо ничего не выйдет -A POSTROUTING -o eth+ -j MASQUERADE
Но из сети 172.24.1.0 например пингуется 10.8.2.1, можно к нему подключаться по ssh и тд
traceroute to 10.8.2.1 (10.8.2.1), 64 hops max, 52 byte packets
1 172.24.1.1 (172.24.1.1) 7.710 ms 1.282 ms 1.136 ms
2 10.8.1.1 (10.8.1.1) 63.546 ms 64.785 ms 67.397 ms
3 10.8.2.1 (10.8.2.1) 111.502 ms 109.486 ms 109.415 ms
> Но из сети 172.24.1.0 например пингуется 10.8.2.1, можно к нему подключаться по ssh и тд
Это нормально, на это как раз и нужен исходящий нат, чтобы можно было видеть сеть за пределами локальной сети.
А вот то, что у вас нат на eth+, это и нормально, и на доступ в 10.8 не влияет - она же за tun-интерфейсом. Вот есть ли у вас нат на tun? Если нет, смотрите tcpdump'ом на 10.8.1.1, видны ли айпишники из 172.24.1.0, если да, рисуйте роутинг.