adam napisał(a):
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.4 --dport www \
-m limit --limit 4/day --limit-burst 1 \
-j DNAT --to-destination 192.168.1.1:8000
Czyli musze najpierw
IPT -t nat -p tcp -A PREROUTING -s 192.168.1.3 --dport 80 -m limit --limit
1/hour --limit-burst 1 -j DNAT --to 192.168.1.1:8000
Żeby te reguły były na górze a dopiero później cała reszta dotycząca tego
usera
Możesz po prostu zamiast -A PREROUTING robić -I PREROUTING 1 - wtedy
zawsze regółka wpadnie na pierwsze miejsce w tablicy.
Ale myślę, że regółka jest poprawna, tylko z jakichś powodów pakiety
kolejne są gdzieś indziej odfiltrowywane.
Najlepiej sprawdź (jeżeli generujesz te regółki automatycznie), czy
faktycznie po pierwszym wyświetleniu warninga o niezapłaceniu
odpowiednie regóły są dalej w tabeli.
Poza tym dla każdego usera co to nie zapłacił musisz mieć oczywiście
osobną regółkę, żeby każdemu osobno liczył --limit.
Jak masz 3 co nie zapłaciło to musisz mieć regółki DNAT dla każdego z
ich IP.
$IPT -A INPUT -p udp -m mac --mac-source 00:0c:6e:1c:13:5e --dport 67
--sport 68 -j ACCEPT
$IPT -A FORWARD -m mac --mac-source 00:0c:6e:1c:13:5e -s 192.168.1.4 -j
ACCEPT
$IPT -A INPUT -m mac --mac-source 00:0c:6e:1c:13:5e -s 192.168.1.4 -p tcp -m
state --state NEW -m multiport --dport
20,21,25,53,80,110,137,138,139,8000,8080 -j ACCEPT
$IPT -A INPUT -m mac --mac-source 00:0c:6e:1c:13:5e -s 192.168.1.4 -p udp -m
state --state NEW -m multiport --dport 53,137,138,139 -j ACCEPT
A jeżeli idzie o te regóły to trafiają do innej tabeli więc ich
kolejność ma się nijak do tych z tabeli NAT.
--
Pozdrawiam
Romek Kalukiewicz