Автор Тема: Снятие ограничений на шлюзе Интернет для пользователей по времени [решено]  (Прочитано 8128 раз)

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
Зравствуйте коллеги.

Есть настроенный прекрасно работающий шлюз, прокси (Кентавр).

Не решенной осталась одна вещь:
нужно чтобы в алтераторе во вкладке "Внутренние сети" снималась галочка с "включить ограничения ..." вечером, а утром эта галочка устанавливалась, ну или эффект был такой же.

По расширениям, сайтам и пр. на прокси по времени я ограничиваю без проблем, а тут понадобилось, чтобы пользователи могли ночью/вечером качали торренты и прочее. Устраивает эффект производимый установленной/снятой галочкой (см.выше ), но при этом нужно вручную ее ставить снимать.

Есть идеи как автоматизировать отключение/включение контроль портов для исходящего трафика пользователей?

Спасибо за внимание
« Последнее редактирование: 19.10.2012 12:20:03 от kan »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Есть идеи как автоматизировать отключение/включение контроль портов для исходящего трафика пользователей?
Узнать, что происходит при установке/снятии галочки, после чего делать то же самое скриптом, вызываемым cron-ом.

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
Узнать, что происходит при установке/снятии галочки, после чего делать то же самое скриптом, вызываемым cron-ом.

Я примерно так и представлял себе,
вопрос - 1 ) как найти этот конфиг-файл, и 2) как заменить в файле Enable=Yes на Enable=No скриптом

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
например, сделать копию /etc, поменять параметр, после чего посмотреть вывод diff -Nur /etc <копия etc>
Но этого, наверное, будет мало: скорее всего, ещё правится текущая конфигурация iptables. То есть, надо ещё сравнить вывод iptables -nL для обоих случаев. Может быть, ещё и вывод iptables -nL -t nat

Что касается заменить: sed -i 's|Enable=Yes|Enable=No|' <config file>
Естественно, убедиться, что "Enable=Yes" там встречается однократно, иначе как-то уточнить.
« Последнее редактирование: 30.08.2012 18:36:48 от asy »

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
Спасибо, буду пробовать

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
Допустим я найду файл и заменю там Enable на Disable, как нажать на кнопку применить, ведь только при нажатии на кнопку считывается конфигурационный файл, затем создаются и применяются правила файерволла.

Все - таки как скриптом "нажать" кнопку "Применить"?

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Допустим я найду файл и заменю там Enable на Disable, как нажать на кнопку применить, ведь только при нажатии на кнопку считывается конфигурационный файл, затем создаются и применяются правила файерволла.
Нет. При нажатии, вероятней всего считывается "крыжик" и что-то там выполняется, например Enable меняется на Disable в каком-то файле.

Смотрите, тут должны быть нужные вам скрипты альтератора: /usr/lib/alterator/backend3/*
Сноси Винду, переходи на Линукс ! :)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
Все - таки как скриптом "нажать" кнопку "Применить"?
Не надо нажимать "применить", надо сделать. А Enable/Disable менять надо только для того, чтобы оно при перезагрузке в том же состоянии осталось. То есть, основное - это самостоятельно правилами iptables (вероятнее всего) рулить.

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
Все - таки как скриптом "нажать" кнопку "Применить"?
Не надо нажимать "применить", надо сделать. А Enable/Disable менять надо только для того, чтобы оно при перезагрузке в том же состоянии осталось. То есть, основное - это самостоятельно правилами iptables (вероятнее всего) рулить.

Я тоже так думаю, - самое простое это оставить "Enable" на постоянку, а по времени выполнять правило iptables, которое разрешает весь исходящий локальный трафик в интернет. Также нужно еще команда iptables, которая соответственно в нужное время выполняется и удаляет нашу разрешающую команду.

Для решения моей задачки, как мне кажется, нужно определится с двумя пунктами, подскажите пожалуйста ка это сделать.
1)как должны выглядеть эти команды.
2) нужно ли после команды рестартить iptables, или команды отрабатываются в реальном времени?

Спасибо!

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
1)как должны выглядеть эти команды.
Для этого надо знать, что у Вас уже есть в правилах
2) нужно ли после команды рестартить iptables, или команды отрабатываются в реальном времени?
Отрабатываются сразу. утилита iptables не сервис, а конфигуратор подсистемы netfilter ядра linux.

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
1)как должны выглядеть эти команды.
Для этого надо знать, что у Вас уже есть в правилах

В том то и дело, что я хочу абстрагироваться от того как сформировал эти правила alterator.
Настройка шла только через ЦУС.

Имеем:
1) две сетевухи, - одна из них в интернет (eth0), другая в локалку(eth1).
2) В ЦУС стоит режим работы сервака "шлюз(NAT)"
3) В ЦУС стоит галочка "Выберите внешний интерфейс" напротив интернетовской сетевушки
4) В ЦУС стоит галочка "Включить ограничение в локалке", там же добавлены несколько IP пользователей и порты по которым они могут ходить в нет.

Все правила фаера сформированы автоматически по этим галочкам.


Вот, мне хотелось бы узнать какой командой можно разрешить все исходящие из локалки наружу, и соответственно обратную команду которая вернет фаер в исходный режим (тут наверное можно просто перезапустить фаер - тогда он считает настройки из своего конфига, который мы не трогали)

Спасибо



Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Включение ограничения:sed -i 's/ir=off/ir=on/' /etc/alterator/net-iptables.confВыключение ограничения:sed -i 's/ir=on/ir=off/' /etc/alterator/net-iptables.conf
Сноси Винду, переходи на Линукс ! :)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 370
В том то и дело, что я хочу абстрагироваться от того как сформировал эти правила alterator.
Настройка шла только через ЦУС.
Лучше бы так:
iptables -vnL
iptables -vnL -t nat
sysctl -a|grep ip_forward
если там много, можно личным сообщением. А то я этими всеми gui/web не пользуюсь практически...
« Последнее редактирование: 24.09.2012 00:45:34 от asy »

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
В том то и дело, что я хочу абстрагироваться от того как сформировал эти правила alterator.
Настройка шла только через ЦУС.
Лучше бы так:
iptables -vnL
iptables -vnL -t nat
sysctl -a|grep ip_forward
если там много, можно личным сообщением. А то я этими всеми gui/web не пользуюсь практически...

Прикладываю вложения. команда
sysctl -a|grep ip_forward возвращает 1

интерфейсы:
eth0 - провайдер
eth3 - LAN2
eth2 - LAN1

Как организовать скрипт, чтобы первый из них разрешал из локалок все исходящие (но чтобы проброс на squid остался), и второй скрипт, который бы возвращал все на исходную (на настройки фаерволла из конфигов)

Оффлайн kan

  • Участник
  • *
  • Сообщений: 116
Кстати, вот снял показания с выключенной галочкой  "Включить ограничение доступа на всех внутренних интерфейсах"  на "Внутренних интерфейсах".

собственно к этому виду нужно привести фаер в 17:00, а в 8:30 нужно, чтобы фаер перечитал свои конфиги заново