Перерыл кучу инфы. Не помогло. плиз, ХЕЛП!Ситуация: Пров дал два айпишника (один - медленный анлим, другой - скоростной но дорогой) из одной сети соответственно с одним гетвеем.
Задача: разделять трафик по интерфейсам.Настройки:
eth0 - 11.11.11.79 netmask 255.255.255.0
eth2 - 11.11.11.78 netmask 255.255.255.0iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 11.11.11.78 #unlim
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 11.11.11.79 #speed
(это только вырезка из большого файла)ip route add 11.11.11.0/24 dev eth0 src 11.11.11.79 table lim
ip route add default via 11.11.11.1 dev eth0 table lim (вот тут он грит: RTNETLINK answers: No such process)
ip route add 192.168.0.0/24 dev eth1 table lim
ip route add 127.0.0.0/8 dev lo table limip route add 11.11.11.0/24 dev eth2 src 11.11.11.78 table unlim
ip route add default via 11.11.11.1 dev eth2 table unlim (вот тут он грит: RTNETLINK answers: No such process)
ip route add 192.168.0.0/24 dev eth1 table unlim
ip route add 127.0.0.0/8 dev lo table unlimip rule add from XX.XX.XX.79 table lim
ip rule add from XX.XX.XX.78 table unlim
ip rule add from 192.168.0.0/24 table lim (хотя - бы всю подсеть смаршрутизировать)ip route flush cache
Когда выставляю правила для разных айпишников из сети 192.168.0.0 - они не действуют.
Подскажите, как быть? Где ошибка?
>Перерыл кучу инфы. Не помогло. плиз, ХЕЛП!http://www.opennet.me/tips/info/2009.shtml
>
>Ситуация: Пров дал два айпишника (один - медленный анлим, другой - скоростной
>но дорогой) из одной сети соответственно с одним гетвеем.
>Задача: разделять трафик по интерфейсам.Извините, интерфейсов у вас один должен быть.
>
>Настройки:
>eth0 - 11.11.11.79 netmask 255.255.255.0
>eth2 - 11.11.11.78 netmask 255.255.255.0ню-ню.
>
>iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 11.11.11.78 #unlim
>
>iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 11.11.11.79 #speed
>
>(это только вырезка из большого файла)А остальное мы должны телепатически понять ?
Раз вы такой умный, что знаете что показывать а что нет, то чёж сами тогда не разберетесь ?>
>ip route add 11.11.11.0/24 dev eth0 src 11.11.11.79 table lim
>ip route add default via 11.11.11.1 dev eth0 table lim (вот тут
>он грит: RTNETLINK answers: No such process)таблицы кто будет прописывать, Пушкен?
>[оверквотинг удален]
>тут он грит: RTNETLINK answers: No such process)
>ip route add 192.168.0.0/24 dev eth1 table unlim
>ip route add 127.0.0.0/8 dev lo table unlim
>
>ip rule add from XX.XX.XX.79 table lim
>ip rule add from XX.XX.XX.78 table unlim
>ip rule add from 192.168.0.0/24 table lim (хотя - бы всю подсеть
>смаршрутизировать)
>
>ip route flush cacheВы не прочитали ни одной статьи из найденных, а если прочитали, то не поняли. Правила должны иметь приоритет.
>
>Когда выставляю правила для разных айпишников из сети 192.168.0.0 - они не
>действуют.Вкурите вывод "ip ru sh"
>Подскажите, как быть? Где ошибка?
Читать доки, читать форум.
>http://www.opennet.me/tips/info/2009.shtmlСпасибо за ссылку, читал, когда настраивал три канала инета на раздачу. Все работает до сих пор. На всякий случай перечитал еще раз. Не помогло.
>
>>
>>Ситуация: Пров дал два айпишника (один - медленный анлим, другой - скоростной
>>но дорогой) из одной сети соответственно с одним гетвеем.
>>Задача: разделять трафик по интерфейсам.
>
>Извините, интерфейсов у вас один должен быть.Физический интерфейс должен быть один? Сделать алиас?
> А остальное мы должны телепатически понять ?
> Раз вы такой умный, что знаете что показывать а что нет,
>то чёж сами тогда не разберетесь ?Конфиг:
Тут есть ipables
#!/bin/sh
IPT="/sbin/iptables"LOCAL="eth1"
INSIS="eth0"
UNLIM="eth2"IP_INSIS="11.11.11.79"
IP_UNLIM="11.11.11.78"echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X$IPT -P INPUT ACCEPT
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
$IPT -A FORWARD -i $LOCAL -o $UNLIM -j ACCEPT
$IPT -A FORWARD -o $LOCAL -i $UNLIM -j ACCEPT
$IPT -A FORWARD -i $LOCAL -o $LOCAL -j ACCEPT$IPT -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 11.11.11.78
$IPT -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 11.11.11.79 #activate vista$IPT -t mangle -A PREROUTING -d 62.148.237.132 -j MARK --set-mark 0x2
$IPT -t mangle -A PREROUTING -s 192.168.0.95 -d ! 192.168.0.0/24 -j MARK --set-mark 2>таблицы кто будет прописывать, Пушкен?
Тут есть ip
#!/bin/sh
IPT=/sbin/ipIP_LOCAL="192.168.0.1"
IP_UNLIM="11.11.11.78"
IP_INSIS="11.11.11.79"GW_INSIS="11.11.11.1"
IF_LOCAL="eth1"
IF_UNLIM="eth2"
IF_INSIS="eth0"NET_LOCAL=192.168.0.0/24
NET_INSIS=88.86.206.0/24
NET_UNLIM=88.86.206.0/24$IPT route flush table lim
$IPT route flush table unlim$IPT route add from $NET_LOCAL to $NET_LOCAL dev $IF_LOCAL table main
#В таблицу lim
$IPT route add $NET_INSIS dev $IF_INSIS src $IP_INSIS table lim
$IPT route add default via $GW_INSIS dev $IF_INSIS table lim
$IPT route add $NET_LOCAL dev $IF_LOCAL table lim
$IPT route add 127.0.0.0/8 dev lo table lim
#В таблицу unlim
$IPT route add $NET_UNLIM dev $IF_UNLIM src $IP_UNLIM table unlim
$IPT route add default via $GW_INSIS dev $IF_UNLIM table unlim
$IPT route add $NET_LOCAL dev $IF_LOCAL table unlim
$IPT route add 127.0.0.0/8 dev lo table unlim
#В таблицу main
$IPT route add $NET_INSIS dev $IF_INSIS src $IP_INSIS table main
$IPT route add $NET_UNLIM dev $IF_UNLIM src $IP_UNLIM table main
$IPT route add default via $GW_INSIS dev $IF_UNLIM table main$IPT route add YY.YY.YY.1/32 via 88.86.206.1 dev eth0 table lim (это ДНС провайдерский)
$IPT rule add from $IP_INSIS table lim
$IPT rule add to YY.YY.YY.1 table lim
$IPT rule add fwmark 2 table lim
$IPT rule add from $IP_UNLIM table unlim$IPT route flush cache
cat rt_tables
255 local
254 main
253 default
0 unspec
10 lim
20 unlimip rule show
0: from all lookup local
32761: from 11.11.11.78 lookup unlim
32762: from all fwmark 0x2 lookup lim
32763: from all to YY.YY.YY.1 lookup lim
32764: from 192.168.0.95 lookup lim
32765: from 11.11.11.79 lookup lim
32766: from all lookup main
32767: from all lookup defaultip route
192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.1
88.86.206.0/24 dev eth2 scope link src 88.86.206.78
169.254.0.0/16 dev eth2 scope link
default via 88.86.206.1 dev eth2ip route show table lim
192.168.0.0/24 dev eth1 scope link
88.86.206.0/24 dev eth0 scope link src 88.86.206.79
127.0.0.0/8 dev lo scope link
(Вот как раз в этой таблице и отсутствует дефаултовый шлюз)ip route show table unlim
83.167.6.1 via 88.86.206.1 dev eth2
192.168.0.0/24 dev eth1 scope link
88.86.206.0/24 dev eth2 scope link src 88.86.206.78
127.0.0.0/8 dev lo scope link
default via 88.86.206.1 dev eth2ip route show table local
broadcast 192.168.0.255 dev eth1 proto kernel scope link src 192.168.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 11.11.11.0 dev eth0 proto kernel scope link src 11.11.11.79
broadcast 11.11.11.0 dev eth2 proto kernel scope link src 11.11.11.78
local 192.168.0.1 dev eth1 proto kernel scope host src 192.168.0.1
broadcast 192.168.0.0 dev eth1 proto kernel scope link src 192.168.0.1
local 11.11.11.78 dev eth2 proto kernel scope host src 11.11.11.78
local 11.11.11.79 dev eth0 proto kernel scope host src 11.11.11.79
broadcast 11.11.11.255 dev eth0 proto kernel scope link src 11.11.11.79
broadcast 11.11.11.255 dev eth2 proto kernel scope link src 11.11.11.78
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1ip route show table main
192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.1
11.11.11.0/24 dev eth2 scope link src 11.11.11.78
169.254.0.0/16 dev eth2 scope link
default via 11.11.11.1 dev eth2ip route show table default - тут пусто
>Вы не прочитали ни одной статьи из найденных, а если прочитали,
>то не поняли. Правила должны иметь приоритет.Приоритет расставляется автоматически, на сколько я понял и вижу.
Если бы я видел, что не так, я - бы не обратился в этот форум с вопросом.
З.Ы.: Задача, которая стоит передо мной - сделать маршрутизацию по нужному каналу в зависимости от адреса назначение, порта назначение, адреса источника и т.д., но это все делается, насколько я понимаю, через -j MARK --set-mark 0x2
>
>>
>>Извините, интерфейсов у вас один должен быть.
>
>Физический интерфейс должен быть один? Сделать алиас?Нууу, как-то не вполне корректно то, что несколько интерфейсов с одинаковыми масками в одну сеть. Оно как бы не сильно вредит, AFAIK, но по сути где-то маска должна быть /32.
>
>
>$IPT -t mangle -A PREROUTING -d 62.148.237.132 -j MARK --set-mark 0x2
>$IPT -t mangle -A PREROUTING -s 192.168.0.95 -d ! 192.168.0.0/24 -j MARK
>--set-mark 2Можно конечно и маркерами, а можно и через
ip ru add pref XXX to 62.148.237.132 lookup <table>
ip ru add pref XXX from 192.168.0.95 lookup <table>Это всё зависит от количества требуемых правил и личных вкусовых пристрастий.
>ip route show table lim
>192.168.0.0/24 dev eth1 scope link
>88.86.206.0/24 dev eth0 scope link src 88.86.206.79
>127.0.0.0/8 dev lo scope link
>(Вот как раз в этой таблице и отсутствует дефаултовый шлюз)Но вы же его выставляли командой
$IPT route add default via $GW_INSIS dev $IF_INSIS table lim
и куда же он делся ? Поправьте команду.
>
>Приоритет расставляется автоматически, на сколько я понял и вижу.А вас всегда устраивает то, что за вас делает автоматика ?
>
>Если бы я видел, что не так, я - бы не обратился
>в этот форум с вопросом.
>
>З.Ы.: Задача, которая стоит передо мной - сделать маршрутизацию по нужному каналу
>в зависимости от адреса назначение, порта назначение, адреса источника и т.д.,
>но это все делается, насколько я понимаю, через -j MARK --set-mark
>0x2ну вообще надо бы завести несколько маркеров, по одному на канал, чтобы не зависеть от шлюза по умолчанию.
---
как-то по большому счету всё правильно.
>Можно конечно и маркерами, а можно и через
>ip ru add pref XXX to 62.148.237.132 lookup <table>
>ip ru add pref XXX from 192.168.0.95 lookup <table>
>
>Это всё зависит от количества требуемых правил и личных вкусовых пристрастий.За это - спасибо. ) Так и сделаю.
>[оверквотинг удален]
>>192.168.0.0/24 dev eth1 scope link
>>88.86.206.0/24 dev eth0 scope link src 88.86.206.79
>>127.0.0.0/8 dev lo scope link
>>(Вот как раз в этой таблице и отсутствует дефаултовый шлюз)
>
>Но вы же его выставляли командой
>
>$IPT route add default via $GW_INSIS dev $IF_INSIS table lim
>
>и куда же он делся ? Поправьте команду.В том - то и дело, что он просто не хочет выставляться. Причину найти не могу. Когда пробовал разные варианты (крутил конфиги) он периодически выставлялся то в одной таблице, то в другой. Но ни разу не было, чтобы дефалтовый маршрут стоял в обоих таблицах.
>>Приоритет расставляется автоматически, на сколько я понял и вижу.
>
>А вас всегда устраивает то, что за вас делает автоматика ?Тоже поправлю) Но мне кажется, чтобы запуститься - это не критично.
>[оверквотинг удален]
>>Если бы я видел, что не так, я - бы не обратился
>>в этот форум с вопросом.
>>
>>З.Ы.: Задача, которая стоит передо мной - сделать маршрутизацию по нужному каналу
>>в зависимости от адреса назначение, порта назначение, адреса источника и т.д.,
>>но это все делается, насколько я понимаю, через -j MARK --set-mark
>>0x2
>
>ну вообще надо бы завести несколько маркеров, по одному на канал,
>чтобы не зависеть от шлюза по умолчанию.Это тоже хороших совет. Я вообще хотел в майне убрать шлюз по умолчанию. Так, на всякий пожарный, чтобы точно знать, что куда идет.
>как-то по большому счету всё правильно.
Вот и у меня эта схема работает, если провайдера - ДВА. и шлюза тоже два. Но вот на один шлюз это все как - то спотыкается...
>[оверквотинг удален]
>>
>>$IPT route add default via $GW_INSIS dev $IF_INSIS table lim
>>
>>и куда же он делся ? Поправьте команду.
>
>В том - то и дело, что он просто не хочет выставляться.
>Причину найти не могу. Когда пробовал разные варианты (крутил конфиги) он
>периодически выставлялся то в одной таблице, то в другой. Но ни
>разу не было, чтобы дефалтовый маршрут стоял в обоих таблицах.
>дефолтный шлюз в каждой таблице - это норма. То, что не выставляется - не норма.
Проверяйте команды добавления и интерфейсы, используемые в них на момент выполнения команды.
>>ну вообще надо бы завести несколько маркеров, по одному на канал,
>>чтобы не зависеть от шлюза по умолчанию.
>
>Это тоже хороших совет. Я вообще хотел в майне убрать шлюз по
>умолчанию. Так, на всякий пожарный, чтобы точно знать, что куда идет.
>а сам хост как ходить в инет будет ?