LINUX.ORG.RU
ФорумAdmin

Управление ipp2p трафиком


0

0

Подскажите пожалуйста. Таким образом я хочу пометить торрент трафик и отвести его через другой канал

iptables -F PREROUTING -t mangle
iptables -A PREROUTING -t mangle -p tcp -j CONNMARK --restore-mark
iptables -A PREROUTING -t mangle -m ipp2p --bit -j MARK --set-mark 181
iptables -A PREROUTING -t mangle -p tcp -m mark --mark 181 -j CONNMARK --save-mark

ip rule add fwmark 181 table 181

iptables -t mangle -L -nv - показывает что трафик попадает под эти правила.

Но отвода нет.

Пользовался этим описанием http://www.ipp2p.org/docu_en.html

Спасибо

Я бы это в FORWARD делал... ну ладно.

ip route add default via куда_там_его_отвести_ip table 181
не забыл?

nnz ★★★★
()
Ответ на: комментарий от palladium

--restore-mark копирует маркировку соединения в маркировку пакета
--save-mark копирует маркировку пакета в маркировку соединения

Я уже запутался с этими маркировками...

Этим правилом я начинаю маркировать трафик. Оно только задает толчок, а дальше уже эту метку продолжает второе правило?
iptables -A PREROUTING -t mangle -m ipp2p --bit -j MARK --set-mark 181

181-й меткой я маркирую трафик этого соединения.
iptables -A PREROUTING -t mangle -p tcp -m mark --mark 181 -j CONNMARK --save-mark

Т.е получается мне и не надо --restore-mark?

palladium
() автор топика
Ответ на: комментарий от palladium

На самом деле можно все проще сделать.

Сначала

# Установка маркировки соединений
iptables -t mangle -A PREROUTING -m ipp2p --bit -j CONNMARK --set-mark 181
# Копирование маркировки соединений в маркировку пакетов
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
Без последней строчки ничего работать не будет, т.к. iproute2 работает с маркировкой пакетов, а не соединений.

Что касается сабжевой проблемы — расскажи подробной, что нужно сделать и что именно не работает.

nnz ★★★★
()
Ответ на: комментарий от nnz

Есть 2 канала, один 100 мегабит, второй 50 мегабит. 100 мегабитный канал стоит у пользователей шлюзом, на 50 мегабитный настроен прокси. Хочется чтоб торрент не загаживал 100 мбитный канал, а отводился на 50 мегабитный и там что хотел то и делал.

Сейчас я извращаюсь маркировкой и отводом на 50-ми мегабитный канал трафика, у которого порт назначения больше 30000. Естественно появляется куча граблей. Хотелось все сделать более красиво.

А чем отличается маркировка соединения от маркировки пакетов?

palladium
() автор топика
Ответ на: комментарий от palladium

Почему я думаю что не работает? Потому что не вижу торрент-трафика на 50-ти мегабитном канале, только прокси.

palladium
() автор топика
Ответ на: комментарий от palladium

>А чем отличается маркировка соединения от маркировки пакетов?

http://www.linux.org.ru/jump-message.jsp?msgid=4292798&cid=4292887

Сейчас я извращаюсь маркировкой и отводом на 50-ми мегабитный канал трафика, у которого порт назначения больше 30000. Естественно появляется куча граблей.

А оно работает? Как конкретно делаешь?

По идее все, что маркируется меткой 181, должно идти через другой шлюз.

Попробуй сделать iptables -A FORWARD -m mark --mark 181 и посмотреть на счетчик этого правила.

А вообще, наверное, давай сюда весь вывод iptables-save, ip ru sh и ip ro sh table 181.

nnz ★★★★
()
Ответ на: комментарий от nnz

iptables -t mangle -L -nv

Chain PREROUTING (policy ACCEPT 15M packets, 9140M bytes)

