iptables блокируют доступ к порту 8000 за исключением IP-адреса
Я никогда не использовал iptables, и документация в интернете кажется немного непрозрачной.
Я хотел бы заблокировать все запросы на порт 8000 на моем сервере, кроме тех, которые поступают с определенного IP-адреса. Как это сделать с помощью iptables?
3 ответов:
этот вопрос должен быть на Ошибка Сервера. Тем не менее, следующее должно сделать трюк, предполагая, что вы говорите о TCP, а IP, который вы хотите разрешить, - 1.2.3.4:
iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT iptables -A INPUT -p tcp --dport 8000 -j DROP
другая альтернатива;
sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROPу меня была аналогичная проблема, что 3 bridged virtualmachine просто нужен доступ друг к другу с другой комбинацией, поэтому я протестировал эту команду, и она хорошо работает.
редактировать**
согласно комментарию Фернандо и это ссылке восклицательный знак (
!) будет помещен перед чем
вы всегда можете использовать iptables для удаления правил. Если у вас есть много правил, просто выводить их с помощью следующей команды.
iptables-save > myfile
viчтобы отредактировать их из строки похвалы. Просто используйте "dd", чтобы удалить строки, которые вы больше не хотите.iptables-load < myfile and you're good to go.ПОМНИТЕ, ЧТО ЕСЛИ ВЫ НЕ НАСТРОИТЕ СВОЮ ОС ДЛЯ СОХРАНЕНИЯ ПРАВИЛ В ФАЙЛ, А ЗАТЕМ ЗАГРУЗИТЕ ФАЙЛ ВО ВРЕМЯ ЗАГРУЗКИ, ВАШИ ПРАВИЛА БУДУТ ПОТЕРЯНЫ.
Comments