Автор Тема: "iptables" проблем!  (Прочетена 6586 пъти)

emagi

  • Напреднали
  • *****
  • Публикации: 249
    • Профил
"iptables" проблем!
« -: Jan 27, 2007, 23:17 »
Играя си с iptables,за да разбера същността му!
Та давам iptables -P FORWARD DROP
Искам да спомена,че рутирам нет чрез LINUX-а машина, и "давам" нет на Windows-а машина!Та към БТК съм:
192.168.1.1 (modem) -->etho:192.168.1.2 -->eth1:172.16.2.1 -->172.16.2.0/24 (ip на Windows-аката машина,направил съм DHCP сървър!'<img'>
Та пиша :
iptables -P FORWARD DROP
НЯМА НЕТ!
После разрешавам:
#DNS
iptables -A FORWARD -p udp -s 172.16.2.0/24 -m state --state NEW,RELATED  --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s 172.16.2.0/24 -m state --state NEW,RELATED --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -s 172.16.2.0/24 -m state --state NEW --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -s 172.16.2.0/24 -m state --state NEW --dport 443 -j ACCEPT
#NAT
iptables -t nat -A POSTROUTING -s 172.16.2.0/24 -o eth0 -j MASQUERADE

Или някъде греша,или съм забравил нещо!Помогайте ':p'  ':p'  ':p'
Няма нет и няма!



Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
"iptables" проблем!
« Отговор #1 -: Jan 28, 2007, 01:02 »
Разрешаваш само пакети, които не са свързани с предишни такива ...
Т.е. прим. пускаш само SYN пакетите ...

... а и тези правила, ако ми обясниш какво искаш да правиш с тях, при условие, че са -s 172.16.2.0/24 ...



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
"iptables" проблем!
« Отговор #2 -: Jan 28, 2007, 01:34 »
BTW много е странно как хората филтрират пакети според conntrack state и нямат грам  обяснение защо го правят. Сега примерно ако някой ми обясни какъв е смисъла на RELATED в това правило:

iptables -A FORWARD -p udp -s 172.16.2.0/24 -m state --state NEW,RELATED  --dport 53 -j ACCEPT

ще съм много благодарен '<img'>
Активен

"Knowledge is power" - France is Bacon

emagi

  • Напреднали
  • *****
  • Публикации: 249
    • Профил
"iptables" проблем!
« Отговор #3 -: Jan 28, 2007, 11:14 »
Правя го по едни тука лекции,а искам да схвана правилата и смисъла,затова питам!Казах,ще се радвам на всяко обяснение!
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
"iptables" проблем!
« Отговор #4 -: Jan 28, 2007, 11:29 »
man iptables:

Цитат

 state
       This module, when combined with connection tracking, allows access to the connection tracking state for this packet.

       --state state
              Where  state  is a comma separated list of the connection states to match.  Possible states are INVALID meaning that the packet could not be identified for some reason which includes running out of memory and ICMP errors  which  don't  correspond  to  any known  connection,  ESTABLISHED  meaning  that the packet is associated with a connection which has seen packets in both directions, NEW meaning that the packet has started a new connection, or otherwise associated with a connection which has  not  seen packets  in both directions, and RELATED meaning that the packet is starting a new connection, but is associated with an existing connection, such as an FTP data transfer, or an ICMP error.


'<img'>

Прочети и ако имаш въпроси питай '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

emagi

  • Напреднали
  • *****
  • Публикации: 249
    • Профил
"iptables" проблем!
« Отговор #5 -: Jan 28, 2007, 13:02 »
Модул за състоянията (The State Match)

Най-полезният критерий за сравнение се предоставя от модулът за `състоянията', който интерпретира информацията за следене на връзките предоставена от `ip_conntrack' модула. Използването му е силно препоръчително.

Задавайки `-m state' можем да използваме допълнителната опция `--state', която е списък от състояния, разделени със запетая, с някое от които пакета трябва да съпвада (флагът `!' указва, че пакета трябва да не съвпада с тези състояния). Състоянията могат да бъдат:

NEW

    Пакет, който създава нова връзка.
ESTABLISHED

    Пакет, който принадлежи към връзка, която вече съществува (примерно пакет-отговор, или изходящ пакет по връзка от която вече са получавани отговори).
RELATED

    Пакет, който e свързан с, но не е част от вече съществуваща връзка, примерно ICMP грешка, или (ако е зареден FTP модулът) пакет който инициира връзка за предаване на данни по ftp.
INVALID

    Пкает, който не може да бъде идентифициран поради някаква причина: това включва недостатъчно свободна памет и ICMP съобщения за грешки, които не са свързани с никоя от известните връзки. По принцип тези пакети трябва да бъдат спирани.

Ако може,обясни ми с примери!Както съм в случая аз,давам iptables -P FORWARD DROP!Какво трябва да се напише,за да има пак нет?



Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
"iptables" проблем!
« Отговор #6 -: Jan 28, 2007, 14:04 »
Ти не искаш да ти пиша примери '<img'>

