URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92299
[ Назад ]

Исходное сообщение
"iptables, замудренная маршрутизация"

Отправлено imonkey , 20-Сен-11 22:10 
Здравствуйте, прошу помочь мне в одной хитрой маршрутизации.
eth0 - интерфейс смотрящий в интернет
eth1 - интерфейс смотрящий в локалку с сетью 192.168.2.0/24
Нужно сделать так чтобы пакеты от хоста шли через сервер напрямую как обычно, а в обратном направлении по пути eth0 --> loopback --> eth1, то есть нужно весь трафик заворачивать на loopback.
использую iptables и iproute2
Решил делать финт ушами и вести трафик так - пакеты приходящие из внешки (например от 8.8.8.8) с адресом назначения хоста в локалке при входе в eth0 шлется на loopback

ip rule add from 8.8.8.8 to 192.168.2.77 table 100
ip route add default via 127.0.0.1 dev lo table 100

и после маркируется с помощью iptables

iptables -t mangle -A PREROUTING -i lo -s 8.8.8.8 -d 192.168.2.77 -j MARK --set-mark 77

и далее с помощью iproute2 пакет маршрутизируется на eth1

ip rule add from 8.8.8.8 to 192.168.2.77 fwmark 77 table 101
ip route add default via 192.168.2.1 dev eth1 table 101

и тут возникает проблема, весь трафик когда идет обратно начинает петлять в loopback-е не выходя из него, мне кажеться это из таблицы правил 100, ибо просто доходит до него и опять посылается на loopback, а на привило маршрутизации маркированных пакетов не доходит дело.
я и правила с маршрутизацией маркированных пакетов убирал, и приоритет это маршрутизации делал выше все бестолку, пакеты убиваются об стенку на loopback-е пока ttl не истечет.
подскажите пожалуйста как правильно будет сделать или куда копать.
заранее премного благодарен


Содержание

Сообщения в этом обсуждении
"iptables, замудренная маршрутизация"
Отправлено Aquarius , 20-Сен-11 23:43 
>[оверквотинг удален]
> ip route add default via 192.168.2.1 dev eth1 table 101
> и тут возникает проблема, весь трафик когда идет обратно начинает петлять в
> loopback-е не выходя из него, мне кажеться это из таблицы правил
> 100, ибо просто доходит до него и опять посылается на loopback,
> а на привило маршрутизации маркированных пакетов не доходит дело.
> я и правила с маршрутизацией маркированных пакетов убирал, и приоритет это маршрутизации
> делал выше все бестолку, пакеты убиваются об стенку на loopback-е пока
> ttl не истечет.
> подскажите пожалуйста как правильно будет сделать или куда копать.
> заранее премного благодарен

всего один вопрос, но без него вся дальнейшая дискуссия бессмысленна:
для чего?


"iptables, замудренная маршрутизация"
Отправлено imonkey , 21-Сен-11 09:30 
> всего один вопрос, но без него вся дальнейшая дискуссия бессмысленна:
> для чего?

для динамического шейпинга, в локалке сидят клиенты которые заходят через pppoe, для шейпера я использую htb, исходящий траф шейпится на eth0, а входящий динамически средставами htb я не представляю как сделать, ибо каждый рутовый клас из которого и будет динамически распределяться скорость между клиентами вешаеться на интерфейс, а таких интерфесов много (ppp+), поэтому нужно весь входящий трафик в один поток пустить чтобы htb сам динамически скорость шейпил


"iptables, замудренная маршрутизация"
Отправлено Moomintroll , 22-Сен-11 14:02 
> для динамического шейпинга, в локалке сидят клиенты которые заходят через pppoe, для
> шейпера я использую htb, исходящий траф шейпится на eth0, а входящий
> динамически средставами htb я не представляю как сделать, ибо каждый рутовый
> клас из которого и будет динамически распределяться скорость между клиентами вешаеться
> на интерфейс, а таких интерфесов много (ppp+), поэтому нужно весь входящий
> трафик в один поток пустить чтобы htb сам динамически скорость шейпил

Думаю, гораздо проще навесить скрипты ip-up и ip-down для pppd, в которых и создавать/уничтожать классы шейпера при подключении/отключении клиента.


"iptables, замудренная маршрутизация"
Отправлено reader , 21-Сен-11 17:50 
> Здравствуйте, прошу помочь мне в одной хитрой маршрутизации.
> eth0 - интерфейс смотрящий в интернет
> eth1 - интерфейс смотрящий в локалку с сетью 192.168.2.0/24
> Нужно сделать так чтобы пакеты от хоста шли через сервер напрямую как
> обычно, а в обратном направлении по пути eth0 --> loopback -->
> eth1, то есть нужно весь трафик заворачивать на loopback.
> использую iptables и iproute2
> Решил делать финт ушами и вести трафик так - пакеты приходящие из
> внешки (например от 8.8.8.8) с адресом назначения хоста в локалке при
> входе в eth0 шлется на loopback

а если маркировать на eth0? будет ли сохраняться маркировка после ухода через lo
>[оверквотинг удален]
> ip route add default via 192.168.2.1 dev eth1 table 101
> и тут возникает проблема, весь трафик когда идет обратно начинает петлять в
> loopback-е не выходя из него, мне кажеться это из таблицы правил
> 100, ибо просто доходит до него и опять посылается на loopback,
> а на привило маршрутизации маркированных пакетов не доходит дело.
> я и правила с маршрутизацией маркированных пакетов убирал, и приоритет это маршрутизации
> делал выше все бестолку, пакеты убиваются об стенку на loopback-е пока
> ttl не истечет.
> подскажите пожалуйста как правильно будет сделать или куда копать.
> заранее премного благодарен