LINUX.ORG.RU
ФорумAdmin

Открытие портов iptables


0

1

У меня несколько вопросов:

  • 1. Необходимо открыть порты: отправки почты с php(25 вроде) и curl в php(незнаю какой). Не пойму в какую цепочку добавлять данные правила? Соединения исходящие, следовательно цепочка OUTPUT, но что-то не работает. И какое назначение --dports или --sports?
    -A OUTPUT -p tcp -m multiport --dports 25,и еще... -j ACCEPT
    
  • 2. При коннекте по ssh или ftp время ожидания 20 секунд, где меняется это значение?


Последнее исправление: ivan2012 (всего исправлений: 2)
Ответ на: комментарий от getup

что показать правила остальные? Лучше на вопросы ответь.

ivan2012
() автор топика

curl в php

Это оно через curl будет на другие веб-сервера лезть? Тогда, вероятно, 80 порт.

время ожидания 20 секунд

В /etc/ssh/sssd_config есть директивы UseDNS и GSSAPIAuthentication, которые можно отключить, если вы не полагаетесь на них как на дополнительные меры защиты - они могут серьезно увеличивать латентность установки ssh-сессии. Про ftp не знаю, возможно, там тоже есть такие тонкости, и это, конечно, зависит от того, какой именно реализацией ftp вы ползуетесь.

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

sport - это source port. dport - это destination port. Для того, чтобы выпустить пакет, который хочет попасть на 80 порт, нужно использовать dport, а если бы этот пакет шел с 80 порта, то нужно было бы использовать sport.

Цепочка также определяется тем, в какую сторону вы хотите пропустить пакет. Если просто выпустить пакет наружу - то OUTPUT, если ваша машина - роутер, то скорее FORWARD.

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

Не подскажите, почему тогда при таком правиле -A OUTPUT -p tcp -m multiport --dports 25,80 -j ACCEPT не отправляется почта, да и curl тоже не пашет.

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

Не подскажите, почему тогда при таком правиле -A OUTPUT -p tcp -m multiport --dports 25,80 -j ACCEPT не отправляется почта, да и curl тоже не пашет.

Потому что ключ -A добовляет в конец цепочки, если ранее стоит блокирующие правило то, работать не будет. Возможно есть правило в цепочке INPUT, которое блокирует ответный входящий трафик. Тебя просили выложить iptables-save

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

Хм возможно.
Правила INPUT примерно такие:

  • 1. разрешить белому списку ipset порт 80
  • 2. запретить черному списку все.
  • 3. Разрешить 80.
  • 4. Добавить в черный список.
  • 5. Закрыть все порты.

OUTPUT:

  • 1. Разрешить 25, 80.
ivan2012
() автор топика
Ответ на: комментарий от Yur4eg

да работает, но мне надо бы конкретнее выяснить какие порты открыть. Как выяснить какие порты были использованы/используются этим конкретным данным правилом?

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

[code]
iptables -I INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
[/code]
Это разрешает в INPUT пакеты, связанные с уже установленными моединениями. Погугли iptables conntrack. То есть если PHP через cyrl полез куда-то на 80 порт - чтобы соединение прокатило, он должен получить пакеты, приходящие в ответ. Это правило стоит ставить первым в цепочке INPUT. Какие порты используются в данный момент - смотри
[code]
netstat -nap
[/code]
Информацию о текущем состоянии ConnTrack можно получить откуда-то из /proc, наизусть не вспомню

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