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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: iptables для закрытия доступа в интернет отдельных машин  (Прочитано 2152 раз)

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

Оффлайн nenene

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

Гуру iptables, помогите пожалуйста.
Ubuntu 12.04.2 LTE Server, стоит роутером для локальной сети, предоставляет доступ в интернет. eth0 смотрит наружу, eth1 в локалку.
Необходимо посредством iptables некоторым машины (неважно по ip или mac) отрезать доступ в интернет полностью, но дать возможность смотреть в локальную сеть. man iptables курил, просвещения не достиг :(
В данный момент при запуске системы стартует скрипт, в котором указаны следующие команды:

(Нажмите, чтобы показать/скрыть)

Предполагал что это делается так:

iptables -A FORWARD -i eth1 -o eth0 -s 192.168.0.ххх -j REJECT

Но, видимо что-то делаю не так :(

Вывод команды iptables -S :

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 22 Июля 2013, 14:12:40 от nenene »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Надо добавлять это правило до всеобщего разрешения, то есть раньше чем
-A FORWARD -i eth1 -o eth0 -j ACCEPT
позиция правила выбирается парметром -I
Например
sudo iptables -I FORWARD 13 -i eth1 -o eth0 -s 192.168.0.ххх -j REJECT

Оффлайн nenene

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
fisher74, Спасибо огромное, очень помогли!

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Такие правила лучше загонять в отдельную цепочку, вызываемую из основной.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
С учётом выбранной политики дефолтного запрета, то вообще по другому надо строить цепочку FORWARD

Оффлайн nenene

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Сначала всё запрещать, а потом по одному добавлять исключения? так наверное логичнее?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Варианты:
1) чёрный список — выборочно дропать перед общим разрешающим правилом/политикой
2) белый список — выборочно пропускать перед общим запрещающим правилом/политикой

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Тут, наверное, стоит оговориться, что не смотря на позицию общего разрешающего или запрещающего правила (ака дефолт-правило)в которой озвучил уважаемый ArcFi при описании политик, в листинге правил это правило будет стоять первым
-P FORWARD DROP
да и объявляют его тоже обычно первым.
То есть сначала объявили общее правило, которое будет выполняться в случае если ни одно другое правило в цепочке не подошло.

Оффлайн nenene

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Все понял) проблема была в моей голове)
Правила для цепочки применяются "снизу вверх") думал что наоборот)
Спасибо за детальное объяснение!

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Правила для цепочки применяются "снизу вверх")
С каких пор? o_O
Вы правила с политикой не путаете?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Правила для цепочки применяются "снизу вверх") думал что наоборот)
Правильно думал. Правила в цепочке проверяются именно СВЕРХУ-ВНИЗ.
Исключением является только дефолтное правило, которое указывается вне очереди, но применяется последним. Слово применяется не зря, так как условий в этом правиле нет никаких, только действие - раз проверка пакета прошла всю цепочку и не задела ни одного терминирующего правила - значит это клиент действия по умолчанию.

Оффлайн nenene

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
 :-[
То есть трафик, проходя по цепочке, пробегает все заданные правила сверху вниз, в случае если какое-то из них задевает, выполняется действие заданное -j *, дальше по цепочке трафик не бежит. В случае если ни одно правило не задето, выполняется действие по умолчанию. Так правильно?


Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Да. Именно так.
Опять же с поправочкой.
в случае если какое-то из них задевает, выполняется действие заданное -j *, дальше по цепочке трафик не бежит.
дальше не бежит, если действие терминирующее (DROP, ACCEPT, REJECT, DNAT, ....).
Есть действия которые пропускают пакет дальше по цепочке (LOG, TOS, TTL, MARK,...)

Оффлайн nenene

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

 

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