Jump to content
Калькуляторы

Непонятки с подсчетом трафика Freebsd

Сервер на FreeBSD 7.1. Поднят natd на портах 8772 и 8774 для 2 внешних каналов. Трафик ходит по правилам ipfw. Ходит по принципу одна таблица клиентов в один канал, все остальные в другой канал.

Интерфейсы xl0 - внешний, xl1 -внешний, xl2 - внутренний. На скрине видно что исходящий трафик с xl1 не уходит, после некоторых испытаний я понял что весь исходящий трафик идет через xl0. Почему так? Смотрю через systat -ifstat, может это systat его не правильно видит? Как это можно исправить? Входящий трафик вроде как идет нормально, сбоев при работе нет никаких. Еще заметил что весь исходящий трафик не превышает скорости ~ 17 мбит, хотя должен быть порядка 60 мбит.

post-54906-1282420119_thumb.jpg

Edited by MAD

Share this post


Link to post
Share on other sites

Среди нас есть фряшники? Кто то может мне подсказать в чем проблема? Может я что то не понятно написал? Может это быть из-за того что шлюзом на двух внешних интерфейсах стоит один и тот же ip адрес?

Share this post


Link to post
Share on other sites

так вы бы описали задачу полностью. и не на словах, а в конфигах. а так это подземный стук искать

Share this post


Link to post
Share on other sites

natd на потоках выше нескольких мегабит использовать в принципе неверно.

Либо ipfw fwd+nat, либо pf.

Если pf, тогда в заголовок /etc/rc.d/ipfw не забудьте добавить строку

# BEFORE: pf

Share this post


Link to post
Share on other sites

Пример конфига:

 

/sbin/natd -a 10.10.10.30 -p 8772

/sbin/natd -a 10.10.10.40 -p 8774

 

${fwcmd} add 20 divert 8772 ip from 'table(101)' to any

${fwcmd} add 22 divert 8774 ip from 192.168.1.0/24 to any

 

${fwcmd} add 5500 fwd 10.10.10.1 ip from 10.10.10.30 to any

${fwcmd} add 5501 fwd 10.10.10.1 ip from 10.10.10.40 to any

${fwcmd} add 5510 divert 8772 ip from any to 10.10.10.30

${fwcmd} add 5511 divert 8774 ip from any to 10.10.10.40

Share this post


Link to post
Share on other sites

На скрине видно что исходящий трафик с xl1 не уходит, после некоторых испытаний я понял что весь исходящий трафик идет через xl0. Почему так?

Потому что так работает ipfw, пакет уходит всегда в шлюз по умолчанию а возвращается в указанный в пакете соурс, иногда бывает проблема что если провайдер шлюза по умолчанию запретил выходить пакеты с соурсом отличным от заданного на интерфейсе, то пакет теряется. Если хотите добиться нужной маршрутизации по каналу, чтобы трафик ходил туда и обратно через нужный шлюз, то пользуйте pf.

Edited by polmax

Share this post


Link to post
Share on other sites

polmax да, так и есть. Но только это происходит потому что на двух внешних интерфейсах один и тот же шлюз. Потому исходящий начинает идти с того на котором первым подняли нат.

 

/sbin/natd -a 10.10.10.30 -p 8772

/sbin/natd -a 10.10.10.40 -p 8774

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this