Вопрос iptables

Автор: Romashka Дата: 22.11.2007 17:41 Закрыл я доступ на IP 81.176.227.11
-A OUTPUT -p ALL -d 81.176.227.0/16 - j DROP
а вот как для одного IP 192.168.1.25 открыть доступ на 81.176.227.11 подскажите, пожалуйста?
Re: Вопрос iptables 22.11.2007 18:09bogdanr Romashka писал(а):

> Закрыл я доступ на IP 81.176.227.11
> -A OUTPUT -p ALL -d 81.176.227.0/16 - j DROP

Это вы закрыли исходящие пакеты с хоста, где стоит файрволл.

> а вот как для одного IP 192.168.1.25 открыть доступ на
> 81.176.227.11 подскажите, пожалуйста?

Если фарволл у вас на шлюзе, то транзитные пакеты с 192.168.1.25 на 81.176.227.11 итак пойдут, впрочем как и с остальных 192.168.1.x

Если вы хотите закрыть доступ к 81.176.227.11 своей локалке кроме 192.168.1.25, то можно так

iptables - A FORWARD -p ALL -d 81.176.227.11 -s !192.168.1.25 -j DROP
Re: Вопрос iptables 22.11.2007 20:28smaharbA не всех больных война убила...(с)
Re: Вопрос iptables 22.11.2007 22:33Romashka bogdanr писал(а):

> Если вы хотите закрыть доступ к 81.176.227.11 своей локалке
> кроме 192.168.1.25, то можно так
>
> iptables - A FORWARD -p ALL -d 81.176.227.11 -s !192.168.1.25
> -j DROP
>

Большое спасибо.
А если нужно разрешить более одного адреса локалки, ну 3-4.
Re: Вопрос iptables 23.11.2007 10:33bogdanr Romashka писал(а):

> А если нужно разрешить более одного адреса локалки, ну 3-4.
Указать вместо !192.168.1.25 диапазон адресов или явно указать нужные адреса.
А вообще полезно почитать:
man iptables
[www.iptables.ru]
Re: Вопрос iptables 23.11.2007 22:22CHPOKS 2 bogdanr.
Огромное спасибо. Отличная ссылка.
Автору этого сайта конечно тоже респект.
Re: Вопрос iptables 26.11.2007 11:32Romashka Спасибо за ссылку.
Но почемуто с FORWADR ничего не получается.
пишу так:
-A FORWARD -p ALL -d 81.176.227.0/16 -s 192.168.1.0/24 -j DROP сайт открывается, а если так
-A OUTPUT -p ALL -d 81.176.227.0/16 - j DROP то не открывается
Скажите, что я не так делаю?
Re: Вопрос iptables 26.11.2007 17:22werewolf 2Romashka:
В цепочке FORWARD фильтруются транзитные пакеты, а в OUTPUT (как и в INPUT) - порожденные локальными процессами, т.о. можно предположить, что вы либо настраиваете iptables не на роутере, либо проверяете доступность сайта с роутера же.

ЗЫ Странный какой-то у вас сайт ;-) 81.176.227.0/16 - это целая подсеть.
Re: Вопрос iptables 26.11.2007 17:31Romashka


werewolf писал(а):

> 2Romashka:
> В цепочке FORWARD фильтруются транзитные пакеты, а в OUTPUT
> (как и в INPUT) - порожденные локальными процессами, т.о. можно
> предположить, что вы либо настраиваете iptables не на роутере,
> либо проверяете доступность сайта с роутера же.
iptables я настраиваю на роутере, а проверяю на машине в сети
>
> ЗЫ Странный какой-то у вас сайт ;-) 81.176.227.0/16 - это целая
> подсеть.
>
Да и ладно, лиш бы получилось, поправить на 1 IP всегда можно.
>
Re: Вопрос iptables 26.11.2007 17:38Romashka Может я в принципе что то не правильно делаю?
Мне нужно запретить пользователям 192.168.1.0/24 открывать сайт на 81.176.227.11 odnoklassniki.ru
за исключением пары адресов, но пока и всем не получается.
А в цепочке OUTPUT получается всем, но не получается сделать исключение.
Re: Вопрос iptables 26.11.2007 18:16wildsin Romashka писал(а):

