Полная версия этой страницы: Не считает входящий траффик
darkside83
Доброго времени суток!

Использую Slackware 12, обновленный до current.
В /etc/init.d/linbilling почищено все, что касается iptable.
Вот мой /etc/linbilling_rule.cfg, есть несколько сайтов, которые должны быть доступны всегда.

#!/bin/sh
LAN_IFACE1=\"eth0\"
INET_IFACE1=\"eth1\"
LO_IFACE=\"lo\"

IPTABLES=\"/usr/sbin/iptables\"

/sbin/depmod -a

/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ip_queue

$IPTABLES -F
$IPTABLES -X

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE1 -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE1 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -j QUEUE

$IPTABLES -A FORWARD -p icmp -i $LAN_IFACE1 --icmp-type 8 -j ACCEPT
$IPTABLES -A FORWARD -p icmp -i $LAN_IFACE1 --icmp-type 11 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -i $LAN_IFACE1 --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -i $LAN_IFACE1 --dport 5190 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.2.0/24 -d XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.2.0/24 -d XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.2.0/24 -d XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -j QUEUE

$IPTABLES -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LAN_IFACE1 -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE1 -j ACCEPT
$IPTABLES -A OUTPUT -j QUEUE

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE1 -j MASQUERADE

Исходящий считает нормально, с входящим проблема.

P.S.: Забыл добавить, других правил для фаервола нет.
voler
iptables-save -c покажите.

и FORWARD для клиетнтов лучше -j QUEUE
И таблица NAT всегда должна быть перед FORWARD
Sly
Доброго времени суток
Интересный вопрос сразу в лоб :) А исходящий считает?

Просто просмотрите свои правила возможно вы просто пустили всех пользователей по входящему вокруг очереди QUEUE
Sly
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Вот ваша ошибка
Это правило пускает всех кто установил соединений
тоесть соединяются они через нашу систему а работает всё после соединения по этой цепочке и просто не доходит до нашей системы так как

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -j QUEUE
правило пропускать всех подключившихся выше правила очереди нашей системы
а как известно в правиах отрабатывает первое подходящее правило остальные игнорируются

darkside83
Доброго времени суток!

Проблема решена.
Сегодня утром посидел, сейчас опробовал - все нормально.
Не до конца понимал логику работы QUEUE.
Вот исправленный конфиг

#!/bin/sh
LAN_IFACE1=\"eth0\"
INET_IFACE1=\"eth1\"
LO_IFACE=\"lo\"

IPTABLES=\"/usr/sbin/iptables\"

/sbin/depmod -a

/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ip_queue

$IPTABLES -F
$IPTABLES -X

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE1 -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $INET_IFACE1 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -j QUEUE

$IPTABLES -A FORWARD -p icmp -i $LAN_IFACE1 --icmp-type 8 -j ACCEPT
$IPTABLES -A FORWARD -p icmp -i $LAN_IFACE1 --icmp-type 11 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -i $LAN_IFACE1 --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -i $LAN_IFACE1 --dport 5190 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.2.0/24 -d XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.2.0/24 -d XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.2.0/24 -d XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.2.0/24 -s XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.2.0/24 -s XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -d 192.168.2.0/24 -s XX.XX.XX.XX/32 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -p icmp --icmp-type 11 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -p tcp --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -p tcp --dport 5190 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j QUEUE
$IPTABLES -A FORWARD -j QUEUE

$IPTABLES -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LAN_IFACE1 -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE1 -j ACCEPT
$IPTABLES -A OUTPUT -j QUEUE

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE1 -j MASQUERADE

Конечно скрипт еще нужно дорабатывать, потому-что сейчас на 3 хоста не нужно считать траффик, через месяц еще на 10. Но в целом все работает, тему можно закрывать.
voler
Я тож не понимал, посему нужно читать внимательно информацию по iptables.
wert
Не до конца понимал логику работы QUEUE.

Ну очередь можно представить ввиде трубы , причем оба конца смотрят в одно итоже место:) , только вот посередине этой трубы, стоит нечто что принимает пакеты ну и может и возращать их, тобиш все пакеты подпадающие под правило попадают в очередь, дальше их кто то должен обработать (в на шем случае билинг) и по необходимости вернуть на место. Ну и поправочка если очередь не кто не обрабатывает, к примеру билинг упал, топакеты не куда не придут . они так и зависнут на конвеере очереди :), вот вобщемто и весь тайный смысл QUEUE.
darknet
непонятная проблема... Стоит traffpro последней версии, в ОТЧЕТ ТРАФФИКА - СВОБОДНЫЕ КЛИЕНТЫ по пользователям показывает объем траффика входящий и исходящий, но если зайти в КЛИЕНТЫ - СВОБОДНЫЕ КЛИЕНТЫ - КЛИЕНТЫ то в столбце Количество трафика колличество траффика равен 0... Может я что-то не понимаю, или в этом столбце траффик считается только при внешней проксе типа сквида... Или что-то не так сделал, в настройках включен "Детелизация www страниц true"

traffpro.cfg
to_install_dir=/opt/traffpro
daemon=true
db_url=localhost
db_usr=root
db_passwd=7871657
db_name=office
time_in=10
time_out=180
control_eth_addr=true
net_number=0
ports_detail=true
ss_enabled=false
eth_out=eth1
url_detail=true
out_ip=10.138.48.131
listen_addr=172.0.0.1
listen_port=9999
ip_queue_maxlen=2048
squid_connect=false


traffpro_rule.cfg
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp



Sly
Это поле за которое вы говорите отвечает за наличие трафика на счету клиента если тип учёта у него не безлимит!!! Это не учёт это наличие на счёту, не путайте эти два понятия, думаю разберётексь. Внимательно в этом месте, очень часто ошибаются и при переходе с безлимита на лимит забывают добавить трафик клиента, и интернет отключается.

Если Вы установите НЕбезлимит (тип учёта входящий, исходящий, весь) то с этого поля будут списывать мегабайты (в бизнес версии деньги)
darknet
спасибо, разобрался
Sly
При безлимите цыфра в этом поле менятся не будет, а при остальных типах учёта из этого поля будет списываться трафик (не путайте с добавлением трафика, а именно списываться, при НЕбезлимите когда цыфра в этом поле станет равна НУЛЮ интернет у пользоватя отключиться)
darknet
да я понял, я когда юзера заводил плавновое ему накинул, а траффик вручную так не добавил, кстати может как предложение, чтобы при добавлении пользователя траффик добавлялся сразу на баланс в соответствии с плановым добавлением
Sly
Это будет не совсем правильно, так как представьте что человека добавили в списки 15 числа а трафик ему упал плановый, так что в данном случае считаю что нужно что бы администратор сам решал количество добавляемого трафика и добавлял вручную
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.