HTB pro ftp

Stanislav Mařík standa na doktor007.com
Pondělí Duben 24 19:52:32 CEST 2006


Dalibor Straka napsal(a):

> On Mon, Apr 24, 2006 at 03:47:28PM +0200, Stanislav Mařík wrote:
> 
>>Dobrý den,
>>snažím se rozchodit htb pro omezení uploadu (eth0-internet) z ftp 
>>serveru, ale nějak mě to nechce házet označené pakety do třídy 11, 
>>můžete mi poradit kde dělám chybu? Markování paketů je dle logu vpořádku.
>>
>>#!/bin/bash
>>tc=`which tc`
>>iptables=`which iptables`
>>$tc qdisc del dev eth0 root
>>$tc qdisc add dev eth0 root handle 1:0 htb default 12
>>$tc class add dev eth0 parent 1:0 classid 1:1 htb rate 512kbit
>>
>>$tc class add dev eth0 parent 1:1 classid 1:11 htb rate 128kbit
>>$tc class add dev eth0 parent 1:1 classid 1:12 htb rate 128kbit ceil 512kbit
>>
>>$tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 5
>>$tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 5
>>
>>$iptables -t mangle -F POSTROUTING
>>$iptables -t mangle -A POSTROUTING -p tcp -j MARK --set-mark 12
>>$iptables -t mangle -A POSTROUTING -p tcp --sport 20 -j MARK --set-mark 11
>>$iptables -t mangle -A POSTROUTING -p tcp --sport 21 -j MARK --set-mark 11
>>
> 
> 
> neznam zpameti vsechny defaultni hodnoty iptables, proto pro jistotu
> zkuste definovat explicitne "-o eth0" a take tim neosetrite pasivni ftp,
> kdy se klient pripojuje na server (pri datovem spojeni) mimo port 20
> viz:
> http://slacksite.com/other/ftp.html
> Jedna z moznosti je na ftp serveru vymezit rozsah portu pro passive ftp
> a ty pak drapnout necim takovymhle
> iptables -t mangle -p tcp --dport 20001:20010 -o eth0 -j MARK --set-mark 0x4
> iptables -t mangle -p tcp --dport 20001:20010 -o eth0 -j RETURN
> 
> Jinou moznosti je passive ftp zakazat.
> 
> Mozna na to existuje specielni modul :-) neco jako je ip_conntrack_ftp.
> 
> -- Dalibor Straka

Problém je, že se mi do třídy 11 nedostane nic. Zatím neřeším passivní ftp.
V logu mám:
Apr 24 18:45:16 localhost kernel: fwmark 11:IN= OUT=eth0 SRC=10.69.13.2 
DST=83.208.22.112 LEN=40 TOS=0x10 PREC=0x00 TTL=64 ID=54891 DF PROTO=TCP 
SPT=21 DPT=2042 WINDOW=5840 RES=0x00 ACK URGP=0
Apr 24 18:45:16 localhost kernel: fwmark 11:IN= OUT=eth0 SRC=10.69.13.2 
DST=83.208.22.112 LEN=74 TOS=0x10 PREC=0x00 TTL=64 ID=54893 DF PROTO=TCP 
SPT=21 DPT=2042 WINDOW=5840 RES=0x00 ACK PSH URGP=0
Apr 24 18:45:16 localhost kernel: fwmark 11:IN= OUT=eth0 SRC=10.69.13.2 
DST=83.208.22.112 LEN=74 TOS=0x10 PREC=0x00 TTL=64 ID=54893 DF PROTO=TCP 
SPT=21 DPT=2042 WINDOW=5840 RES=0x00 ACK PSH URGP=0

Markování odchozích paketů ze SPT=21 je v pořádku, ale do třídy 11 se mi 
to nedostane.


Další informace o konferenci Linux