Назад | Перейти на главную страницу

IPTables разрешает доступ только к локальному хосту

На протяжении многих лет я изо всех сил пытался получить четкое представление об iptables. Каждый раз, когда я пытаюсь прочитать справочные страницы, мои глаза начинают тускнеть.

У меня есть служба, к которой я хочу разрешить доступ только локальному хосту.

Какие условия (или конфигурация, если кто-то чувствует себя щедрым) мне следует поискать в Google, чтобы разрешить только хосту localhost доступ к данному порту?

Если под службой вы подразумеваете конкретный порт, то следующие две строки должны работать. Измените «25» на любой порт, который вы пытаетесь ограничить.

iptables -A INPUT -p tcp -s localhost --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j DROP

Я бы рекомендовал:

iptables -A INPUT -i lo -p tcp --dport $APP_PORT -j ACCEPT
iptables -A INPUT -p tcp --dport $APP_PORT -j DROP

Потому что пакеты с самоадресацией не обязательно имеют 127.0.0.1 в качестве источника, но все они «входят» из lo интерфейс.

Теперь, если ты действительно хочу понять iptables первое, что вам следует сделать, это скачать и распечатать хорошие диаграммы, объясняющие взаимосвязь netfilter таблицы. Вот два замечательных:

Наконец, прочтите много iptables HOWTO's. Практические примеры помогут вам быстро освоиться :)