След като знаеш какво е ESTABLISHED виж си твоята стена и ми кажи, примерно за порт 80, как очакваш да минават други пакети освен SYN ( или само първите пакети от връзката )...



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

emagi

  • Напреднали
  • *****
  • Публикации: 249
    • Профил
"iptables" проблем!
« Отговор #7 -: Jan 28, 2007, 17:30 »
Цитат (emagi @ Ян. 28 2007,00:17)
iptables -A FORWARD -p tcp -s 172.16.2.0/24 -m state --state NEW --dport 80 -j ACCEPT

Под пример исках да кажа,това:Примерно горно изречение означава: Добави правило за веригата Forward ,по протокол tcp  със източнико ip адреси 172.16.2.0/24 .........
Та стигам до тук!аз не знам,не мога да разбера какво означават тези три понятия.Там ми е проблема,колкото и смешно да звучи,но е много важно да не пиша в последствие правила,и да се чудя защо няма това,защо няма онова.Добре,след като съм въвел iptables -P FORWARD DROP,всичко е "дроб" ':p' ,и сега нямаме никакви връзки,всички портове за затворени!Примерно:
iptables -A FORWARD -p tcp -s 172.16.2.0/24 -m state --state RELATED,ESTABLISHED --dport 80 -j ACCEPT
означава(по бебешки):
Добави правило за веригата Forward ,по протокол tcp  със източник ip адрес 172.16.2.0/24 и ПРИЕМИ пакети,принадлежащи на към връзката,която съществува,и пакети,които не са свъзани,но са част от вече същесвуваща връзка по порт 80  
Извинявам се,ако е малко глуповато,но е важно именно така детайлно да го разбера!
Но кои,пакети и към коя пренадлежаща връзка,и кои пакети на вече КОЯ съществуваща връзка,НЕ МОГА ДА РАЗБЕРА!
Предварително ВИ благодаря,че отделяте толкова време!!!
Активен

Radev

  • Напреднали
  • *****
  • Публикации: 218
    • Профил
    • WWW
"iptables" проблем!
« Отговор #8 -: Jan 28, 2007, 19:14 »
@emagi: Помагащите тук във форума не обичат да смилат информацията за питащите (освен може би в статиите), а по-скоро те насочват към доста подробни статийки за четене и най-вече на английски, защото там са повече, по-актуални и по-подробни. '<img'>
Друго мое наблюдение е, че се стараят да разсяват заблуди, но за целта трябва да ги провокираш да мислят по този начин, коеот не съм сигурен, че знам точно как става. '<img'>

Та искам да кажа, че ако опишеш твоите умозаключения и те не са правилни все ще се намери кой да те светне, но ако очакваш някой подробно да ти обясни всичко без да го провокираш с конкретни проблемчета е меко казано неоснователно. ':p'

P.S.: 1. Мен например ме дразни, че не знаеш кога се оставя интервал или не ти пука!
2. На мен също ми е интересна темата, защото и аз като теб трябва да вникна в идеята за управление на IP пакетите - дай (ако няма) да направим една wiki страничка на тази тема, а съм сигурен, че за конкретни въпроси лесно ще намерим компетентни отговори.
Активен

Човек и добре да живее... !

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
"iptables" проблем!
« Отговор #9 -: Jan 28, 2007, 19:29 »
Вероятно искаш илюстрация на TCP протокола, обяснение що е то connection tracking, NAT, всичкото това е много добре обяснено и описано и няма смисъл точно тук да търсиш отговора.

Що се отнася до твоят проблем, те са по-скоро два: пропускаш пакети само в едната посока (-s blabla), пропускаш пакети, които за conntrack са "инициращи връзка", т.е само SYN за TCP или само първия UDP пакет в една UDP комуникация, както Vladsun ти е обяснил два пъти. Всичко останало се дропи и затова нямаш "интернет" зад тази машина.

