Настройка IPTABLES на CentOS 6.* на доступ к определенным портам

Здравствуйте.
1) Есть некий сервер, задача которого отдавать контент (в нашем случае картинки) по запросу через 80 порт (настроен nginx) от всех, кто этого захочет.
2) На этом же сервере есть Gearman Job Server, задача которого принимать задания через порт 4730 от самого себя (localhost) и от другого внешнего сервера.

В связи с этим возникает вопрос, как настроить IPTABLES, чтобы этот сервер мог принимать запросы по порту 80 от всех, кто этого требует, и только от одного (или двух) внешних ip-адресов и самого себя через порт 4730. Ибо у меня есть стойкое ощущение, что если я начну это делать по мануалам, не имея опыта, доступ я закрою сам себе точно.

Я в линуксах знаю не шибко много, по сему, может посоветуете интуитивно понятный файервол, который можно настроить более менее шустро под эти нужды, или же посоветуете годный материал для изучения. Голая статья про iptables на wiki взорвала голову.
Спасибо.
  • Вопрос задан
  • 9689 просмотров
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
iptables -A input -s eth0 -s xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 4730 -j ACCEPT
iptables -A input -s eth0 -p tcp -m tcp --dport 4730 -j DROP

xxx.xxx.xxx.xxx - Это Ваш другой внешний сервер.
eth0 - имя сетевой карты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rekby
Если можно ребутить сервер (т.е. это возможно и это не несет кучу неудобств):
1. iptables -I INPUT -p tcp --dport 22 -j ACCEPT (это чтобы входящие пакеты на ssh всегда принимались)
2. А дальше уже экспериментируете не удаляя первого правила.
3. Если всё же закрылся доступ по ssh - ребут сервер и продолжаете

В контрольных точках можно делать:
iptables-save > file

И потом для возврата к сохраненному состоянию:
iptables-restore < file
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы