Jump to content

Recommended Posts

Posted

Задача:

 

Дано 3 сетевых адаптера

 

eth0 - смотрит в Internet, имеет ip адрес 10.10.10.1 и является NAT-ом для клиентов сети 192.168.1.0/24, ip адрес 10.10.10.2 является шлюзом по умолчанию.

 

eth1 - 192.168.0.1 255.255.255.252, через данный интерфейс роутится сеть 192.168.1.0/24

eth2 - 192.168.0.5 255.255.255.252, тоже через данный интерфейс роутится сеть 192.168.1.0/24

 

хочется чтобы трафик клиентов возвращался через тот же сетевой интерфейс, что и пришел.

 

т е например запрос клиента 192.168.1.10 пришел на интерфейс eth1 "занатился", добежал до однокласники.ru и вернулся в NAT, далее ушел обратно в eth1.

 

LARTC , в части главы 4 читал, но там несколько иная ситуация, у меня сеть на интерфейсе eth1 и eth2 одна и та же.

 

Чувствую, что решение на поверхности, но понять не могу. Прошу помощи. Заранее спасибо, что уделили мне свое время.

Posted

Зачем здесь iproute? Трафик от 192.168.1.10 однозначно уйдёт через eth1, поскольку маршрут на этот адрес один-единственный. Маршрутизация по какому-то критерию нужна, если выбор маршрута неоднозначен, у Вас всё должно работать и без этого.

Posted (edited)

Что-то типо такого:

 

# route

ip rule add fwmark 3 table table1

ip rule add fwmark 4 table table2

ip route add default via 192.168.0.1 table table1

ip route add default via 192.168.0.5 table table2

 

#

$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.1/32 -o eth2 -j MARK --set-mark 3

$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.5/32 -o eth1 -j MARK --set-mark 4

 

??

Edited by V1talya
Posted
Что-то типо такого:

 

# route

ip rule add fwmark 3 table table1

ip rule add fwmark 4 table table2

ip route add default via 192.168.0.1 table table1

ip route add default via 192.168.0.5 table table2

 

#

$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.1/32 -o eth2 -j MARK --set-mark 3

$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.5/32 -o eth1 -j MARK --set-mark 4

 

??

Спасибо уважаемый, совсем забыл про то, что любой трафик через iptables пометить можно.

Posted
$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.1/32 -o eth2 -j MARK --set-mark 3

$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.5/32 -o eth1 -j MARK --set-mark 4

Трафика с 0.1 и 0.5 быть не должно, поскольку эти адреса висят на интерфейсах роутера.

Лично я не вижу очевидного способа реализовать сабж. Возможно, поможет conntrack в iptables, но я с ним слабо знаком, с уверенностью говорить не могу.

А зачем вообще отправлять через тот же интерфейс, что и получено?

 

Posted
А зачем вообще отправлять через тот же интерфейс, что и получено?

интерфейсы имеют различные физические характеристики (скорость).

Posted (edited)
$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.1/32 -o eth2 -j MARK --set-mark 3

$IPT -t mangle -A OUTPUT -p ALL -s 192.168.0.5/32 -o eth1 -j MARK --set-mark 4

Трафика с 0.1 и 0.5 быть не должно, поскольку эти адреса висят на интерфейсах роутера.

Лично я не вижу очевидного способа реализовать сабж. Возможно, поможет conntrack в iptables, но я с ним слабо знаком, с уверенностью говорить не могу.

А зачем вообще отправлять через тот же интерфейс, что и получено?

Вообще у меня "похожая" схема работает... и нормально :)

( не учел нат, у меня при подкл. к данному серверу такая схема работает )

 

.
Расскажешь потом как сделал. Edited by V1talya
Posted

Я такое делал. Как-то так:

 

iptables -t mangle -A PREROUTING -i eth0 -m connmark --mark 1 -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i eth0 -m connmark --mark 2 -j CONNMARK --restore-mark

iptables -t mangle -A PREROUTING -i eth1 -j MARK --set-xmark 1
iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-xmark 2


ip rule add fwmark 1 table to_eth1 prio 100
ip rule add fwmark 2 table to_eth2 prio 100

ip route add 192.168.1.0/24 via 192.168.0.2 table to_eth1
ip route add 192.168.1.0/24 via 192.168.0.6 table to_eth2

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.