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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Не так работает iptables  (Прочитано 2408 раз)

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

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Не так работает iptables
« : 24 Декабря 2012, 08:18:07 »
Всем привет.
Не могу добиться корректной работы iptables.
А именно не могу раздать интернет только конкретным пользователям.
Листинг iptables:

Цитировать
#!/bin/sh

# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

#Очистим все цепочки
   iptables -F
   
# Разрешаем трафик на loopback-интерфейсе
   iptables -A INPUT -i lo -j ACCEPT
# Разрешим пользоваться инетом  указанных ниже
   iptables -A FORWARD  -i eth0 -p ALL  -s 10.0.0.20/24 -j ACCEPT
   iptables -A FORWARD  -i eth0 -p ALL  -s 10.0.0.28/24 -j ACCEPT

# Разрешаем ответы из внешней сети
   iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Включаем NAT
   iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth1  -j MASQUERADE 
 

Когда в цепочках с указанными ip в первой прописываю ACCEPT инет появляется у всех, так же и с DROP и REJECT, стоит прописать у первого остальные отваливаются. Что не так прошу помогите

Пользователь решил продолжить мысль 24 Декабря 2012, 08:19:41:
В той ли я цепочке осуществляю такую фильтрацию? Или её нужно осуществлять в цепочках nat PREROUTING
« Последнее редактирование: 24 Декабря 2012, 08:19:41 от KDEX »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28512
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #1 : 24 Декабря 2012, 08:24:42 »
"listing iptables" - это то, что выводит iptables-save.
Показывайте... под спойлером.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #2 : 24 Декабря 2012, 08:58:04 »
(Нажмите, чтобы показать/скрыть)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #3 : 24 Декабря 2012, 09:39:25 »
Цитировать
iptables -A FORWARD  -i eth0 -p ALL  -s 10.0.0.20/24 -j ACCEPT
 iptables -A FORWARD  -i eth0 -p ALL  -s 10.0.0.28/24 -j ACCEPT

Цитировать
sudo iptables -A FORWARD -i eth0 -s 10.0.0.15/32 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -s 10.0.0.17/32 -j ACCEPT

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #4 : 24 Декабря 2012, 09:42:21 »
fisher74,
и? Что это даёт? Тут добавляете вручную через sudo а у меня через скрипт с автозапуском.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Не так работает iptables
« Ответ #5 : 24 Декабря 2012, 10:00:46 »
а у меня через скрипт
man iptables-save iptables-restore

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #6 : 24 Декабря 2012, 10:18:23 »
Всё равно не работает как надо :(

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28512
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #7 : 24 Декабря 2012, 10:20:43 »
А что вы сделали, чтобы заработало?
Может, вы попробовали предложенные вам советы?
Или разобарлись в том, где была ваша ошибка?

У вас
-A FORWARD -s 10.0.0.0/24 -i eth0 -o eth1 -j ACCEPT
перебивает все остальные правила в цепочке. При том, что я не понимаю, зачем вообще его было сюда писать.

*filter
:FORWARD DROP [0:0]
:ALLOWED - [0:0]
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED,DNAT -j ACCEPT
-A FORWARD -i eth0 ! -d 10.0.0.0/24 -j ALLOWED
-A FORWARD -i eth1 -o eth0 -j REJECT --reject-with icmp-net-unreachable (реально, не стоит врять людям. Даже в мелочах.)
-A ALLOWED -s 10.0.0.1/32 -j ACCEPT
-A ALLOWED -s 10.0.0.3/32 -j ACCEPT
COMMIT

Как-то так должно работать.
« Последнее редактирование: 24 Декабря 2012, 10:24:09 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #8 : 24 Декабря 2012, 10:58:00 »
fisher74,
и? Что это даёт? Тут добавляете вручную через sudo а у меня через скрипт с автозапуском.
Это даёт, то что Вы хотите добиться.
Если текст и похож некоторыми элементами, то это не значит, что результаты этих команд совпадают с результатами Ваших команд. Ещё раз посмотрите чем отличаются мои команды и команды AnrDaemon от Ваших и найдите все отличия. Потом загляните в Iptables Tutorial и посмотрите на что эти отличия влияют.

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #9 : 24 Декабря 2012, 11:35:07 »

У вас
-A FORWARD -s 10.0.0.0/24 -i eth0 -o eth1 -j ACCEPT
перебивает все остальные правила в цепочке. При том, что я не понимаю, зачем вообще его было сюда писать.


Такое правила у меня не прописано.
Пробовал вручную:
sudo iptables -F <<- очитстил всё что было
sudo iptables-save проверил, всё чисто правил нет.
sudo iptables -A FORWARD -i eth0 -o eth1 -s 10.0.0.2 -j ACCEPT < - пропускаю только 10.0.0.2
sudo iptables -P FORWARD DROP < -остальных дропаю
sudo iptables -t nat -A POSTRUOTING -s 10.0.0.0/24 -o eth1 -j SNAT --to-source <внешний ip моего шлюза>, пробовал заменять на маскарадинг.
запускаю  sudo iptables-save 
Цитировать
:OUTPUT ACCEPT [2464:299969]
-A INPUT -i lo -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -i eth0 -o eth1 -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -i eth0 -o eth1 -j ACCEPT
Ходят по прежнему все. Может проблема в nat и указать не всю сеть а только разрешенные хосты?





Пользователь решил продолжить мысль 24 Декабря 2012, 11:37:23:
fisher74,
Точно. Маска  :coolsmiley: :D

Пользователь решил продолжить мысль 24 Декабря 2012, 11:39:06:
Спасибо ребята.
« Последнее редактирование: 24 Декабря 2012, 11:39:06 от KDEX »

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #10 : 25 Декабря 2012, 11:45:31 »
Ещё вопросец:
Добавил цепочку которая пропускает трафик из внешней сети только по указанным портам.
eth1 - внешний со статическим адресом от провайдера.
eth0 - локальная сеть.
Цитировать
iptables -A FORWARD -i eth1 -p tcp -m multiport --source-port  21,25,80,110,443,666,670,1024,1992,3389,5190,8080 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp -j DROP

Не могу понять логику системы, когда в первом правиле -i eth1 указываю интерфейс на который был получен пакет -i eth0 то есть на интерфейс локальной сети и порты назначения --destination-port  21,25,80,110,443,666,670,1024,1992,3389,5190,8080 тогда правило не фильтрует порты, а когда указанно как в цитате порты наружу фильтруются, только непонятно почему интерфейс внешний на который получен пакет -i eth1  ведь на этот интерфейс идут пакеты из глобальной сети. Я так предполагаю что правило пропускает пакеты наружу, но входящие фильтрует.  Вопрос: помогите написать цепочку которая не будет пропускать вообще из пакеты с указанными портами из локалки наружу.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Не так работает iptables
« Ответ #11 : 25 Декабря 2012, 11:51:32 »
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o <внешний интерфейс> -p tcp -m state --state NEW -m multiport --dports <порты>
...
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #12 : 25 Декабря 2012, 12:01:12 »
arcfi,
благодарствую

Пользователь решил продолжить мысль 25 Декабря 2012, 22:45:12:
arcfi,
Проверил, не фильтрует(((

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 26 Декабря 2012, 07:07:40 от KDEX »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28512
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #13 : 26 Декабря 2012, 01:00:36 »
У вас нарушен порядок правил, "-o eth1", естественно, лишнее, и "-i eth0" тоже лишнее.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн KDEX

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: Не так работает iptables
« Ответ #14 : 26 Декабря 2012, 06:36:18 »
AnrDaemon,
Это вы про правило -A FORWARD -s 10.0.0.206/32 -i eth0 -o eth1 -j ACCEPT
« Последнее редактирование: 26 Декабря 2012, 07:05:09 от KDEX »

 

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