LINUX.ORG.RU

iptables - вопрос чайника


0

1

У меня виртуальный сервер с вебсервером. Всего делов то осталось разрешить доступ к нему по следующим портам:
80 http
443 https
25 smtp сервер
подскажите пожалуйста команду. Маны читал, но хочется сразу все сделать правильно. Права на ошибку нет.


Вы хотя бы предположите, какую команду вводить, а мы найдём ошибки. Так хотя бы, может быть, научитесь.

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

а если так?
iptables -A INPUT -i eth0 -p TCP -m multiport --dports 80,443,25 -j ACCEPT

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

>и потом для сохранения:

iptables-save


На самом деле, это довольно сложный вопрос.
В redhat-based дистрах достаточно от рута сделать «iptables-save > /etc/sysconfig/iptables» (или «service iptables save»).
В debian-based дистрах это не поможет, т.к. мейнтейнер iptables в дебиане Laurence J Lane считает, что админ должен конфигурировать фаервол ручками после каждой загрузки. Хотя в тестинге таки появился забавный уродец iptables-persistent, читающий конфиг из /etc/default/iptables (емнип).

iptables v1.3.5: Unknown arg `--dport'


Если указываешь порт, укажи и протокол (tcp). Не у всех протоколов порты есть (у icmp, например, нет).

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


Да, это более короткая форма того, что было выше. Должно работать.

Маны читал, но хочется сразу все сделать правильно. Права на ошибку нет.


Если делаешь по удаленке, не забудь добавить в разрешенные порты свой ssh. Иначе это может стать последней ошибкой :)

nnz ★★★★
()

1) -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT

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

2) -A INPUT -i lo -j ACCEPT

lo тоже интерфейс, но врагов по другую его сторону с очевидностью нет.

3) А вообще-то, возьмите старую развалюху, запустите на ней какой-нибудь кноппикс да попробуйте несколько раз. Не такая большая плата за право на ошибку.

lodin ★★★★
()

Во-первых, нужно настроить iptables как на машине-хосте, так и на виртаульной машине. Как это делается, я описывал:
http://www.linux.org.ru/forum/admin/5636910?lastmod=1291399452618#comment-563...

Во-вторых, мало открыть порты.
Нужно их еще пробрасывать:
1) с роутера на хост-машину («Port forwarding»)
2) с хост-машины на ВМ

В-третьих, нужно настроить определенным образом «принятие» портов самой виртуальной машиной. Например, для kvm это делается опциями -redir или нужно строить сетевой интерфейс опцией -net. Подробнее читай man kvm или ищи в гугле «kvm port redirect».

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

Кажысь все дело было в том, что у меня оказывается запущен ip6tables, в котором все уже настроено. Поэтому iptables я просто отключил.

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