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

Могу ли я разместить домен на гостевом компьютере kvm с частным IP?

У меня есть сервер, на котором я хочу разместить несколько доменов.

Скажем так:

example1.com
example2.com
example3.com

У меня только один публичный IP (на данный момент). Я настроил все A-записи так, чтобы они указывали на этот общедоступный IP-адрес. Я могу настроить свой apache для обслуживания файлов для всех доменов без каких-либо проблем, и я могу использовать ssh для любого из этих доменов и подключиться к моему серверу.

Теперь я установил KVM и создал пару гостей. У одного гостя есть частный IP-адрес 192.168.0.100. Я хочу провести example2.com на этого гостя. Поэтому мне нужно как-то направить весь трафик, предназначенный для этого домена, на частный IP-адрес.

Я хочу иметь возможность запускать apache и sshd на нескольких гостях и распределять трафик в соответствии с тем, для какого домена настроен гость.

Возможно ли это вообще в частной сети? Или мне нужны общедоступные IP-адреса для каждого домена?

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

Можно перенаправлять трафик, вы можете перенаправлять трафик с помощью iptables и использовать mod_proxy для проксирования входящих HTTP-запросов на правильный сервер.

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

Например, если у вас есть guest1, мы зарезервируем порт 10000 на нашем общедоступном IP-адресе для пересылки всех пакетов на наш частный IP-адрес guest1 (192.168.1.2) на порт 22:

Сначала разрешите маскировку:

$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Перенаправить трафик, поступающий через порт 10000, на ваш порт ssh на гостевом компьютере 1:

$IPTABLES -A PREROUTING -t nat -p tcp -i eth0 --dport 10000 -j DNAT --to 192.168.1.2:22

Другой способ перенаправить трафик на несколько серверов (в зависимости от нагрузки) - это LVS. ipvsadm это команда, которая его настраивает ...