Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Вопрос о iptables
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Fri Jun 02, 2006 11:19 am    Post subject: Вопрос о iptables Reply with quote

Привет всем. Есть вопрос о iptables.
Есть сетка и сервер который работает шлюзом. И Клиенты качают всякий хлам и не дают работать. Хотелбы некоторым клиентам ограничивать работу в интернете.
Может кто-то написать примеры:
1. закрыть порт 82 для всех в локальной сети
2. выключить инет клиенту с IP 192.168.1.3
3. закрыть порт 67 для клиента с IP 192.168.1.4

Вот мои текущие правила:
Code:
# First we flush our current rules
iptables -F
iptables -t nat -F

# Setup default policies to handle unmatched traffic
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Copy and paste these examples ...
export LAN=eth1
export WAN=ppp0

# Then we lock our services so they only work from the LAN
iptables -I INPUT 1 -i ${LAN} -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT

# Drop TCP / UDP packets to privileged ports
iptables -A INPUT -p TCP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
iptables -A INPUT -p UDP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP

# Finally we add the rules for NAT
iptables -I FORWARD -i ${LAN} -d 192.168.1.0/255.255.255.0 -j DROP
iptables -A FORWARD -i ${LAN} -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

# Tell the kernel that ip forwarding is OK
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
serg_sk
Guru
Guru


Joined: 10 Jul 2004
Posts: 315
Location: Ukraine

PostPosted: Sat Jun 03, 2006 6:24 am    Post subject: Re: Вопрос о iptables Reply with quote

ZmiyGorinich wrote:
Привет всем. Есть вопрос о iptables.
Есть сетка и сервер который работает шлюзом. И Клиенты качают всякий хлам и не дают работать. Хотелбы некоторым клиентам ограничивать работу в интернете.
Может кто-то написать примеры:
1. закрыть порт 82 для всех в локальной сети
2. выключить инет клиенту с IP 192.168.1.3
3. закрыть порт 67 для клиента с IP 192.168.1.4

Вот мои текущие правила:
Code:
# First we flush our current rules
iptables -F
iptables -t nat -F

# Setup default policies to handle unmatched traffic
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Copy and paste these examples ...
export LAN=eth1
export WAN=ppp0

# Then we lock our services so they only work from the LAN
iptables -I INPUT 1 -i ${LAN} -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT

# Drop TCP / UDP packets to privileged ports
iptables -A INPUT -p TCP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
iptables -A INPUT -p UDP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP

# Finally we add the rules for NAT
iptables -I FORWARD -i ${LAN} -d 192.168.1.0/255.255.255.0 -j DROP
iptables -A FORWARD -i ${LAN} -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

# Tell the kernel that ip forwarding is OK
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

Code:

iptables -A INPUT -p tcp -i ${LAN} -s 192.168.1.0/24 --dport 82 -j DROP  -- это если 82ой порт слушает по tcp протоколу.
iptables -A INPUT -p udp -i ${LAN} -s 192.168.1.0/24 --dport 82 -j DROP  -- это если 82ой порт слушает по udp протоколу.
iptables -I FORWARD 1 -i ${LAN} -s 192.168.1.3 -j DROP -- отключаем инет клиенту 192.168.1.3
iptables -I FORWARD 1 -i ${LAN} -d 192.168.1.3 -j DROP -- отключаем инет клиенту 192.168.1.3
iptables -A INPUT -p tcp -i ${LAN} -s 192.168.1.4 --dport 67 -j DROP -- клиенту с 192.168.1.4 отрубаем доступ на 67 порт, который слушает tcp
iptables -A INPUT -p udp -i ${LAN} -s 192.168.1.4 --dport 67 -j DROP -- клиенту с 192.168.1.4 отрубаем доступ на 67 порт, который слушает udp


А зачем правило: iptables -I FORWARD -i ${LAN} -d 192.168.1.0/255.255.255.0 -j DROP ?
_________________
Sorry for my bad englilsh. :)
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel.
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Sat Jun 03, 2006 8:02 am    Post subject: Reply with quote

Есл честно то не знаю... я просто делал вот по этой документации: http://www.gentoo.org/doc/en/home-router-howto.xml
_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
Azik
Apprentice
Apprentice


Joined: 03 Apr 2005
Posts: 151
Location: Russia, Ufa

PostPosted: Sat Jun 03, 2006 8:14 am    Post subject: Reply with quote

Это правило гласит не обрабатывать трафик адресованный из локалки в локалку же. Типа это лишняя работа, напрямую связывайтесь.
Это правило говорит - не пробрасывать никогда из локалки в локалку, как бы глупо это не звучало :)
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Sat Jun 03, 2006 8:30 am    Post subject: Reply with quote

