Я запускаю виртуальный ящик из бродяги и пытаюсь получить доступ к веб-страницам, которые обслуживаются гостевым сервером apache.
Когда я выполняю wget http://dev.test.com/index.html
на гостевой все работает нормально, но когда я выполняю wget http://dev.test.com:8080/index.html
на хосте через некоторое время появляется сообщение об ошибке:
--2013-08-09 12:04:25-- http://dev.test.com:8080/index.html
Resolving dev.test.com (dev.test.com)... 127.0.0.1
Connecting to dev.test.com (dev.test.com)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.
Я включил переадресацию портов с гостя 80 на хост 8080, добавил 127.0.0.1 dev.test.com
как для гостевого, так и для хост-файла / etc / hosts, а также для отключенного гостевого брандмауэра с service iptables stop
но я все еще получаю ту же ошибку.
Может кто-нибудь подскажет, как это правильно настроить?
бродячая установка:
Мой хост: Ubuntu 13.04 32bit, Vagrant 1.0.3, виртуальная коробка 4.2.10
Я настроил бродячий ящик следующим образом:
vagrant box add centos64_64 http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box
vagrant init centos64_64
mkdir manifests
mkdir modules
cd modules
wget http://forge.puppetlabs.com/puppetlabs/apache/0.8.1.tar.gz
tar zxf 0.8.1.tar.gz
rm 0.8.1.tar.gz
mv puppetlabs-apache-0.8.1 apache
wget http://forge.puppetlabs.com/puppetlabs/stdlib/4.1.0.tar.gz
tar zxf 4.1.0.tar.gz
rm 4.1.0.tar.gz
mv puppetlabs-stdlib-4.1.0 stdlib
wget https://forge.puppetlabs.com/ripienaar/concat/0.2.0.tar.gz
tar zxf 0.2.0.tar.gz
rm 0.2.0.tar.gz
mv ripienaar-concat-0.2.0 concat
изменил содержимое Vagrantfile на:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
config.vm.box = "centos64_64"
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "setup.pp"
puppet.module_path = "modules"
end
config.vm.forward_port 80, 8080
end
и создал файл setup.pp с таким содержимым:
class{ "apache": }
apache::vhost { 'dev.test.com':
port => '80',
docroot => '/var/www/html/test.com',
}
РЕДАКТИРОВАТЬ
netstat -tnl
гость:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
tcp 0 0 :::443 :::* LISTEN
хост:
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN
tcp6 0 0 :::993 :::* LISTEN
tcp6 0 0 :::995 :::* LISTEN
tcp6 0 0 :::110 :::* LISTEN
tcp6 0 0 :::143 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 0 0 :::25 :::* LISTEN
tcp6 0 0 :::4190 :::* LISTEN
РЕДАКТИРОВАТЬ 2
Проблема, похоже, связана с 64-битными гостевыми машинами CentOS 6.3 / 6.4. Я попробовал несколько из них, и пересылка не сработала. Теперь попробовал CentOS 5.9 64bit (http://puppet-vagrant-boxes.puppetlabs.com/centos-59-x64-vbox4210.box) с такими же марионеточными скриптами и переадресацией портов.
Вот вывод netstat -tnl для этого гостя:
tcp 0 0 0.0.0.0:808 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::443 :::* LISTEN
Я пока буду придерживаться более старой версии, но меня все еще интересует причина, по которой она не работает с более новыми версиями.