Мне нужен 1 интерфейсный сервер, на котором будет работать haproxy, а остальные 3 сервера будут использоваться для интерфейсных веб-серверов, серверов баз данных и сервера Redis.
Таким образом, должен быть открыт только 1 сервер vps, а остальные 3 должны взаимодействовать друг с другом и т. Д.
Вы бы порекомендовали мне использовать для этого iptables? Или что-то другое?
Вы можете использовать: ufw - Несложный брандмауэр
https://help.ubuntu.com/8.04/serverguide/C/firewall.html
Все очень просто.
iptables сам по себе может быть довольно сложным. Я бы предложил использовать CSF: http://www.configserver.com/cp/csf.html . Его довольно просто настроить, и с его помощью вы можете легко запретить весь трафик на свои «внутренние» машины.
Если все виртуальные машины имеют общедоступные IP-адреса, я бы посоветовал заблокировать их, насколько это возможно - просто разрешите SSH-вход, даже если он только с вашего IP-адреса. Затем просто откройте порты, необходимые между виртуальным запущенным haproxy и другими машинами.
Я бы рекомендовал использовать сам iptables, а не что-либо еще, потому что всегда хорошо знать, что именно вы блокируете и (что более важно) что вы пропускаете.