pkts bytes target prot opt in out source destination
183K 35M CONNMARK all  — * * 0.0.0.0/0 0.0.0.0/0 ipp2p --bit CONNMARK set 0xb5
15M 9140M CONNMARK all  — * * 0.0.0.0/0 0.0.0.0/0 CONNMARK restore

Chain INPUT (policy ACCEPT 72247 packets, 9881K bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 15M packets, 9130M bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 142K packets, 27M bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 15M packets, 9122M bytes)
pkts bytes target prot opt in out source destination

ip ru l
0: from all lookup local
32641: from all fwmark 0xb5 lookup 181


ip r l table 181
default via 192.168.100.181 dev eth0

Вижу маркированный трафик. cat /proc/net/ip_conntrack |grep mark=181

palladium
() автор топика
Ответ на: комментарий от nnz

Попробуй сделать iptables -A FORWARD -m mark --mark 181 и посмотреть на счетчик этого правила.

За минуту набежало мегабайта 2

palladium
() автор топика
Ответ на: комментарий от nnz

Это изврат с портами, но он сразу работает, мгновенно.

iptables -t mangle -I PREROUTING -i eth1 -p tcp -m multiport --dports 30000:65535 -j MARK --set-mark 181
iptables -t mangle -I PREROUTING -i eth1 -p udp -m multiport --dports 30000:65535 -j MARK --set-mark 181

palladium
() автор топика
Ответ на: комментарий от palladium

Есть подозрение, что ipp2p определяет далеко не первый пакет в соединении, и менять гейт для уже установленного коннекта система не хочет.

Чтобы проверить эту гипотезу, сделай iptables -A FORWARD -m mark --mark 181 -m conntrack --ctstate NEW и смотри на счетчик.

nnz ★★★★
()
Ответ на: комментарий от nnz

1198K за полторы минуты(канал сейчас загружен на 80 мегабит). Может нужно указать -i eth1? Не запутается ли ядро и не будет ли откидывать трафик идущий к пользователю?

palladium
() автор топика
Ответ на: комментарий от palladium

>-m multiport --dports 30000:65535

Кстати, емнип, здесь и без multiport можно.

nnz ★★★★
()
Ответ на: комментарий от palladium

>Может нужно указать -i eth1? Не запутается ли ядро и не будет ли откидывать трафик идущий к пользователю?

Скорее наоборот, распутается. Возможно, возвращающийся к пользователю снаружи трафик оно тоже маркировало и бросало на другой шлюз. Что-то я туплю сегодня с утра.

nnz ★★★★
()
Ответ на: комментарий от nnz

Та то я туплю, вроде что-то пошло после указания интерфейса.

p.s nnz, спасибо, за советы, я понаблюдаю и отпишусь. p.p.s nnz, если я не ошибаюсь http://ru.wikipedia.org/wiki/Iptables это твоя работа, если да, то большое спасибо тебе, продолжай дополнять, лично я каждый день смотрю не добавилось что там нового.

palladium
() автор топика
Ответ на: комментарий от palladium

>nnz, если я не ошибаюсь http://ru.wikipedia.org/wiki/Iptables это твоя работа, если да, то большое спасибо тебе, продолжай дополнять, лично я каждый день смотрю не добавилось что там нового.

Да, моя. Только в последний месяц времени все нет.
Надеюсь, со следующей недели оно появится :)

nnz ★★★★
()
Ответ на: комментарий от palladium

Монитою, вижу что часть трафика маркируется и идет по назначению, а друга или не попадает под эти метки или хиф его, но идет по умолчанию. Торрент перестал работать...

palladium
() автор топика
Ответ на: комментарий от palladium

Да, ipp2p не дает 100% гарантии. Как и другие аналогичные методы.

Торрент перестал работать...


sysctl net.ipv4.conf.all.rp_filter=0

nnz ★★★★
()
Ответ на: комментарий от palladium

>В том то и дело что 0 и стоял.

Тогда не знаю. Смотри tcpdump'ом, где затык.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.