Добрый день
Ситуация такая
В комп воткнуто 3 сетевухи
1-локальная сеть 192.168.0.0/16 и первый провайдер
2-vpn, сеть на 10.0.0.0/16
3-второй повайдер
Шлюзом по умолчанию является первый провайдер
Решил сделать нат такой, чтоб запросы на определённые порты уходили через второго провайдера, а на другие по дефолту. Настроил 2 таблицы на iproute2, сделал чтоб соединения с исходящим адресами соответствующих провайдеров шли через соответствующие интерфейсы, все хорошо.
Для опыта решил попробовать с пингами, чтоб с моей локальной машинки сервак слал пинги через второго провайдера, не являющегося дефлтным. Прописал следующее:
#чтоб меченный пакеты шли через таблицу второго провайдера
ip rule add fwmark 1 table 2prov
#мечу
iptable -t mangle -A PREROUTING -p ICMP --src 192.168.1.33 -j MARK --set-mark 1
#меняю адрес исходящий
iptable -t nat -A POSTROUTING -p ICMP --src 192.168.1.33 -j SNAT --to-source IP_ОТ_ВТОРОГО_ПРОВАЙДЕРА
Просто так ничего работать не стало
Полазил по форуму, нашел, что нужно сделать ещё так:
sysctl -w 'net.ipv4.conf.eth2.rp_filter=0'
После этого пинги пошли, НО через первого провайдере от моего сервака начали слаться бешено пакеты icmp time exceeded in transit
Что это такое? Как от этого избавиться?
Установил потом rp_filter как было, в 1.
Послушал что творится на интерфейсе второго провайдера. Там помимо инетовских ip обитают ещё и локальные сети, на 192.168., на 10.
Как быть?
идей нет?
>идей нет?Так идей и не должно быть, так как статья правильная и она работает:
tracert -d ya.ru
Трассировка маршрута к ya.ru [213.180.204.8]
с максимальным числом прыжков 30:1 205 ms 199 ms 185 ms 192.168.1.151
2 195 ms 195 ms 187 ms 192.168.1.1
3 534 ms 522 ms 518 ms 10.254.81.30tracert -d www.ru
Трассировка маршрута к www.ru [194.87.0.50]
с максимальным числом прыжков 30:1 203 ms 196 ms 186 ms 192.168.1.151
2 192 ms 194 ms 187 ms 192.168.1.1
3 209 ms 192 ms 208 ms 81.16.*.*прочитай статью и посмотри что у тя не так!
ЗЫ: получилось с первого раза!!
Сори, ошибся темой :))