fufurik Опубликовано 30 августа, 2011 · Жалоба Вот схема интернет------провайдер1-------- 76,196,233,73(шлюз 76,196,233,73)(eth2) \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Наш шлюз(10,0,0,1)(eth1)--------Компьютер(10,0,0,2) локальная_сеть_провайдера 2------172.25.40.24 (шлюз 172.25.40.1 маска 255,255,255,0 )(eth0) нужно чтоб с компьютера(10,0,0,2) все запросы шли через провайдера1 кроме запросов на ip адрес 172.24.40.6(это ip провайдера2) запросы на этот ip должны отсылаться на шлюз провайдера2 я сделал так но не работает echo 1 > /proc/sys/net/ipv4/ip_forward (включаем форвардинг) iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE (включаем нат для eth2) iptables -A PREROUTING -i eth0 -s 10.0.0.2/24 -d 172.24.40.6/24 -t mangle -j MARK --set-mark 2 (метим пакеты на ip 172.24.40.6) iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (включаем нат для eth0) echo 202 provider2 >> /etc/iproute2/rt_tables (создаем таблицу provider2) ip rule add fwmark 2 table provider2 (выбираем помеченные пакеты) ip route add default via 172.25.40.1 dev eth0 table provider2 (отправляем пакеты на шлюз) ip route flush cache (сбросить кеш маршрутизатора) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 30 августа, 2011 · Жалоба 1. rp_filter выключен? 2. что говорит счётчик пакетов напротив iptables -A PREROUTING -i eth0 -s 10.0.0.2/24 -d 172.24.40.6/24 -t mangle -j MARK --set-mark 2 3. во что у вас iptables превращает 10.0.0.2/24 и 172.24.40.6/24 ? (iptables -nvL -t mangle) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
agr Опубликовано 31 августа, 2011 · Жалоба покажите вывод ip rule, есть ли у вас там 0: from all lookup 255 ? если есть, то и не должно работать. Вашу задачу можно решить проще, без маркировок, одной командой ip r a 172.24.40.6 via 172.25.40.1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fufurik Опубликовано 2 сентября, 2011 (изменено) · Жалоба покажите вывод ip rule, есть ли у вас там 0: from all lookup 255 ? если есть, то и не должно работать. Вашу задачу можно решить проще, без маркировок, одной командой ip r a 172.24.40.6 via 172.25.40.1 Вот вывод: ip rule list 0: from all lookup local 32765: from all fwmark 0x2 lookup enforta 32766: from all lookup main 32767: from all lookup default Команда ip r a 172.24.40.6 via 172.25.40.1 помогла, но я не понял откуда она такая взялась. Потом я догадался что это ip route add 172.24.40.6 via 172.25.40.1 Я новичок в маршрутизации и думал что команды должны быть такого вида: ip - управление собственно маршрутизацией ip [опции] {объект маршрутизации} {команда или HELP} Из опций наиболее полезным является выбор семейства IP - --4 - IPv4 --6 - IPv6 Объекты маршрутизации представлены следующим списком: * link - сетевое устройство(реальное физическое или виртуальное, например vlan или туннель) * address - ip адресс устройства * neighbour - кеш ARP * route - таблицы маршрутизации * rule - правила маршрутизации * maddress - широковещательный адрес * mroute - широковещательные таблицы маршрутизации * tunnel - IP туннель Где eще можно почитать по iproute кроме LARTC? Изменено 2 сентября, 2011 пользователем fufurik Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
agr Опубликовано 3 сентября, 2011 · Жалоба Где eще можно почитать по iproute кроме LARTC? в man ip Имена объектов и команд можно писать сокращенно. Команду list(она же show) можно не писать вообще - она подразумевается по умолчанию, т.е. ip ru равнозначно ip rule list. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...