iptables, трафик

Доброго времени суток. такая вот задача...Есть два шлюза в пределах одной подсети. Нужно на роутере с iptables сделать перенаправление всего трафика на 80 порт через один шлюз, а всего остального - через другой.iptables v1.3.7. Подскажите, возможно ли такое, и если да, то как ?

Настраиваете на

Настраиваете на роутере(192.168.0.3) основным второй шлюз (192.168.0.2) - чтоб все пакеты по умолчанию туда слал.
А уже через iptables перенаправляете 80 порт на первый(192.168.0.1).

Если я ничего не напутал, то выглядеть это должно как-то так:

/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.0.1:80
/sbin/iptables -A FORWARD -p tcp -i eth0 -d 192.168.0.1 --dport 80 -j ACCEPT

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Если я правильно понял

Если я правильно понял задачу, DNAT здесь не поможет. Он нужен, если есть необходимость пропустить траффик на хост, у которого нет реального адреса, или если нужно отправить запросы к любому хосту на какой-то другой хост.

Нужно делать через iproute2.

Например:

Ваш локальный интерфейс: eth0
Ваш default route: 192.168.0.2
Ваш gateway для траффика на 80-й порт: 192.168.0.1

1. Отмаркировать весь траффик на 80 порт значением 0x55.

#iptables -t mangle -A PREROUTING -p tcp -i eth0 --dport 80 -j MARK --set-mark 0x55

2. Сделать альтернативную таблицу маршрутов (делается ОДИН РАЗ)

#echo "200 http" >> /etc/iproute2/rt_tables

3. Добавить маршрут по умолчанию в эту таблицу

#ip route add default via 192.168.0.1 table http

4. Добавить правило, отправляющее отмаркированный http траффик через альтернативную таблицу

#ip rule add fwmark 0x55 table http
#ip route flush cache

Все.

3 пункт не могу выполнить.

192.168.32.1 - роутер
192.168.3.2 - шлюз для общего трафика
192.168.3.1 - шлюз для интернет трафика

>ip route add default via 192.168.3.1 table http
RTNETLINK answers: File exists
>ip -V
ip utility, iproute2-ss060323
>cat /etc/iproute2/rt_tables
#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# user specifed 
#
200 http
>ip route list
213.186.118.7 via 192.168.3.2 dev vlan1  metric 5 
213.186.118.7 via 192.168.3.1 dev vlan1  metric 6 
192.168.3.0/24 dev vlan1  proto kernel  scope link  src 192.168.3.108 
192.168.32.0/24 dev br0  proto kernel  scope link  src 192.168.32.1 
194.44.186.0/24 via 192.168.3.2 dev vlan1 
194.143.148.0/23 via 192.168.3.2 dev vlan1 
91.193.172.0/22 via 192.168.3.2 dev vlan1 
193.138.144.0/22 via 192.168.3.2 dev vlan1 
93.95.184.0/21 via 192.168.3.2 dev vlan1 
109.86.0.0/15 via 192.168.3.2 dev vlan1 
10.0.0.0/8 via 192.168.3.2 dev vlan1 
127.0.0.0/8 dev lo  scope link 
default via 192.168.3.2 dev vlan1

Предыдущие пункты выполнены успешно, правда пришлось создать /etc/iproute2/rt_tables и записать туда:

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# user specifed 
#

-j ROUTE ?

-j ROUTE ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

-j ROUTE ? Это что

Цитата:
-j ROUTE ?

Это что такое?

root@gw:~/# eix -e iptables
[I] net-firewall/iptables
     Available versions:  1.4.3.2 1.4.6 ~1.4.7 ~1.4.8-r1 {ipv6}
     Installed versions:  1.4.6(16:26:40 08/09/10)(-ipv6)
     Homepage:            http://www.iptables.org/
     Description:         Linux kernel (2.4+) firewall, NAT and packet mangling tools
root@gw:~/# man iptables | grep ROUTE
root@gw:~/#

Сколько лет уже работаю с iptables, такого таргета не видал.

Сколько лет уже работаю с

Сколько лет уже работаю с iptables, такого таргета не видал.

Сколько ? :) все познается в сравнении, если чего то нет, то это не значит, что его не существует :)
ROUTE таргет

iptables -A PREROUTING -t mangle -i eth0 -p tcp --dport 22 -j ROUTE --oif tunl1
http://iptables.org/projects/patch-o-matic/pom-external.html#pom-external-ROUTE

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Цитата: Сколько ? Как

Цитата:
Сколько ?

Как только переехал с ядра 2.2 на 2.4 так и начал. Сколько лет назад это было? До этого пользовался ipchains, а еще раньше - ipfwadm. Т.е. - давно пользуюсь, очень давно.

Если речь идет о patch-o-matic, то я бы не стал им пользоваться, ибо есть прекрасный и давно проверенный официальный source-routing и полный набор утилит к нему.

PS.
Гуглом пользоваться умею. Тоже очень давно. Мой вопрос был риторическим - с помощью него я всего лишь указал на то, что без дополнений или патчей указанного вами таргета в iptables не существует.
Зачем так отвечать на вопрос? Уж если и упомянуто какое-то полу(не)официальное дополнение к iptables, то надо об этом хотя бы намекнуть. Я понимаю, что "китайская модель" и все такое, но мне кажется, что если есть желание помочь человеку - помогите, а нет - так лучше не надо. Прошу прощения за оффтоп, больше не повторится.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".