Страница 1 из 1

IPFW + NAT + dummy net

Добавлено: 2014-02-25 8:38:36
qsm
Здраствуйте знатоки. Не могли бы вы помочь с рабочим конфигом для ipfw c честной резкой скорости между клиентами и ядерным натом.

Код: Выделить всё

8.2-RELEASE FreeBSD 8.2-RELEASE

Код: Выделить всё

/etc/sysctl.conf
net.inet.ip.forwarding=1
net.inet.ip.fw.one_pass=0

Код: Выделить всё

ipfw
#!/bin/sh
fw="/sbin/ipfw -q"
lann=192.168.0.0/24
wan=192.168.2.2
vpnint=ng0
wanint=rl0
lanint=alc0
${fw} -f flush
${fw} -f pipe flush
${fw} -f queue flush
${fw} -f nat flush
ipfw pipe 1 config bw 7000Kbit/s
ipfw pipe 2 config bw 700Kbits/s
/sbin/ipfw -q nat 2 config if $wanint reset same_ports \
redirect_port tcp 192.168.0.199:4899 4899 \
redirect_port tcp 192.168.0.201:80 21212 \
redirect_port tcp 192.168.0.201:34567 34567
${fw} queue 112 config weight 5 queue 50 pipe 2 gred 0.002/5/15/0.1 mask dst-ip 0xffffffff
${fw} queue 113 config weight 5 queue 50 pipe 1 gred 0.002/5/15/0.1 mask src-ip 0xffffffff
${fw} add 10102 queue 113 ip from $lann to any out xmit $wanint
/sbin/ipfw -q add 10400 nat 2 ip from $lann to any out xmit $wanint
/sbin/ipfw -q add 10500 nat 2 ip from any to $wan in recv $wanint

Код: Выделить всё

arbatinet# ipfw show
10102 1247473  106350128 queue 113 ip from 192.168.0.0/24 to any out xmit rl0
10400 1247473  106350128 nat 2 ip from 192.168.0.0/24 to any out xmit rl0
10450       0          0 queue 112 ip from 192.168.2.2 to 192.168.0.0/24 in recv rl0
10500 1628869 2010784661 nat 2 ip from any to 192.168.2.2 in recv rl0
65535 5788471 4238040697 allow ip from any to any
Вижу что пакеты не попадают в одно правило! Подскажите или поделитесь рабочими конфигами.
Заранее спасибо.

Re: IPFW + NAT + dummy net

Добавлено: 2014-02-27 17:42:32
ADRE
Не видно queue для 112
--
Самого правила в скрипте нет. странно.

Re: IPFW + NAT + dummy net

Добавлено: 2014-02-28 12:07:29
harmless
Да и в самом правиле нужно ставить не ИП сервера а any, так как трафик идет не только от сервера а из инета, да и правило нужно ставить после второго ната(10500 1628869 2010784661 nat 2 ip from any to 192.168.2.2 in recv rl0) так как до него пакеты приходят не на сеть 192.168.0.0/24 а на адрес сервера 192.168.2.2!

Код: Выделить всё

10450       0          0 queue 112 ip from 192.168.2.2 to 192.168.0.0/24 in recv rl0

Re: IPFW + NAT + dummy net

Добавлено: 2014-03-04 17:36:52
ADRE
тощняк я и не посмотрел (=