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

Как открыть порты в цепочке INPUT только для целевого IP с помощью iptables?

У меня есть сервер Debian 7 Wheezy с 2 назначенными IP-адресами. У меня разные службы на разных портах, назначенных IP-адресам. Как настроить правило iptables, чтобы оно работало только с одним IP?

Пример: у меня есть 2 IP-адреса: 192.168.1.234 и 192.168.1.235. Я хочу, чтобы порт 56 был открыт только для 192.168.1.234, а порт 80 - только для 192.168.1.235.

  • определить политику по умолчанию для INPUT цепочка:

    iptables -P INPUT DROP

  • разрешить подключение к определенным комбинациям IP-адресов и портов UDP / TCP (пример с TCP):

    iptables -A INPUT -d 192.168.1.234 -m tcp -p tcp --dport 56 -j ACCEPT iptables -A INPUT -d 192.168.1.235 -m tcp -p tcp --dport 80 -j ACCEPT

  • любой другой трафик будет отключен, поскольку политика по умолчанию DROP поэтому рекомендуется регистрировать его до того, как правила будут запущены в производство, чтобы убедиться, что все работает так, как определено:

    iptables -A INPUT -m limit --limit 2/min -j LOG --log-prefix "Dropped: "

  • наконец, вы можете удалить это правило ведения журнала