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

IPTABLES для нескольких публичных IP-адресов

В настоящее время у меня есть два сервера под управлением Debian 7 с настройкой HA Active / Passive с использованием Pacemaker и Corosync следующим образом:

node1->IP->xx.xx.xx.1
node2->IP->xx.xx.xx.2
VIP(Floating IP) ->xx.xx.xx.3

Он настроен с тактовым сигналом для настройки аварийного переключения. Все IP-адреса, указанные выше, являются общедоступными.

Система работает, как и предполагалось, с высокой доступностью, когда другой узел выходит из строя и т. Д. Когда одна из систем активна, одному серверу будут назначены два IP-адреса.

Итак, вот мой вопрос-

  1. Нужно ли мне добавлять отдельные правила iptable для разных IP-адресов (VIP и статический общедоступный IP)?

  2. Как разрешить (прослушивать) трафик только на определенном IP (VIP) для службы для сервера eg-DB, а не с другого публичного адреса (xx.1) из внешнего мира.

    Если у вас есть что-то, что касается настройки безопасности и т. Д., Прокомментируйте ..

Спасибо

Нужно ли мне добавлять отдельные правила iptable для разных IP-адресов (VIP и статический общедоступный IP-адрес)?

Это зависит от того, как вы iptables правила похожи. Если вы явно разрешаете доступ к определенным IP-адресам, то да, вам нужно добавить правила для VIP. Если вы просто принимаете подключения к определенному порту, то нет.

Как разрешить (прослушивать) трафик только на определенном IP (VIP) для службы для сервера eg-DB, а не с другого публичного адреса (xx.1) из внешнего мира.

Это зависит от программного обеспечения, используемого для конкретной службы. Например. MySql можно указать привязку к определенному IP-адресу, чтобы соединение с любым другим IP-адресом не было успешным. Вы также можете использовать iptables чтобы заблокировать все, кроме сервисного порта высокой доступности на VIP.

Мое личное правило с iptables всегда явно разрешать эти соединения. Я знать необходимы, а все остальное заблокировать.

Если вы хотите заблокировать все на VIP, кроме услуги, которую вы делаете высокодоступной, например http на порт 80:

iptables -A INPUT -d xx.xx.xx.3 --protocol tcp --dport 80 -j ACCEPT
iptables -A INPUT -d xx.xx.xx.3 -j REJECT

Аналогичным образом разрешите или заблокируйте порты на не-VIP-адресах в соответствии с вашими пожеланиями.

Вы должны иметь более ранний INPUT правило, которое принимает весь протокол icmp трафик, кстати; множество неясных сетевых проблем вызвано тем, что люди по незнанию блокируют icmp пакеты.