Iptables

Автор: god1986 Дата: 04.11.2008 08:45 Вот эта штука предназначеня для ограничения канала по скорости:
#!/bin/bash

/sbin/tc qdisc del dev eth1 root
##iptables -t mangle -F
##iptables -t mangle -X

CEIL=256
CEIL2=512

/sbin/tc qdisc add dev eth1 root handle 1: htb default 15
/sbin/tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
/sbin/tc class add dev eth1 parent 1:1 classid 1:10 htb rate 100mbit ceil 100mbit prio 0
/sbin/tc class add dev eth1 parent 1:1 classid 1:11 htb rate 100mbit ceil ${CEIL2}kbit prio 2
/sbin/tc class add dev eth1 parent 1:1 classid 1:12 htb rate 100mbit ceil ${CEIL}kbit prio 2
/sbin/tc class add dev eth1 parent 1:1 classid 1:13 htb rate 100mbit ceil 100mbit prio 1

/sbin/tc qdisc add dev eth1 parent 1:10 handle 100: esfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:11 handle 110: esfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:12 handle 120: esfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:13 handle 130: esfq perturb 10


/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 2 fw classid 1:10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle 3 fw classid 1:11
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle 4 fw classid 1:12
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 5 fw classid 1:13


for ip in `cat shp.cnf` ; do
/sbin/iptables -t mangle -D POSTROUTING -s $ip -d 192.168.10.0/24 -j MARK --set-mark 0x1
done

#/sbin/iptables -t mangle -A POSTROUTING -s 172.24.2.75 -d 192.168.10.88 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.88 -j MARK --set-mark 0x5
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.88 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.42 -j MARK --set-mark 0x4
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.44 -j MARK --set-mark 0x4
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.3 -j MARK --set-mark 0x4
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.56 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.59 -j MARK --set-mark 0x3
#/sbin/iptables -t mangle -D POSTROUTING -s 0/0 -d 192.168.10.23 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.96 -j MARK --set-mark 0x4

На ASP 11 все работало нормально. Поставил ASP 12, при запуске стало выдавать:
iptables: target 'MARK' v1.3.8 (I'm v1.3.5).
Что это значит? И что делать? Читал ман,но не чего не понял.
Обьясните плиз для чайника.
Re: Iptables 06.11.2008 15:30anti Обнови iptables.

yum update iptables
Re: Iptables 11.11.2008 07:17god1986 А мне кажеться его наобород надо откатить назад. Или я не прав?
Re: Iptables 14.11.2008 18:32god1986 Товарищи обратите пожайлуста внимание на эту проблему!!!!
Re: Iptables 15.11.2008 17:11Shurik_by Одна из строк вызывает эту ошибку
MARK у меня работает и в iptables v1.2.11

Вставь после каждой строки:
echo 1
...
echo 2
и т.д

И узнаеш какая из строк виновата
Re: Iptables 16.11.2008 05:28god1986 Сделал как сказал.
На
/sbin/tc qdisc add dev eth1 parent 1:10 handle 100: esfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:11 handle 110: esfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:12 handle 120: esfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:13 handle 130: esfq perturb 10
он выдает:
Unknow qdisc "esfq",hence option "perturb" is unparsable

На
/sbin/iptables -t mangle -D POSTROUTING -s $ip -d 192.168.10.0/24 -j MARK --set-mark 0x1
done

#/sbin/iptables -t mangle -A POSTROUTING -s 172.24.2.75 -d 192.168.10.88 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.88 -j MARK --set-mark 0x5
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.88 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.42 -j MARK --set-mark 0x4
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.44 -j MARK --set-mark 0x4
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.3 -j MARK --set-mark 0x4
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.56 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.59 -j MARK --set-mark 0x3
#/sbin/iptables -t mangle -D POSTROUTING -s 0/0 -d 192.168.10.23 -j MARK --set-mark 0x3
/sbin/iptables -t mangle -A POSTROUTING -s 0/0 -d 192.168.10.96 -j MARK --set-mark 0x4

он выдает:
iptables: target 'MARK' v1.3.8 (I'm v1.3.5)
(на каждую строчку где только есть MARK)
Re: Iptables 16.11.2008 11:03Shurik_by Можно так ешо посмотреть:

/sbin/iptables -V

смотриш какая версия.

Потом открываеш в mc по F4 файл /lib/iptables/libipt_MARK.so
и поиском смотриш 1.3.5 потом 1.3.8.
(скорее всего модули и сам iptables по версии не совпадут)

А потом делаеш:

rpm -e iptables
yum update iptables or yum install iptables
Re: Iptables 20.11.2008 19:24Serg_cr0w По поводу tc: вместо esfq поставь sfq.
Re: Iptables 25.11.2008 14:30god1986 Напишите плиз правило, чтобы закрыть порт.
Re: Iptables 02.12.2008 08:12eem-kz http:\\www.iptables.ru\
Re: Iptables 02.12.2008 15:37god1986 О, спасибо. Все расписано прям как надо.
RSS-материал