След като искаш илюстрация, ще обясня какво става като се опиташ да отвориш сайт в браузъра. Първо, браузърът се опитва да резолв-не адреса на сървъра (http://www.site.tld->IP, A record). Ако имаш работещ DNS сървър на рутера и клиентите от частната мрежа го ползват, резолвинга успява, защото пакетите не се match-ват от "FORWARD" веригата, а от INPUT/OUTPUT. Ако се ползва "външен" DNS сървър, то успяваш да пратиш заявка за A record-a, но "отговорът" се издроп-ва поради твоите правила (не пускаш ESTABLISHED).

Ако успееш да резолв-неш адреса на сървъра, браузърът праща HTTP GET заявка до него. За целта първо трябва да се установи TCP връзка, за целта пращаш SYN пакет, който трябва да се потвърди от сървъра с SYNACK пакет, ти да върнеш ACK и така сесията да се счита за установена. Твоите правила пропускат обаче единствено твоят SYN пакет, отговорът бива "издропен" и TCP връзка не се установява.
Активен

"Knowledge is power" - France is Bacon

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
"iptables" проблем!
« Отговор #10 -: Jan 28, 2007, 19:35 »
Най-голямата ти грешка е, че пускаш пакетите само в едната посока (колко и малко пакети да пускаш) - всички правила за ACCEPT са само за източник 172.16.2.0/24 (-s 172.16.2.0/24). А обратният канал няма ACCEPT, т.е. е DROP '<img'>

Втората ти голяма грешка е, че си объркал посоките на защитната стена - в момента по-скоро "защитаваш" Интернет от локалната мрежа, а не обратното ...

Първа по-конкретна подсказка:
state NEW го имаш от страна на сърверите ...

ПП: gateway малко ме изпревари '<img'>



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

emagi

  • Напреднали
  • *****
  • Публикации: 249
    • Профил
"iptables" проблем!
« Отговор #11 -: Jan 28, 2007, 19:55 »
gat3way мног благодаря за отговора!Донякъде ми се изясни,но все още не мога да разбера смисъла на тези три вълшебни думи:RELATED,ESTABLISHED,NEW!Кога се ползват те!
Активен

emagi

  • Напреднали
  • *****
  • Публикации: 249
    • Профил
"iptables" проблем!
« Отговор #12 -: Jan 28, 2007, 20:00 »
Цитат (VladSun @ Ян. 28 2007,20:35)
Най-голямата ти грешка е, че пускаш пакетите само в едната посока (колко и малко пакети да пускаш) - всички правила за ACCEPT са само за източник 172.16.2.0/24 (-s 172.16.2.0/24). А обратният канал няма ACCEPT, т.е. е DROP '<img'>

Втората ти голяма грешка е, че си объркал посоките на защитната стена - в момента по-скоро "защитаваш" Интернет от локалната мрежа, а не обратното ...

Първа по-конкретна подсказка:
state NEW го имаш от страна на сърверите ...

ПП: gateway малко ме изпревари '<img'>

VladSun сега видях поста ти!И ти и gat3way с всеки пост допринасяте за усвояването на iptables.Едната грешка:
 пускам вътрешна мрежа --> нет чрез -172.16.2.0/24, а забравям обратното да разреша -d 172.16.2.0/24
Остава да разбера NEW,ESTABLISHED,RELATED! '<img'>  '<img'>  '<img'>



Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
"iptables" проблем!
« Отговор #13 -: Jan 28, 2007, 20:11 »
Приеми, че си "обикновен потребител" (т.е. не пускаш сървери) на един от компютрите от лок. мрежа - тогава няма да искаш пакети със state NEW да идват КЪМ твоята машина, но ще искаш ти да можеш да пращаш такива за да установяваш връзка с разни www сървери например. Освен това ще искаш да получаваш всички пакети към току що установената връзка (т.е. state ESTABLISHED), както от Интернет към теб, така и на обратно (тук е мястото да попрочетеш малко за TCP протокола). RELATED пакетите пък ще ти трябват за онези протоколи, които работят с повече от една TCP връзка (не само FTP, има и IRC сървери на които, ако не им отговориш с ident не те пускат).

С други думи ACCEPT правилата за пакетите идващи ОТ локалната мрежа обхващат и 3-те валидни състояние на пакетите.
За пакетите КЪМ локалната мрежа - текста по-горе '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

emagi

  • Напреднали
  • *****
  • Публикации: 249
    • Профил
"iptables" проблем!
« Отговор #14 -: Jan 28, 2007, 20:30 »
Цитат (VladSun @ Ян. 28 2007,21:11)
Приеми, че си "обикновен потребител" (т.е. не пускаш сървери) на един от компютрите от лок. мрежа - тогава няма да искаш пакети със state NEW да идват КЪМ твоята машина, но ще искаш ти да можеш да пращаш такива за да установяваш връзка с разни www сървери например. Освен това ще искаш да получаваш всички пакети към току що установената връзка (т.е. state ESTABLISHED), както от Интернет към теб, така и на обратно (тук е мястото да попрочетеш малко за TCP протокола). RELATED пакетите пък ще ти трябват за онези протоколи, които работят с повече от една TCP връзка (не само FTP, има и IRC сървери на които, ако не им отговориш с ident не те пускат).

С други думи ACCEPT правилата за пакетите идващи ОТ локалната мрежа обхващат и 3-те валидни състояние на пакетите.
За пакетите КЪМ локалната мрежа - текста по-горе '<img'>

E това,ако има пак нещо ще питам!Иначе, едно ГОЛЯМО БЛАГОДАРЯ!
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
"Grub" sled preinstalacia na Windows
Настройка на програми
merman 1 5249 Последна публикация May 25, 2003, 11:27
от wandererbg
HDD ext3 recover, "Stellar Phoenix Linux" ??
Настройка на хардуер
help40 3 7149 Последна публикация Sep 20, 2012, 21:51
от Acho
"paskal case" / "camel case"
Общ форум
Apache 3 8946 Последна публикация Aug 11, 2006, 10:01
от ivak
Проблем с "struct cdev" и "struct semaphore"
Общ форум
halturata 22 14689 Последна публикация Aug 14, 2007, 17:31
от tarator
Проблем с "reboot", "halt" и т.н.
Настройка на програми
turboshark 5 8984 Последна публикация Sep 22, 2007, 00:13
от turboshark