PDA

Просмотр полной версии : настройка iptables


absurdo
05.12.2010, 03:33
Подскажите как разрешить в iptables доступ к серверу по следующим портам:
80 http
443 https

ask0n
05.12.2010, 14:44
Если правило адо на самом вэбсервере:


iptables -A INPUT -i eth0 -p TCP -m multiport --dports 80,443 -j ACCEPT


eth0 - сетевой интерфейс на сервере.

Если правило на фаерволе промежуточном (правило для браузера


iptables -A OUTPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -o eth0 -p tcp -m multiport --dports 80,443 --sport 1024:65535


--sport 1024:65535 - можно не указывать

absurdo
05.12.2010, 16:43
Это правило нужно для самого веб-сервера.
А если так написать:

Код:



iptables -A INPUT --dport 80 -j ACCEPT


пойдет?

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

ask0n
05.12.2010, 18:59
absurdo написал(а):

Это правило нужно для самого веб-сервера.
А если так написать:

Код:



iptables -A INPUT --dport 80 -j ACCEPT


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


Интерфейс и протокол желательно указывать.
Это правило подойдет только для 80го, 443 я так понял тоже надо?
Чтоб сказать куда сохранить - зависит от версии ОС, какая на сервере стоит?

absurdo
05.12.2010, 19:48
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? так пойдет?

Shark-kun
07.12.2010, 03:12
Ну на Debian так работать будит точно! с учётом таво что одна сетевая карта и нанеё сделоно несколько IP адресов, один локальный другой инетовский!

Код:



iptables -A INPUT -p tcp -m multiport --dports 80,443,10082,5480,5222,5223,25 -j ACCEPT

absurdo
07.12.2010, 14:34
Оказывается у меня еще и ip6tables был включен, в нем уже все настроено. Поэтому iptables просто отключил.

user99
12.07.2011, 18:31
Дабы не открывать дубликат темы для вопроса по 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 удаленной машинки которая делает запрос?

pikasun
13.07.2011, 17:24
absurdo написал(а):

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


Можно скрипт запускать в любой системе при загрузке, после инициализации сетевых интерфейсов. Что то типа этого.

Код:



#!/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=)) {
chomp $a;
system ("$IPTABLES -t nat -A PREROUTING -s $a -j RETURN");
}
close(PRE);

user99
13.07.2011, 18:16
pikasun, Вы даты тех сообщений видели?

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

domian
14.07.2011, 09:35
отпишусь и я в данной теме.
Никогда раньше не вставала именно такая задача: сделать чтобы к одному внешнему IP адресу доступ был открыт по всем портам.
eth0 - внешний интерфейс, eth1 - внутренний.

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

pikasun
14.07.2011, 09:52
user99 написал(а):

pikasun, Вы даты тех сообщений видели?


Заметил, но поздно Это от работы