Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: удалениет нат правил при исчерпании лимита  (Прочитано 442 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн from_rus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля

вобщем чтото вроде биллинга делаю
ipcad считает трафик и пишет в бд , в бд есть колонки лимита для айпишника.
есть скрипт который раз в минуту проверяет колонки бд  на превышение лимита
нат раздаю на двух интерфейса:
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.1 -j MASQUERADE # тут только платные ресурсы для компа1
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.2 -j MASQUERADE # тут только платные ресурсы для компа2
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.3 -j MASQUERADE # тут только платные ресурсы для компа3

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE   # Все ресурсы с этого интерфейса бесплатные

ну и к примеру комп3 исчерпао свой лимит

Внимание вопрос:  Что сделать в скрипте чтоб удалять правило при исчирпании тертьим компьютером лимита, тоесть как ему обраубить нат на ppp0 не задевая комп1 и комп2 и не задевая нат на eth0
ЗЫ прошу прощения если немного не ясно или некрасиыво изложил свой вопрос.

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
В вопросе есть ответ, не?
iptables -t nat -D POSTROUTING -o ppp0 -s 192.168.0.x -j MASQUERADE

Оффлайн from_rus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Не совсем подходит, не убивает текущее соединение...
Вопрос открыт.

Гарри Кашпировский

  • Гость
Попытка №2 :)
iptables -A FORWARD -i ppp0 -d 192.168.0.3 -j REJECTПри этом правиле, правило для NAT будут вот такими
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE # Inet
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE # Lan
« Последнее редактирование: 19 Январь 2010, 02:30:57 от Гарри Кашпировский »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25973
    • Просмотр профиля
А если стоит
-A FILTER -m STATE --state RELATED,ESTABLISHED -j ACCEPT
?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Не совсем подходит, не убивает текущее соединение...
Можно попробовать это. Сам не юзал, но по описанию то, что нужно и позволит не захламлять таблицы iptables.

Пользователь решил продолжить мысль 20 Январь 2010, 15:12:37:
Кстати, есть в репах.

Оффлайн from_rus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Попытка №2 :)
iptables -A FORWARD -i ppp0 -d 192.168.0.3 -j REJECTПри этом правиле, правило для NAT будут вот такими
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE # Inet
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE # Lan


Насчет фильтра пока не читал и незнаю что это, а ваш вариант подошел(покрайней мере на данное время).
Огромное спасибо.
 

 

Страница сгенерирована за 0.064 секунд. Запросов: 22.