Имеется:
1 сервер в качестве шлюза, пропускающий офисную сеть в инет. На нем 2 сетевого и-фейса:
eth0: 83.172.xxx.xxx
eth1: 192.168.0.1
ясно, что в сети используются адреса 192.168.0.0/24.
имеется ещё один сервер...помощнее первого :) имеет локальный адрес 192.168.0.xxx, на нём поднят Apache. Чтобы было видно из мира вэб-сервер на шлюзе сделано:
iptables -t nat -A PREROUTING -p TCP -d 83.172.xxx.xxx --dport 80 -j DNAT --to-destination 192.168.0.xxx:80ну, и чтобы сам он мог выбегать в инет, существует правило
iptables -t nat -A POSTROUTING -s 192.168.0.xxx -d 0.0.0.0/0 -j MASQUERADE"1" передана в /proc/sys/net/ipv4/ip_forward
Собственно проблема:
имя, скажем, office.mycompany-domain.ru, связанное с ip: 83.172.xxx.xxx отлично работает через ДНАТ. заводим на 83.172.ххх.ххх ещё одно имя, скажем, new.virtualhost.ru...заводим
в httpd.confNameVirtualHost new.virtualhost.ru
<VirtualHost new.virtualhost.ru>
ServerAdmin vveber@no-spam.com
ServerName new.virtualhost.ru
DocumentRoot "/home/users/new/www"
ErrorLog "/home/users/new/logs/error_log"
CustomLog /home/users/new/logs/access_log common
<Directory "/home/users/new/www">
Options +Includes -Indexes
AllowOverride All
</Directory>
</VirtualHost>
рестартим апач, и всё равно вхоста не видно, ни из локалки, ни из мира. Оба домена корректно обрабатываются ДНС-серверами, правильно ссылаются на Ip 83.172.xxx.xxx.
Как сделать так, чтобы заработали виртуальные хосты, без применения ещё одного реального IP-адреса. Может, ещё какие-то порты прокинуть нужно, может, как-то похитрому ДНС и фаирволл настроить. Вариант: "товарищ, не е%и мозг, перетащи всё на шлюзовой сервер" не предлагать :)Заранее спасибо.
NameVirtualHost *:80
<VirtualHost _default:80>
#Конфиг основного веб-сервера, который будет отвечать и по ip
...
</VirtualHost>
<VirtualHost *:80>
#Другой домен
...
</VirtualHost>
<VirtualHost *:80>
#Ещё один
...
</VirtualHost
...