|
| [FreeBSD] Begrænse upload med dummynet Fra : Lars Stokholm |
Dato : 16-08-06 00:31 |
|
Jeg vil gerne begrænse upload på min FreeBSD server med dummynet,
til 20kB/s. Handler det bare om at køre disse to kommandoer?
# ipfw pipe 1 config bw 20KByte/s
# ipfw add 1 pipe 1 ip from 10.0.0.10 to any
Hvis ikke, så er det altså for langhåret for mig, og så må jeg
ha' noget hjælp.
| |
Lars Stokholm (16-08-2006)
| Kommentar Fra : Lars Stokholm |
Dato : 16-08-06 10:14 |
|
On 2006-08-15, Lars Stokholm <this@is.invalid> wrote:
> Jeg vil gerne begrænse upload på min FreeBSD server med dummynet,
> til 20kB/s. Handler det bare om at køre disse to kommandoer?
>
> # ipfw pipe 1 config bw 20KByte/s
> # ipfw add 1 pipe 1 ip from 10.0.0.10 to any
>
> Hvis ikke, så er det altså for langhåret for mig, og så må jeg
> ha' noget hjælp.
Efter lidt startvanskeligheder (jeg ved ikke hvad der skete),
så tror jeg nu det virker. Hvordan ser det her ud(?):
# ipfw list
00001 pipe 1 ip from 10.0.0.10 to any
01000 allow ip from any to any
65535 deny ip from any to any
# ipfw pipe list
00001: 40.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 10.0.0.10/22 10.0.0.2/45528 19246 3096235 16 12736 73
Men jeg vil ikke have at trafikken i lokalnetværket skal pipes.
Hvordan undgår jeg det? Skal det så være noget i stil med(?):
00001 allow ip from 10.0.0.10 to 10.0.0/XX
00002 pipe 1 ip from 10.0.0.10 to any
01000 allow ip from any to any
65535 deny ip from any to any
....og hvad skal XX være? Det skal vel inkludere alle IPer fra
10.0.0.0 til 10.0.0.255.
| |
Christian Laursen (16-08-2006)
| Kommentar Fra : Christian Laursen |
Dato : 16-08-06 12:55 |
|
Lars Stokholm <this@is.invalid> writes:
> Efter lidt startvanskeligheder (jeg ved ikke hvad der skete),
> så tror jeg nu det virker. Hvordan ser det her ud(?):
>
> # ipfw list
> 00001 pipe 1 ip from 10.0.0.10 to any
> 01000 allow ip from any to any
> 65535 deny ip from any to any
>
> # ipfw pipe list
> 00001: 40.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
> mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
> BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
> 0 tcp 10.0.0.10/22 10.0.0.2/45528 19246 3096235 16 12736 73
Det ser umiddelbart fint ud.
> Men jeg vil ikke have at trafikken i lokalnetværket skal pipes.
> Hvordan undgår jeg det? Skal det så være noget i stil med(?):
>
> 00001 allow ip from 10.0.0.10 to 10.0.0/XX
> 00002 pipe 1 ip from 10.0.0.10 to any
> 01000 allow ip from any to any
> 65535 deny ip from any to any
>
> ...og hvad skal XX være? Det skal vel inkludere alle IPer fra
> 10.0.0.0 til 10.0.0.255.
allow ip from 10.0.0.10 to 10.0.0.0/24
Er det i øvrigt på maskinen som skal begrænses, du har disse regler?
I givet fald kan du nok nøjes med en enkelt:
pipe 1 ip from me to not 10.0.0.0/24
--
Christian Laursen
| |
Lars Stokholm (16-08-2006)
| Kommentar Fra : Lars Stokholm |
Dato : 16-08-06 15:17 |
|
On 2006-08-16, Christian Laursen <xi@borderworlds.dk> wrote:
> Er det i øvrigt på maskinen som skal begrænses, du har disse regler?
>
> I givet fald kan du nok nøjes med en enkelt:
> pipe 1 ip from me to not 10.0.0.0/24
Det er det. Tak en masse. ;) Nu virker det som det skal.
| |
Lars Stokholm (16-08-2006)
| Kommentar Fra : Lars Stokholm |
Dato : 16-08-06 15:54 |
|
On 2006-08-16, Lars Stokholm <this@is.invalid> wrote:
> Det er det. Tak en masse. ;) Nu virker det som det skal.
Well, næsten.
# cat /etc/ipfw.rules
ipfw -q -f flush
ipfw -q pipe 1 config bw 15KByte/s
add="ipfw -q add"
$add 00001 pipe 1 ip from me to not 10.0.0.0/24
$add 01000 allow ip from any to any
Når jeg fra samme LAN går ind på webserveren der kører på maskinen,
ved brug af WAN IPen, så bliver det jo "from me to WAN_IP" og WAN_IP
er som bekendt ligeså godt som "not 10.0.0.0/24", så forbindelsen
pipes og det skal den ikke.
Derfor ville jeg bruge:
$add 00001 pipe 1 ip from me to ( not WAN_IP and not 10.0.0.0/24 )
Men den brokker sig naturligvis over paranteserne. Og escaper jeg
dem, ja så brokker den sig også:
$add 00001 pipe 1 ip from me to \( not WAN_IP and not 10.0.0.0/24 \)
Hvad skal der stå? Jeg kan ikke engang se hvordan jeg skulle kunne
dele den op i to linjer, men det er sikkert bare mig.
| |
Christian Laursen (16-08-2006)
| Kommentar Fra : Christian Laursen |
Dato : 16-08-06 18:21 |
|
Lars Stokholm <this@is.invalid> writes:
> Derfor ville jeg bruge:
>
> $add 00001 pipe 1 ip from me to ( not WAN_IP and not 10.0.0.0/24 )
Prøv med:
$add 00001 pipe 1 ip from me to not {WAN_IP, 10.0.0.0/24}
--
Christian Laursen
| |
Lars Stokholm (16-08-2006)
| Kommentar Fra : Lars Stokholm |
Dato : 16-08-06 18:54 |
|
On 2006-08-16, Christian Laursen <xi@borderworlds.dk> wrote:
>> Derfor ville jeg bruge:
>>
>> $add 00001 pipe 1 ip from me to ( not WAN_IP and not 10.0.0.0/24 )
>
> Prøv med:
>
> $add 00001 pipe 1 ip from me to not {WAN_IP, 10.0.0.0/24}
Så siger den:
ipfw: hostname ``'' unknown
| |
Lars Stokholm (16-08-2006)
| Kommentar Fra : Lars Stokholm |
Dato : 16-08-06 20:23 |
|
On 2006-08-16, Lars Stokholm <this@is.invalid> wrote:
>> $add 00001 pipe 1 ip from me to not {WAN_IP, 10.0.0.0/24}
>
> Så siger den:
>
> ipfw: hostname ``'' unknown
Sådan:
$add 00001 pipe 1 ip from me to not WAN_IP,10.0.0.0/24
| |
|
|