ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Linux, Freebsd, *nix (https://forum.antichat.xyz/forumdisplay.php?f=124)
-   -   настройка iptables (https://forum.antichat.xyz/showthread.php?t=1850225)

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, Вы даты тех сообщений видели?


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


Время: 12:24