Спасибо serg_sk, все заработало :)

т.е. это правило можно просто убрать? Есть ли где-то информация по iptables именно вот с такими мелкими проблемами?
А то все что я читал там описывается все и очень подробно.
_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Mon Jun 05, 2006 6:25 am    Post subject: Reply with quote

Может поможете написать правила так чтобы запретить все а потом открыть только нужнын порты для определенных сервисов? Например: веб, почта, ICQ, MSN

И как если что потом определить если софт не работает то на какие порты он пытается лезть?
_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
Azik
Apprentice
Apprentice


Joined: 03 Apr 2005
Posts: 151
Location: Russia, Ufa

PostPosted: Mon Jun 05, 2006 10:53 am    Post subject: Reply with quote

А что там писать-то.
В первых строках
Code:
iptables -P INPUT  DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Вот тебе и запрещающая политика по умолчанию. А дальше расписываешь ACCEPT на кадый порт/адрес/сеть/сетевуху.
Авторы нормальных программ декларируют в документации, к каким портам они стучатся (в смысле, не авторы :)). Для ненормальных есть мониторы сетей. Тот же Outpost firewall сойдет для таких целей - сразу видно, в какие порты программа стучится.
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Mon Jun 05, 2006 10:59 am    Post subject: Reply with quote

Azik wrote:
А что там писать-то.
В первых строках
Code:
iptables -P INPUT  DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Вот тебе и запрещающая политика по умолчанию. А дальше расписываешь ACCEPT на кадый порт/адрес/сеть/сетевуху.
Авторы нормальных программ декларируют в документации, к каким портам они стучатся (в смысле, не авторы :)). Для ненормальных есть мониторы сетей. Тот же Outpost firewall сойдет для таких целей - сразу видно, в какие порты программа стучится.


Можно для примера как мне теперь разрешить для все локальных IP ходить по сайтам в инете?
_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
Azik
Apprentice
Apprentice


Joined: 03 Apr 2005
Posts: 151
Location: Russia, Ufa

PostPosted: Mon Jun 05, 2006 11:13 am    Post subject: Reply with quote

iptabels -A FORWARD -i eth0 --dport 80 -p tcp -j ACCEPT

eth0 - сетевая карта, смотрящая в локалку.

Разрешаем всем запросам, пришедшим из интерфейса eth0 (aka из локалки) и пытающимся подключиться к порту 80 по протоколу tcp, вырываться наружу.
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Mon Jun 05, 2006 11:30 am    Post subject: Reply with quote

Azik wrote:
iptabels -A FORWARD -i eth0 --dport 80 -p tcp -j ACCEPT

eth0 - сетевая карта, смотрящая в локалку.

Разрешаем всем запросам, пришедшим из интерфейса eth0 (aka из локалки) и пытающимся подключиться к порту 80 по протоколу tcp, вырываться наружу.


Спасибо. А есть ли простаю документация по iptables? Где рассмотрены вот такие простые задачи без углубления в супер возможности?
_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
hermes_jr
l33t
l33t


Joined: 26 Feb 2004
Posts: 701
Location: Moscow, Russia

PostPosted: Mon Jun 05, 2006 3:04 pm    Post subject: Reply with quote

http://www.opennet.ru/docs/RUS/iptables/index.html
Back to top
View user's profile Send private message
ZmiyGorinich
Guru
Guru


Joined: 27 Feb 2004
Posts: 369
Location: Zaporizhzhe, Ukraine

PostPosted: Mon Jun 05, 2006 3:31 pm    Post subject: Reply with quote

hermes_jr wrote:
http://www.opennet.ru/docs/RUS/iptables/index.html

А по проще нет? :)
_________________
Home: Athlon XP 2000+, ATI Radeon 9200 64Mb, 512Mb, hda:40Gb, hdb:120Gb, DVD-RW
Work : Duron 1.4, S3 ProSavage8 32Mb, 512Mb, hda:40Gb, CD-RW
Design, programming, hosting
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Tue Jun 06, 2006 10:59 am    Post subject: Reply with quote

Quote:
А по проще нет?

есть. Windows Firewall :D
а если серьёзно, то я тоже очень не хотел читать вышеуказанный туториал
имхо, он должен использоваться как справочное пособие
достаточно прочитать первые несколько глав, где описывается порядок прохождения пакетов по цепочкам и состояния соединений
остальные тонкости - уже по ходу написания собственного файра
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum