Автор Тема: iptables [Решено]  (Прочитано 1539 раз)

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
iptables [Решено]
« : 04.08.2016 07:00:23 »
Здравствуйте, помогите настроить iptables.
В общем есть сервер p7-server, он работает только в локальной сети, на нем крутится сайт, мне нужно запретить все к нему соединения, но разрешить только определенным MAC-адресам.
Сейчас делаю так:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
затем пытаюсь разрешить MAC одной машины:
iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT
Начинаю заходить на сайт с разрешенной машины, но ничего не выходит, подскажите что не так делаю..
« Последнее редактирование: 05.08.2016 09:09:36 от ssezya »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: iptables
« Ответ #1 : 04.08.2016 07:17:49 »
Насколько я помню, правила сверху вниз работают. До вашего последнего правила просто не доходит, т.к. первое уже "дропнуло"

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: iptables
« Ответ #2 : 04.08.2016 07:23:17 »
Насколько я помню, правила сверху вниз работают. До вашего последнего правила просто не доходит, т.к. первое уже "дропнуло"
т.е. надо все наоборот писать?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: iptables
« Ответ #3 : 04.08.2016 07:27:45 »
Принцип работы Iptables

Цитировать
Все пакеты пропускаются через определенные для них последовательности цепочек (см. рис.). При прохождении пакетом цепочки, к нему последовательно применяются все правила этой цепочки в порядке их следования. Под применением правила понимается: во-первых, проверка пакета на соответствие критерию, и во-вторых, если пакет этому критерию соответствует, применение к нему указанного действия. Под действием может подразумеваться как элементарная операция (встроенное действие, например, ACCEPT, MARK), так и переход в одну из пользовательских цепочек. В свою очередь, действия могут быть как терминальными, то есть прекращающими обработку пакета в рамках данной базовой цепочки (например, ACCEPT, REJECT), так и нетерминальными, то есть не прерывающими процесса обработки пакета (MARK, TOS). Если пакет прошел через всю базовую цепочку и к нему так и не было применено ни одного терминального действия, к нему применяется действие по умолчанию для данной цепочки

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: iptables
« Ответ #4 : 04.08.2016 07:42:38 »
Все равно не работает  :-( может я что-то в команде не дописываю?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: iptables
« Ответ #5 : 04.08.2016 07:55:42 »
Я не очень  в этом разбираюсь (ни времени, ни необходимости вникать в это у меня нет), но гуглится такой вариант:

 iptables -A FORWARD -m mac --mac-source "00:11:22:33:44:55" -j ACCEPT

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: iptables
« Ответ #6 : 04.08.2016 08:38:49 »
iptables -A FORWARD -m mac --mac-source "00:11:22:33:44:55" -j ACCEPT
почему-то этот вариант не подходит, я тоже уже перегуглил все, там все должно работать, но нет..

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: iptables
« Ответ #7 : 04.08.2016 08:41:31 »
Возможно перекрывают правила etcnet

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: iptables
« Ответ #8 : 04.08.2016 08:50:20 »
Насколько я помню, правила сверху вниз работают. До вашего последнего правила просто не доходит, т.к. первое уже "дропнуло"
Нет. То есть, правила-то сверху вниз, но правило - одно. "-P" же задаёт действие по-умолчанию, которое срабатывает, если нет никакого другого правила.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: iptables
« Ответ #9 : 04.08.2016 09:00:46 »
iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT
Начинаю заходить на сайт с разрешенной машины, но ничего не выходит, подскажите что не так делаю..
iptables работает для IP. что касается использования MAC-адресов в этих правилах, надо смотреть отдельно. Может быть что-то неочевидное. Это вообще.

Что же касается правил, то INPUT и OUTPUT касаются локально адресованных пакетов (для этого, или от этого хоста). Для транзитных пакетов, как верно уже заметил ruslandh, следует использовать FORWARD. Но вопрос, а форвардинг пакетов разрешён ? Что показывает "cat /proc/sys/net/ipv4/ip_forward" ?

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: iptables
« Ответ #10 : 04.08.2016 09:09:03 »
iptables работает для IP. что касается использования MAC-адресов в этих правилах, надо смотреть отдельно. Может быть что-то неочевидное. Это вообще.

Что же касается правил, то INPUT и OUTPUT касаются локально адресованных пакетов (для этого, или от этого хоста). Для транзитных пакетов, как верно уже заметил ruslandh, следует использовать FORWARD. Но вопрос, а форвардинг пакетов разрешён ? Что показывает "cat /proc/sys/net/ipv4/ip_forward" ?
вывод показывает:
0
а что если я захожу на сайт по локальной сети то у меня транзитные пакеты, то есть пакеты попадают на FORWARD?
кстати если все разрешить и запретить отдельный MAC, то с той машины с которой запрещено можно на сайт попасть, а вот пинги идти не будут, странно однако

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: iptables
« Ответ #11 : 04.08.2016 09:32:40 »
По хорошему - почитайте ссылку, которую я приводил. Там даются примеры и объяснения.

cat /proc/sys/net/ipv4/ip_forward
0
См /etc/net/sysctl.conf 
net.ipv4.ip_forward = .....
https://www.opennet.ru/docs/RUS/ipsysctl/#VARIABLEREFERENCE
Цитировать
ip_forward

Включает/отключает функцию форвардинга (передачу транзитных пакетов между сетевыми интерфейсами), которая позволяет компьютеру выступать в роли брандмауэра или маршрутизатора. Эта переменная очень важна для Network Address Translation (Трансляция Сетевых Адресов), брандмауэров, маршрутизаторов и всего того, что должно передавать пакеты между сетями.

Это булева переменная. Или, другими словами, она может принимать два значения -- 0 или 1. Значение по-умолчанию -- 0, "запрещено". То есть 0 означает запрет форвардинга, а 1 -- разрешает его.

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: iptables
« Ответ #12 : 04.08.2016 12:18:29 »
зачем FORWARD если это не шлюз?

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: iptables
« Ответ #13 : 04.08.2016 16:41:21 »
А про это правило забыли  ?
iptables -P OUTPUT DROPВам нужно разрешить на INPUT и на OUTPUT и для начала дейстительно потренеруйтесь на IP, с mac бывают вопросы.
With best regards, Yury Konovalov aka 2:453/53

Оффлайн ssezya

  • Участник
  • *
  • Сообщений: 163
Re: iptables
« Ответ #14 : 05.08.2016 09:07:47 »
Проблема была в том, что на сервер пакеты попадали через прокси (т. е. уже с mac и ip прокси машины), решилось все добавлением в исключения в прокси на нужный адрес в браузере.