Настройка IPTABLES на CentOS 6.* на доступ к определенным портам
Здравствуйте.
1) Есть некий сервер, задача которого отдавать контент (в нашем случае картинки) по запросу через 80 порт (настроен nginx) от всех, кто этого захочет.
2) На этом же сервере есть Gearman Job Server, задача которого принимать задания через порт 4730 от самого себя (localhost) и от другого внешнего сервера.
В связи с этим возникает вопрос, как настроить IPTABLES, чтобы этот сервер мог принимать запросы по порту 80 от всех, кто этого требует, и только от одного (или двух) внешних ip-адресов и самого себя через порт 4730. Ибо у меня есть стойкое ощущение, что если я начну это делать по мануалам, не имея опыта, доступ я закрою сам себе точно.
Я в линуксах знаю не шибко много, по сему, может посоветуете интуитивно понятный файервол, который можно настроить более менее шустро под эти нужды, или же посоветуете годный материал для изучения. Голая статья про iptables на wiki взорвала голову.
Спасибо.
Спасибо за ответ. Соответственно если нужен еще 1 внешний адрес сервера, добавляю после первой строчки: iptables -A input -s eth0 -s yyy.yyy.yyy.yyy/32 -p tcp -m tcp --dport 4730 -j ACCEPT
а DROP для остальных остается без изменений?
Если можно ребутить сервер (т.е. это возможно и это не несет кучу неудобств):
1. iptables -I INPUT -p tcp --dport 22 -j ACCEPT (это чтобы входящие пакеты на ssh всегда принимались)
2. А дальше уже экспериментируете не удаляя первого правила.
3. Если всё же закрылся доступ по ssh - ребут сервер и продолжаете
В контрольных точках можно делать: iptables-save > file
И потом для возврата к сохраненному состоянию: iptables-restore < file