> Может я в принципе что то не правильно делаю?
> Мне нужно запретить пользователям 192.168.1.0/24 открывать сайт
> на 81.176.227.11 odnoklassniki.ru
> за исключением пары адресов, но пока и всем не получается.
> А в цепочке OUTPUT получается всем, но не получается сделать
> исключение.
если на роутере есть еще и сквид и народ из локалки ходит в инет через него, то именно цепочка OUTPUT значима... потому как сквид - локальный процесс... я бы на роутере напрочь запретил форвардинг вообще, а доступ крутил средствами сквида с установленным сквидгардом... закрывать доступ изнутри на сайт в инете при помощи iptables конечно можно... но и микроскопом можно гвоздь забить...
Re: Вопрос iptables 26.11.2007 18:17werewolf Ну, тогда, как вариант, пользователи лезут на Одноклассники через Squid или какой-либо другой прокси. Если так и есть, логичнее было бы запретить какой-либо URL на прокси.
Кстати, у этого сервера есть два (как минимум) DNS-имени (odnokla**SS**niki.ru и odnokla**S**niki.ru) и два IP (указанный вами 81.176.227.11 и 81.176.227.133)...
Re: Вопрос iptables 27.11.2007 09:17Romashka Спасибо за ответы.
Да, пользователи лезут на одноклассники через Squid как запретить я знаю, но хотелось бы разобраться с iptables.
Всетаки не понятно, почему не отрабатывает такое правило
-A OUTPUT -p ALL -d 81.176.227.0/16 -s 192.168.1.0/24 -j DROP
а такое работает
-A OUTPUT -p ALL -d 81.176.227.0/16 - j DROP

Вот все правила в цепочке OUTPUT

# Bad TCP packets we don't want.
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

# Special OUTPUT rules to decide which IP's to allow.
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN1_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN2_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

LAN1 - это IP шлюза 192.168.1.100
Re: Вопрос iptables 27.11.2007 13:57aut >Всетаки не понятно, почему не отрабатывает такое правило
> -A OUTPUT -p ALL -d 81.176.227.0/16 -s 192.168.1.0/24 -j DROP

Очевидно, потому, что source ip в данном случае - это внешний белый ip шлюза на интерфейсе, который смотрит в инет, и он не относится к сети 192.168.1.0/24
Re: Вопрос iptables 27.11.2007 14:11Romashka aut писал(а):

> >Всетаки не понятно, почему не отрабатывает такое правило
> > -A OUTPUT -p ALL -d 81.176.227.0/16 -s 192.168.1.0/24 -j DROP
>
> Очевидно, потому, что source ip в данном случае - это внешний
> белый ip шлюза на интерфейсе, который смотрит в инет, и он не
> относится к сети 192.168.1.0/24
А как же запретить 81.176.227.0/16 для сетки 192.168.1.0/24
Re: Вопрос iptables 27.11.2007 15:20wildsin Romashka писал(а):

> А как же запретить 81.176.227.0/16 для сетки 192.168.1.0/24
установка пареметра "net.ipv4.ip_forward = 0" в файле /etc/sysctl.conf
решает проблему на 100%, а пользователей в инет пускать **только** через сквид.
Re: Вопрос iptables 27.11.2007 15:24Romashka Но тогда не будут работать всякие Банк-клиены
Re: Вопрос iptables 27.11.2007 15:40nar4eGG По этому нужно через iptables открывать порты вручную, каторые тебе нужно. Помойму так. Самому нада... я вот тему создал, но чето там ни кто подробного ответа не дал.
Re: Вопрос iptables 27.11.2007 15:51Romashka Это понятно, но 3128 закрыть нельзя!
Re: Вопрос iptables 27.11.2007 16:08aut >А как же запретить 81.176.227.0/16 для сетки 192.168.1.0/24

Имеется в виду - напрямую, минуя squid? Тогда используется цепочка FORWARD.
(Естественно, для сквида, который расположен непосредственно на шлюзе - FORWARD работать не будет. Тогда - средствами сквида или через OUTPUT)

**wildsin** же объяснил уже все выше (26 ноября, 18:16).
RSS-материал