Main > Abyss | Hetzner | Linux | Notes > Centos 8: Доступ к порту только с определенных ip

Centos 8: Доступ к порту только с определенных ip

19.01.2020 0 comments » Views: 1,055

Iptables firewall

Потихоньку мигрирую в клауд Hetzner-а разнося монолитную инфраструктуру по серверам. Столкнулся с тем, что в процессе миграции необходимо открыть порты на внешних адресах, пока весь зверинец не мигрирует в одну приватную подсеть. Сегодня расскажу как просто и быстро ограничить подключение к порту только с определенных ip..

Прежде всего, стоит заметить, что я буду использовать iptables, пока мне так удобнее. Наиболее правильное решение, использовать вместо iptables, firewalld. Но, мне пока надо, просто и быстро, поэтому пока воспользуемся iptables..

Для примера возьмем MySQL, по-умолчанию он работает на порте 3306. В my.cnf указываем в качестве интерфейса 0.0.0.0 и отключаем опцию skip-networking:

далее составляем список ip с которых можно будет коннектиться, пусть это будут такие адреса:

  • 192.168.100.50
  • 192.168.100.55
  • 192.168.100.60

** тут намерено указаны локальные адреса, в вашем случае тут должны быть внешние адреса серверов с которых будет осуществляться подключение

теперь, добавляем правила iptables в цепочку INPUT которые разрешать подключение с этих адресов

далее, добавляем правило iptables которое заблокирует все остальные подключения

Вот и все, теперь можно проверить подключение с удаленной машины

** 192.168.200.200 внешний адрес машины с MySQL

Следующее, что нужно упомянуть, это то, как просмотреть и удалить правила. Просмотр

удаление

** 3 = номер правила указанный в выводе команды iptables -L --line-numbers

Правила, будут работать только до перезагрузки машины, чтобы сохранить их на постоянной основе понадобиться установить пакет iptables-services

после этого текущие правила можно сохранить вот такой командой и они будут загружены автоматически после перезагрузки

Как видите, все довольно просто.

-- [еще пару полезных команд по iptables] --

Очистить все правила из цепочки INPUT

Очистить все правила из цепочки INPUT и восстановить доступ для всех

Очистить все что можно 🙂

** "iptables -P INPUT ACCEPT" два раза, тк в случае если политика по-умолчанию DROP и вы подключены удаленно, после iptables -F, вас может выкинуть.

Author: | Rating: 4/5 | Tags: , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>