настройка iptables

Тема в разделе "Десктопный Linux", создана пользователем absurdo, 5 дек 2010.

Модераторы: Цукер
  1. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Подскажите как разрешить в iptables доступ к серверу по следующим портам:
    80 http
    443 https
     
  2. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Если правило адо на самом вэбсервере:
    eth0 - сетевой интерфейс на сервере.

    Если правило на фаерволе промежуточном (правило для браузера:(
    --sport 1024:65535 - можно не указывать
     
    beldvd и absurdo нравится это.
  3. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Это правило нужно для самого веб-сервера.
    А если так написать:
    Код:
    iptables -A INPUT --dport 80 -j ACCEPT
    пойдет?

    И еще такой вопрос: как это правило сохранить, чтобы после перезагрузки сервера новое правило было в силе?
     
  4. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Интерфейс и протокол желательно указывать.
    Это правило подойдет только для 80го, 443 я так понял тоже надо?
    Чтоб сказать куда сохранить - зависит от версии ОС, какая на сервере стоит?
     
  5. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    OS CentOS 5.5
    все порты которые нужно открыть:
    80 http
    443 https
    10082 https панели управления Zend Server CE
    5480 https панели управления VMware Virtual Appliance
    5222 xmpp сервер
    5223 xmpp сервер по ssl
    25 smtp сервер
    Код:
    iptables -A INPUT -i eth0 -p TCP -m multiport --dports 80,443,10082,5480,5222,5223,25 -j ACCEPT
    все это относится к TCP? так пойдет?
     
  6. Shark-kun

    Shark-kun Писатель

    Регистр.:
    18 апр 2010
    Сообщения:
    2
    Симпатии:
    0
    Ну на Debian так работать будит точно! с учётом таво что одна сетевая карта и нанеё сделоно несколько IP адресов, один локальный другой инетовский!
    Код:
    iptables -A INPUT -p tcp -m multiport --dports 80,443,10082,5480,5222,5223,25 -j ACCEPT
     
  7. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Оказывается у меня еще и ip6tables был включен, в нем уже все настроено. Поэтому iptables просто отключил.
     
  8. user99

    user99 Постоялец

    Регистр.:
    13 янв 2008
    Сообщения:
    128
    Симпатии:
    13
    Дабы не открывать дубликат темы для вопроса по iptables задам его тут.

    Делаю проброс портов RDP и OpenVPN через iptables вида

    PHP:
    -A POSTROUTING -p tcp -m tcp --dport 3389 -j SNAT --to-source XXX.XXX.XXX.XXX
    -A POSTROUTING -p udp -m udp --dport 1194 -j SNAT --to-source XXX.XXX.XXX.XXX
    -A PREROUTING -p tcp -m tcp --dport 3389 -j DNAT --to-destination XXX.XXX.XXX.XXX:3389
    -A PREROUTING -p udp -m udp --dport 1194 -j DNAT --to-destination XXX.XXX.XXX.XXX:1194
    Но есть одно но, после такого на серверах в логах стоит IP этого самого сервера, а OpenVPN вообще не работает корректно раз IP конечного клиента определяется IP сервера, подскажите пожалуйста как можно передавать Real IP удаленной машинки которая делает запрос?
     
  9. pikasun

    pikasun Постоялец

    Регистр.:
    23 сен 2009
    Сообщения:
    117
    Симпатии:
    9
    Можно скрипт запускать в любой системе при загрузке, после инициализации сетевых интерфейсов. Что то типа этого.
    Код:
    #!/usr/bin/perl
    $IPTABLES = "/sbin/iptables"; #Путь к iptables
    system ("$IPTABLES -t nat -F"); #Очищаем таблицу nat
    open (PRE,"/etc/iptables/pre") or die("Cannot open file"); #Открываем файл с Ip адресами к примеру.
    while (defined($a=<PRE>)) {
    chomp $a;
    system ("$IPTABLES -t nat -A PREROUTING -s $a -j RETURN");
    }
    close(PRE);
     
  10. user99

    user99 Постоялец

    Регистр.:
    13 янв 2008
    Сообщения:
    128
    Симпатии:
    13
    pikasun, Вы даты тех сообщений видели?

    И еше вопрос назрел, возможно я не верно делаю проброс порта, как понял из мануалов DNAT это как раз маскировка под мой IP, а мне нужно FORWARD? Помогите пожалуйста все верно реализовать, а то филиал ждет связи :).