Правило iptables для доступа к Интернету

Я сделал политику по умолчанию для своей машины,

iptables -A INPUT -j REJECT #DROP ALL PACKETS TO INPUT CHANNEL 

Канал INPUT заблокирован. Теперь я хочу разрешить только некоторые конкретные службы, например, я должен иметь доступ к Интернету. Итак, какое правило я должен добавить? Порт 80 для HTTP, поэтому я попытался разрешить этот порт

 iptables -A INPUT -p tcp --dport 80 ACCEPT 

Но это не сработало. Дайте мне знать, как я могу это сделать?

  • Автоматически инициировать исходящее SSH-соединение на сервере при подключении клиента
  • dmesg заливается брандмауэрами
  • Рандомизация порта источника для новых соединений
  • Какой инструмент выполнить команду для повторных записей в системном журнале?
  • Iptables в linux
  • Настройка параметров сетевого прокси-сервера для всех пользователей на Ubuntu (без перезагрузки)
  • Доступ к Интернету с помощью iptables: выбор соединения для совместного использования
  • Использование VPN для определенных приложений через сетевое пространство имен
  • One Solution collect form web for “Правило iptables для доступа к Интернету”

    Правила iptables являются последовательными, то есть первое правило, которое они нажимают, выполняет совпадение. такие правила, как ACCEPT, DROP и REJECT, являются терминальными, то есть пакет не будет продвигаться дальше в цепочку. -A означает добавление . Так что вы сделали

    • сопоставить все и ОТКАЗАТЬ это # ​​все останавливается здесь
    • принять tcp-порт 80 #, мы никогда не достигаем этого, потому что все там остановилось ^

    К сожалению, порт tcp 80 является частью всего, и, таким образом, вы никогда не достигнете своего второго правила. Промойте цепочку INPUT с помощью -F и измените порядок, в котором вы запускаете свои правила. Я также рекомендую прочитать статью Дэна Роббинса о разработке брандмауэра с сохранением состояния, который предназначен не только для ядер gentoo или 2.4.

    Linux и Unix - лучшая ОС в мире.