[Sysadmins] iptables

Valery V. Rusnak =?iso-8859-1?q?xacan1_=CE=C1_ukr=2Enet?=
Сб Окт 6 16:00:37 MSD 2007



Valery V. Rusnak пишет:
> LIO пишет:
>   
>> Здравствуйте.
>>
>> 4.10.2007 18:21 Valery wrote:
>>
>>   
>>     
>>>>> Любыми генераторами правил можно пользоваться только когда Вы
>>>>> способны осознанно проэкзаменовать результат их работы, ИМХО.
>>>>>         
>>>>>           
>> ИМХО тоже. Абсолютно согласен.
>>
>>   
>>     
>>>> Вот во вложении, то что у меня получилось, переделав один конфиг.
>>>> Там есть строка доступ по SSH закрывает 192.168.0.0/16. А как перекрыть 
>>>> отовсюду? Это и 80го порта касается.
>>>>       
>>>>         
>> там есть много строчек, и для http:
>> # С─азС─Р╣С┬РёС┌С▄ Р╢Р╬С│С┌С┐Р© Р╪Р╫Р╣ Р©Р╬ 80 Р©Р╬С─С┌С┐, С│Р╩Р╣Р╢С┐С▌С┴Р╣Р╣ заЩС─Р╣С┌РёС┌ Р╡С│Р╣Р╪.
>> iptables -t filter -A INPUT -s 192.168.1.51 -p tcp --dport 80 -j ACCEPT
>> #заЩС─Р╣С┌РёС┌С▄ Р╡С│Р╣Р╪ Р╢Р╬С│С┌С┐Р© Р©Р╬ 80 Р©Р╬С─С┌С┐
>> iptables -t filter -A INPUT -s 192.168.0.0/16 -p tcp --dport 80 -j DROP
>>
>> и для SSH тоже
>> # iptables -t filter -A INPUT -s 192.168.1.111 -p tcp --dport 22 -j ACCEPT
>> iptables -t filter -A INPUT -s 192.168.1.51 -p tcp --dport 22 -j ACCEPT
>> # Р·Р°Р╨С─С▀С┌С▄ Р©Р╬ SSH
>> iptables -t filter -A INPUT -s 192.168.0.0/16 -p tcp --dport 22 -j DROP
>>
>> напиши вместо этого (на худой конец до этого)
>> # С─азС─Р╣С┬РёС┌С▄ Р╢Р╬С│С┌С┐Р© Р╪Р╫Р╣ Р©Р╬ 80 Р©Р╬С─С┌С┐, С│Р╩Р╣Р╢С┐С▌С┴Р╣Р╣ заЩС─Р╣С┌РёС┌ Р╡С│Р╣Р╪.
>> iptables -t filter -A INPUT -s 192.168.1.51 -j ACCEPT
>> iptables -t filter -A INPUT -s 192.168.0.0/16 -j DROP
>> чтобы запретить доступ всем из подсети 192.168.0.0/16 кроме
>> 192.168.1.51. Вот только пролистав ниже можно увидеть что
>> # РазС─Р╣С┬РёС┌С▄ С│Р╣С─Р╡Р╣С─С┐ Р╬Р╠С┴Р°С┌С▄С│С▐ С│ Р╡Р╫Р╣С┬Р╫РёР╪ Р╪РёС─Р╬Р╪
>> iptables -t filter -A INPUT -i $iface_world -j ACCEPT
>> iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT
>> для "внешнего мира" (eth0) входной то и двери нет (дыра размером с
>> пару окон). Поэтому это стоит подправить на следующее
>> iptables -t filter -A INPUT -s 192.168.1.51 -j ACCEPT
>> iptables -t filter -A INPUT -j DROP
>> Тогда доступ будет закрыт вообще всем кроме 192.168.1.15
>>
>> А если вспомнить первое Ваше письмо где вы говорили что доступ надо
>> закрыть только 192.168.1.15 (сделать с точностью до наоборот), то
>> iptables -t filter -A INPUT -s !192.168.1.51 -j ACCEPT
>>
>> Надеюсь, данные "примеры" помогут Вам.
>>
>>     
Слишком сложно для меня оказалось, то что я удумал :)
Задача такая:
Есть комп (ALD4) на нем сетевушка eth0 (192.168.2.5  маска 255.255.0.0)
ходит в и-нет и в сеть через эту же сетевушку. (шлюз и днс 192.168.1.1)

Хотел чтобы на нем и-нет работал, чтобы к нему заходили через самбу на зашареные ресурсы все с сети,
кроме некоторые (т.е. закрывать некоторым доступ по необходимости) чтобы некоторые заходили к нему по 80
и смотрели график загрузки интерфейса.

Прописал для начала:

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT
iptables -t filter -A INPUT -s 192.168.1.51 -j ACCEPT
iptables -t filter -A OUTPUT -d 192.168.1.51 -j ACCEPT

iptables -t filter -A INPUT -j DROP

Чтобы просто разрешить с 192.168.1.51.
Перечитал мануал. http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html
Доступ к и-нету пропал. И пока не додумался как сделать чтобы и-нет был на 192.168.2.5(этот фаерволл на нем) и по сети ходил к кому угодно, но чтобы не все имели доступ к нему.












Подробная информация о списке рассылки Sysadmins