LINUX.ORG.RU
решено ФорумAdmin

[iptables][Debian]Открыть пару портов.


0

1

Сначала все закрыл, потом попытался сделать так, чтобы работал браузер, пакетный менеджер и аплет погоды.

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -A INPUT -p TCP --dport 80 -j ACCEPT 
$IPTABLES -A INPUT -p UDP --dport 53 -j ACCEPT 
$IPTABLES -A OUTPUT -p TCP --dport 80 -j ACCEPT 
$IPTABLES -A OUTPUT -p UDP --dport 53 -j ACCEPT 
Пропадает соединение с интернетом вообще.

А разве правила не срабатывают в порядке обнаружения? 1 правилом ты запрещаешь входящие... 3 - запрещаешь исходящие Дальше ядро и не смотрит на правила. Я ламер в линуксах,но кажется все дело именно в этом

anonymous ()

>Пропадает соединение с интернетом вообще.

Само-собой. Перед такой параноей все же почитай об iptables

$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT

$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT



Не нужно.

$IPTABLES -A -m state --state RELATED,ESTABLISHED -j ACCEPT

madcore ★★★★★ ()
Ответ на: комментарий от anonymous

Сначала ставлю дефолтные настройки для всей системы, потом открываю порт. Если я правильно делаю, конечно. А если, все разрешить и запретить конкретный порт, то работает.

Phaser ()

А зачем FORWARD? Или это сервер? А лучше iptables-save выложи

anonymous ()
Ответ на: комментарий от anonymous
# Generated by iptables-save v1.4.8 on Fri Apr 22 11:57:27 2011
*filter
:INPUT DROP [112:14873]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p udp -m udp --dport 53 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT 
COMMIT
# Completed on Fri Apr 22 11:57:27 2011
Phaser ()
Ответ на: комментарий от Phaser

как уже писали, разреши установленные соединения $IPTABLES -A -m state --state RELATED,ESTABLISHED -j ACCEPT

anonymous ()
Ответ на: комментарий от Phaser

>-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -p udp -m udp --dport 53 -j ACCEPT


Ты читаешь что пишешь? Тебе в таком случае нужно --sport, и оно конечно заработает, но подумай, почему это неправильно.

madcore ★★★★★ ()
Ответ на: комментарий от Phaser
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

для твоего десктопа самое то.

anton_jugatsu ★★★★ ()
Ответ на: комментарий от Phaser

Вобще входящие соединения от запросов пользователей устанавливаются на динамических портах, поэтому все правила IMPUT лучше заменить на -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT Порты будут автоматически разрешатся для соединений инициированных с данного компа. И вобще полная паранойя запрещать все исходящие, это же не венда с троянами, можно и разрешить все исходящие соединения.

Тоесть вполне защищенным будет выглядеть комп с такими правилами:

$IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

anonymous ()

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -p TCP --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -p UDP --dport 53 -j ACCEPT

как-то так

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

на новых ядрах еще вместо -m state --state можно юзать -m conntrack --ctstate

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Phaser

У меня сегодня хорошие настроение - поєтому

Оно не работает по вполне ясным причинам.. 1)

 -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p udp -m udp --dport 53 -j ACCEPT 

Говорит о том что можно подключатся к тебе на 80 порт и 53... но я как догадаюсь у тебя нет не веб сервера не ДНС сервера..... Поэтому эти строки можешь выкинуть вообще...

Но если изучить чуть netstat то можно увидеть примерно такие строки..


tcp        0      0 6.6.6.219:36199         64.13.232.154:80        ESTABLISHED 3480/firefox-bin
tcp        0      0 6.6.6.219:36418         209.85.149.164:80       ESTABLISHED 3480/firefox-bin
tcp        0      0 6.6.6.219:53277         213.186.117.133:80      ESTABLISHED 3480/firefox-bin

Как видим моя машина посылает для веб-сервера в интернете с абсолютно других портов 53277, 36418, 36199 .. поєтому то что ты открыл в цепочке OUTPUT и INPUT 80 порт толком не поможет... надо чтоб оно для уже установленных соединений с веб-сервером пропускало дальше... для этого можно сделать так

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 

а в OUTPUT оставляем как было ...

-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT 
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT 
Tok ★★ ()
Ответ на: комментарий от Pinkbyte

Похоже, что вот так сработало

# Generated by iptables-save v1.4.8 on Fri Apr 22 14:06:20 2011
*filter
:INPUT DROP [16:1035]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT 
COMMIT
# Completed on Fri Apr 22 14:06:20 2011
Все дело в -m state --state RELATED,ESTABLISHED. Спасибо за подсказку. Надо бы еще порт для почтовика открыть tcp 993. А можно для конкретного приложения назначать? Через -m owner --uid-owner UID?

Phaser ()
Ответ на: комментарий от Tok

> но я как догадаюсь у тебя нет не веб сервера
Есть. Поставил в рамках изучения.

Phaser ()
Ответ на: комментарий от Phaser

>Все дело в -m state --state RELATED,ESTABLISHED

да. ты должен принять все входящие пакеты от соединений, которые инициировал сам(за это отвечает -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT)

Pinkbyte ★★★★★ ()

правила читаются сверху вниз!

Почитай для начала вот это

mrtmexx ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.