Туннель GRE / Маршрутный трафик в зависимости от того, к какому домену пользователь пытается получить доступ
Представьте себе такую установку. 5 серверов. Один сервер будет "front-end", весь трафик должен пройти через него, прежде чем идти на 4 других сервера.
Я не хочу, чтобы люди знали IP-адреса других серверов, поэтому они будут зависать на сервере 1 всякий раз, когда они пингуют или отслеживают маршрут или что-то еще.
Зачем мне это? Я думаю о том, чтобы получить защищенный DDOS сервер с надежной компанией, но поскольку фильтрованные IP-адреса дороги, я хочу использовать только 1 IP.
Я думал, если это возможно сделать маршруты, как, если трафик пытается получить доступ к domain2.com на сервере 02, а затем перенаправить его на xxx.xxx.xxx.002, если трафик пытается получить доступ к domain3.com на сервере 3, а затем перенаправить его до xxx.xxx.xxx.003 и так далее.
Я знаю, что могу перенаправить трафик с сервера 1 на другие 4 сервера, используя туннелирование GRE. Но я не знаю способа разделения трафика, как я упоминал выше. Я подумал: "Может быть, используя" iptables ", но я не уверен, что это будет возможно только с iptables, и я не знаю, как это сделать, используя iptables.
Можно ли сделать что-то подобное???
1 ответ
Iptables не имеет полезного механизма для этого, если вы не реализуете фильтрацию уровня 7. Вы должны написать свои собственные фильтры для каждого из сайтов, соответствующие на Host:
заголовок. Это имеет очень существенный недостаток, заключающийся в том, что он не может работать с SSL, и это одна из самых медленных вещей, которые вы можете сделать с iptables.
Вероятно, было бы лучше настроить обратный прокси-сервер на этом хосте, который внутренне разрешает DNS-имена различных сайтов на их внутренние IP-адреса (это можно сделать очень легко с /etc/hosts).