|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexander Tolstykh 2:5020/400 16 Aug 2006 14:31:41 To : Alexey Vissarionov Subject : Re: Превратить транзитный пакет в исходящий -------------------------------------------------------------------------------- Alexey Vissarionov <Alexey.Vissarionov@f545.n5020.z2.fidonet.org> wrote: > Доброго времени суток, Alexander! > > 16 Aug 06 11:29, Alexander Tolstykh -> All: > > AT> Интересует вопрос преобразования транзитного пакета > AT> в исходящий. Hеобходимо для прохождения пакета по цепочкам > AT> PREROUTING таблиц mangle и nat. > AT> Как осуществить такое? Получится ли изменить source адрес > AT> исходящего пакета и вернуть его на интерфейс? Желательно > AT> без патчей, стандартными ip route и iptables. > > Что-то мне подсказывает, что тебе нужен банальный SNAT... Проверил тестом: iptables -t nat -A POSTROUTING -s внешний_ip -d 213.180.204.8 -p ICMP -j SNAT --to-source 192.168.0.3 213.180.204.8 - ya.ru пробуем ping -I внешний_ip ya.ru tcpdump -f -i eth0 показывает пакеты IP 192.168.0.3 > 213.180.204.8: icmp, как и ожидалось. eth1 - default dev для внешнего ip. Hо, проверим возможность изменения роутинга этого пакета, т.е. повторного принятия решения о маршрутизации. Завернем пакет на интерфейс eth1 ip rule add from 192.168.0.3 to 213.180.204.8 table 77 ip route add default table 77 dev eth1 ping -I 192.168.0.3 ya.ru tcpdump -f -i eth1 icmp молчит как партизан а вот tcpdump -f -i eth0 по прежнему показывает IP 192.168.0.3 > 213.180.204.8: icmp Отсюда вывод: SNAT для исходящих пакетов не преобразует пакет в транзитный. Где мог ошибиться? Или все-таки действительно, невозможно превратить исходящий в транзитный? -- Alexander Tolstykh --- ifmail v.2.15dev5.3 * Origin: -=GOLOS=- (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/153623ad07a08.html, оценка из 5, голосов 10
|