Приветствую всех. Решил побаловаться с маршрутизацией. Настроил VPN. Сделал так, чтобы на определенные компьютеры я ходил через VPN. Но есть одна загвоздка, Если обращаются ко мне снаружи из этого самого IP на который я хожу через впн, то наружу пакет уже уходит по гэйтвею который указан для него.
Тоесть нужно сделать так чтобы, если пакет приходит из ppp+ то уйти должен по ppp+ default gw а не по гейтвею для этого IP. А то пакет приходит на комп, а адрес отправителя не соответсвует, вот он и отбрасывает. Подскажите простые варианты решения?
Или помогите переделать команду чтобы она заработала, а то я не нашел способа использовать адрес источника в таблице:
Какую именно конкретику?
1. Есть список IP на которые нужно ходить через VPN.
2. Эти списки вида route add 256.256.256.256 $VPN_GW, где 256.256.256.256(ifconfig.me) ип ресурса который я хочу смотреть из впн.
При заходе на этот сайт\ип не важно, я его вижу со стороны ВПН. Все нормально.
3. Предположим на моем компьютере есть example.com, который резолвится на IP который находится на ppp0 фейсе.
4. С компьютера ifconfig.me хотят посмотреть example.com.( Но ничего не будет, так как ответный пакет бежит через tap0 )
5. С IP ifconfig.me приходит пакет, с ppp0 интерфейса,
6. а уходит на ifconfig.me через tap0 так как путь до ifconfig.me через $VPN_GW(2ой пункт)
Как мне сделать, что пакет пришедший с ppp+ фейсов уходил через них?
Спасибо, но я не нашел там того что хотел, хотя и сделал рабочий вариант. У меня ppp+ фейс очень часто меняет ИП. Как мне в этих правилах вместо 109ого айпи вставить ppp+, как в iptables?
iptables -t mangle -A PREROUTING -i ppp+ -j MARK --set-mark 1
ip rule add fwmark 1 table vpn_ips
ip route add default via 109.x.x.x dev ppp0 table vpn_ips