আমি একটি নতুন সেন্টোস 6.5 ভিজাগর বাক্স তৈরি করেছি এবং প্রভিশন দেওয়ার পরে, এসএসএইচ সংযোগের সময় শেষ হয়ে যায়। ভার্চুয়ালবক্সের সাথে আমি ভ্যাগ্রান্ট এসএসএসের পদক্ষেপগুলি ব্যর্থ করেছি তবে আমি ত্রুটি পেয়েছি (নীচে দেখুন)। আমি প্রাথমিকভাবে ভেবেছিলাম এটি আমার / ইত্যাদি / হোস্টগুলির সাথে সমস্যা হতে পারে, তবে কোনও সম্ভাব্য দ্বন্দ্ব মন্তব্য করার পরে আমার এখনও একই সমস্যা রয়েছে; সুতরাং, আমি একটি উবুন্টু 14.04 ভ্যাগ্র্যান্ট বাক্স তৈরি করেছি এবং সেই যন্ত্রটি নির্বিঘ্নে বুট আপ হয়েছে। উভয়ই মেশিনের ভ্যাগ্রান্ট ফাইল / কনফিগারেশন.মিল পিএইচপিপেট.কম ব্যবহার করে নির্মিত হয়েছিল।
হোস্টের বিশদ:
Host OS: Kubuntu 14.04 (3.13.0-29-generic)
Virtualbox: 4.3.12 r93733
Vagrant: 1.6.0
Basebox: puphpet/centos65-x64 (virtualbox, 1.0.1)
জিইউআই সক্ষম করার জন্য সর্বাধিক পুনরায় চেষ্টা করার জন্য এবং উপরের থ্রেডে সর্বোচ্চ পুনরায় চেষ্টা করার জন্য আমার ভ্যাগ্রান্টফাইলে সম্পাদনা করার পরে, আমি নিম্নলিখিত ত্রুটি বার্তা পেয়েছি:
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:
SSH:
* The following settings shouldn't exist: max_tries
vm:
* The following settings shouldn't exist: boot_mode
সুতরাং, আমি সেগুলি পরে সরিয়েছি। আমি ভার্চুয়ালবক্সের সাহায্যে মেশিনটি বুট করেছিলাম এবং এটি সহজেই উঠে আসে।
আইপি নির্ধারিত: 192.168.56.101
/ Etc / sysconfig / নেটওয়ার্ক-স্ক্রিপ্ট / ifcfg-eth1 নিম্নলিখিত কনফিগার সেট রয়েছে:
DEVICE="eth1"
BOOTPROTO="none"
IPV6INIT="yes"
MTU="1500"
NM_CONTROLLER="yes"
ONBOOT="yes"
TYPE="Ethernet"
#VAGRANT-BEGIN
NM_CONTROLLER=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.56.101
NETMASK=255.255.255.0
DEVICE=eth1
PEERDNS=no
#VAGRANT-END
[পাশে] যখন আমি টাইপ করছিলাম (দুর্ভাগ্যক্রমে আমি ভিএম সিএলআই থেকে অনুলিপি / পেস্ট করতে পারিনি), আমি লক্ষ্য করেছি যে এর জন্য দ্বিতীয় ঘোষণা ছিল NM_CONTROLLED
, সুতরাং আমি NM_CONTROLLED="yes"
এটি পরিষ্কার করার জন্য এখনই মন্তব্য করতে চলেছি । [/ একপাশে]
ডানদিকে চলমান ... আমি হোস্ট থেকে অতিথিকে পিং করতে সক্ষম; এবং, আমি স্ট্যান্ডার্ড উপায় (ssh vagrant@192.168.56.101) ব্যবহার করে ssh করার চেষ্টা করেছি তবে একটি ত্রুটিপূর্ণ বিবরণী পেয়েছি No route to host
।
$ ping 192.168.56.101
PING 192.168.56.101 (192.168.56.101) 56(84) bytes of data.
64 bytes from 192.168.56.101: icmp_seq=1 ttl=64 time=1.94 ms
64 bytes from 192.168.56.101: icmp_seq=2 ttl=64 time=0.430 ms
^C
--- 192.168.56.101 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.430/1.187/1.945/0.758 ms
[03:03 PM]-[josej@josej-desktop]-[~/Projects/CentOS-6.5]
$ ssh vagrant@192.168.56.101
ssh: connect to host 192.168.56.101 port 22: No route to host
স্পষ্টতই, হোস্টের কাছে যাওয়ার জন্য একটি রুট রয়েছে যেহেতু আমি এটি পিং করতে পারি;)। সুতরাং, আমি ভেবেছিলাম যে এসএসডিটি চলছে না তবে আমরা নীচে দেখতে পাচ্ছি, এটি হ'ল:
[vagrant@localhost ~]$ ps aux | grep sshd
root 1321 0.0 0.1 66608 1200 ? Ss 20:02 0:00 /usr/sbin/sshd
আমি এসএসএইচ কীটিতে পাস না করায় আমি সংযোগটি প্রত্যাখ্যান করার প্রত্যাশা করছিলাম, তবে যেহেতু এটি ঘটেনি এবং এসএসডি চলছে।
সুতরাং, পরবর্তী আমি পরীক্ষা করেছিলাম অতিথি গুগলকে পিং করতে পারে কিনা, যা ব্যর্থ হয়েছিল। সুতরাং, route
আমরা যাচাই করে দেখছি:
[vagrant@localhost ~]$ route
Kernel IP routing table
Destination Gateway Genmask ... Iface
10.0.2.0 * 255.255.255.0 ... eth0
192.168.56.0 * 255.255.255.0 ... eth1
সুতরাং, আমার সেরা অনুমানটি হল কোথাও কোনও নেটওয়ার্কিংয়ের সমস্যা আছে। যেহেতু হোস্ট অতিথিকে পিং করতে পারে এবং অতিথি হোস্টকে পিং করতে পারে ( ping 192.168.56.1
কাজ করে), রুট ফাইলটি ভাল ইমো দেখায় এবং নেটওয়ার্কিং কনফিগারেশনটি সঠিক, তবে অতিথি গেটওয়ের বাইরে কোনও গন্তব্যে পৌঁছাতে পারে না ... আমি আছি এই মুহুর্তে বেশ স্ট্যাম্পড।
আমি iptables এর মাধ্যমে ঝুঁকতে যাচ্ছি এবং আপাতত SELinux অক্ষম করব। আশা করি সমস্যাটি দূর করতে সহায়তা করবে। যাইহোক, আমি যে কোনও পরামর্শের জন্য উন্মুক্ত কারণ আমি এই নিয়ে দু'দিন ধরে লড়াই করে যাচ্ছি এবং কেবলমাত্র চেনাশোনাগুলিতেই চলেছি।
এবং, অবশেষে, এখানে ভ্যাগ্রান্টফাইল এবং পিউফেট / কনফিগারেশন রয়েছে:
require 'yaml'
dir = File.dirname(File.expand_path(__FILE__))
configValues = YAML.load_file("#{dir}/puphpet/config.yaml")
data = configValues['vagrantfile-local']
Vagrant.configure("2") do |config|
config.vm.box = "#{data['vm']['box']}"
config.vm.box_url = "#{data['vm']['box_url']}"
if data['vm']['hostname'].to_s.strip.length != 0
config.vm.hostname = "#{data['vm']['hostname']}"
end
if data['vm']['network']['private_network'].to_s != ''
config.vm.network "private_network", ip: "#{data['vm']['network']['private_network']}"
end
data['vm']['network']['forwarded_port'].each do |i, port|
if port['guest'] != '' && port['host'] != ''
config.vm.network :forwarded_port, guest: port['guest'].to_i, host: port['host'].to_i
end
end
data['vm']['synced_folder'].each do |i, folder|
if folder['source'] != '' && folder['target'] != ''
nfs = (folder['nfs'] == "true") ? "nfs" : nil
if nfs == "nfs"
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: nfs
else
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: nfs,
group: 'www-data', owner: 'www-data', mount_options: ["dmode=775", "fmode=764"]
end
end
end
config.vm.usable_port_range = (10200..10500)
if data['vm']['chosen_provider'].empty? || data['vm']['chosen_provider'] == "virtualbox"
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
config.vm.provider :virtualbox do |virtualbox|
data['vm']['provider']['virtualbox']['modifyvm'].each do |key, value|
if key == "memory"
next
end
if key == "natdnshostresolver1"
value = value ? "on" : "off"
end
virtualbox.customize ["modifyvm", :id, "--#{key}", "#{value}"]
end
virtualbox.customize ["modifyvm", :id, "--memory", "#{data['vm']['memory']}"]
if data['vm']['hostname'].to_s.strip.length != 0
virtualbox.customize ["modifyvm", :id, "--name", config.vm.hostname]
end
end
end
if data['vm']['chosen_provider'] == "vmware_fusion" || data['vm']['chosen_provider'] == "vmware_workstation"
ENV['VAGRANT_DEFAULT_PROVIDER'] = (data['vm']['chosen_provider'] == "vmware_fusion") ? "vmware_fusion" : "vmware_workstation"
config.vm.provider "vmware_fusion" do |v|
data['vm']['provider']['vmware'].each do |key, value|
if key == "memsize"
next
end
v.vmx["#{key}"] = "#{value}"
end
v.vmx["memsize"] = "#{data['vm']['memory']}"
if data['vm']['hostname'].to_s.strip.length != 0
v.vmx["displayName"] = config.vm.hostname
end
end
end
if data['vm']['chosen_provider'] == "parallels"
ENV['VAGRANT_DEFAULT_PROVIDER'] = "parallels"
config.vm.provider "parallels" do |v|
data['vm']['provider']['parallels'].each do |key, value|
if key == "memsize"
next
end
v.customize ["set", :id, "--#{key}", "#{value}"]
end
v.memory = "#{data['vm']['memory']}"
if data['vm']['hostname'].to_s.strip.length != 0
v.name = config.vm.hostname
end
end
end
ssh_username = !data['ssh']['username'].nil? ? data['ssh']['username'] : "vagrant"
config.vm.provision "shell" do |s|
s.path = "puphpet/shell/initial-setup.sh"
s.args = "/vagrant/puphpet"
end
config.vm.provision "shell" do |kg|
kg.path = "puphpet/shell/ssh-keygen.sh"
kg.args = "#{ssh_username}"
end
config.vm.provision :shell, :path => "puphpet/shell/update-puppet.sh"
config.vm.provision :puppet do |puppet|
puppet.facter = {
"ssh_username" => "#{ssh_username}",
"provisioner_type" => ENV['VAGRANT_DEFAULT_PROVIDER'],
"vm_target_key" => 'vagrantfile-local',
}
puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}"
puppet.manifest_file = "#{data['vm']['provision']['puppet']['manifest_file']}"
puppet.module_path = "#{data['vm']['provision']['puppet']['module_path']}"
if !data['vm']['provision']['puppet']['options'].empty?
puppet.options = data['vm']['provision']['puppet']['options']
end
end
config.vm.provision :shell do |s|
s.path = "puphpet/shell/execute-files.sh"
s.args = ["exec-once", "exec-always"]
end
config.vm.provision :shell, run: "always" do |s|
s.path = "puphpet/shell/execute-files.sh"
s.args = ["startup-once", "startup-always"]
end
config.vm.provision :shell, :path => "puphpet/shell/important-notices.sh"
if File.file?("#{dir}/puphpet/files/dot/ssh/id_rsa")
config.ssh.private_key_path = [
"#{dir}/puphpet/files/dot/ssh/id_rsa",
"#{dir}/puphpet/files/dot/ssh/insecure_private_key"
]
end
if !data['ssh']['host'].nil?
config.ssh.host = "#{data['ssh']['host']}"
end
if !data['ssh']['port'].nil?
config.ssh.port = "#{data['ssh']['port']}"
end
if !data['ssh']['username'].nil?
config.ssh.username = "#{data['ssh']['username']}"
end
if !data['ssh']['guest_port'].nil?
config.ssh.guest_port = data['ssh']['guest_port']
end
if !data['ssh']['shell'].nil?
config.ssh.shell = "#{data['ssh']['shell']}"
end
if !data['ssh']['keep_alive'].nil?
config.ssh.keep_alive = data['ssh']['keep_alive']
end
if !data['ssh']['forward_agent'].nil?
config.ssh.forward_agent = data['ssh']['forward_agent']
end
if !data['ssh']['forward_x11'].nil?
config.ssh.forward_x11 = data['ssh']['forward_x11']
end
if !data['vagrant']['host'].nil?
config.vagrant.host = data['vagrant']['host'].gsub(":", "").intern
end
end
Config.yaml
---
vagrantfile-local:
vm:
box: puphpet/centos65-x64
box_url: puphpet/centos65-x64
hostname: null
memory: '1024'
chosen_provider: virtualbox
network:
private_network: 192.168.56.101
forwarded_port:
RVPy8vdfEyb4:
host: '5329'
guest: '22'
provider:
virtualbox:
modifyvm:
natdnshostresolver1: on
setextradata:
VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root: 1
vmware:
numvcpus: 1
parallels:
cpus: 1
provision:
puppet:
manifests_path: puphpet/puppet
manifest_file: manifest.pp
module_path: puphpet/puppet/modules
options:
- '--verbose'
- '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
- '--parser future'
synced_folder:
Fmuml1NNvztV:
source: ./
target: /var/www
nfs: 'true'
usable_port_range: 2200..2250
ssh:
host: null
port: null
private_key_path: null
username: vagrant
guest_port: null
keep_alive: true
forward_agent: false
forward_x11: false
shell: 'bash -l'
vagrant:
host: detect
server:
packages:
- vim-common
dot_files:
-
bash_aliases: null
_prevent_empty: ''
mailcatcher:
install: '1'
settings:
smtp_ip: 0.0.0.0
smtp_port: 1025
http_ip: 0.0.0.0
http_port: '1080'
mailcatcher_path: /usr/local/bin
log_path: /var/log/mailcatcher/mailcatcher.log
firewall:
install: '1'
rules:
IzA1MvHnvQ4g:
port: '10000'
priority: '100'
proto: tcp
action: accept
apache:
install: '1'
settings:
user: www-data
group: www-data
default_vhost: true
manage_user: false
manage_group: false
sendfile: 0
modules:
- php
- rewrite
vhosts:
jeFgLNotkCuO:
servername: awesome.dev
serveraliases:
- www.awesome.dev
docroot: /var/www/awesome
port: '80'
setenv:
- 'APP_ENV dev'
override:
- All
options:
- Indexes
- FollowSymLinks
- MultiViews
custom_fragment: ''
ssl_cert: ''
ssl_key: ''
ssl_chain: ''
ssl_certs_dir: ''
mod_pagespeed: 0
mod_spdy: 0
nginx:
install: 0
vhosts:
ejsUD06Uwceq:
server_name: awesome.dev
server_aliases:
- www.awesome.dev
www_root: /var/www/awesome.dev
listen_port: '80'
index_files:
- index.html
- index.htm
- index.php
envvars:
- 'APP_ENV dev'
ssl_cert: ''
ssl_key: ''
php:
install: '1'
version: '55'
composer: '1'
composer_home: ''
modules:
php:
- cli
- intl
- mcrypt
pear: { }
pecl:
- pecl_http
ini:
display_errors: On
error_reporting: '-1'
session.save_path: /var/lib/php/session
timezone: America/Chicago
xdebug:
install: '1'
settings:
xdebug.default_enable: '1'
xdebug.remote_autostart: '0'
xdebug.remote_connect_back: '1'
xdebug.remote_enable: '1'
xdebug.remote_handler: dbgp
xdebug.remote_port: '9000'
drush:
install: 0
settings:
drush.tag_branch: 6.x
mysql:
install: '1'
root_password: '123'
adminer: 0
databases:
JibsW5qqEtvE:
grant:
- ALL
name: REDACTED
host: localhost
user: REDACTED
password: '123'
sql_file: ''
TUQ8E8xUDyFi:
grant:
- ALL
name: REDACTED
host: localhost
user: REDACTED
password: '123'
sql_file: ''
postgresql:
install: '1'
settings:
root_password: '123'
user_group: postgres
encoding: UTF8
version: '9.3'
databases: { }
adminer: 0
mariadb:
install: 0
root_password: '123'
adminer: 0
databases: { }
version: '10.0'
mongodb:
install: '1'
settings:
auth: 1
port: '27017'
databases: { }
redis:
install: '1'
settings:
conf_port: '6379'
beanstalkd:
install: '1'
settings:
listenaddress: 0.0.0.0
listenport: '13000'
maxjobsize: '65535'
maxconnections: '1024'
binlogdir: /var/lib/beanstalkd/binlog
binlogfsync: null
binlogsize: '10485760'
beanstalk_console: '1'
binlogdir: /var/lib/beanstalkd/binlog
rabbitmq:
install: 0
settings:
port: '5672'
elastic_search:
install: '1'
settings:
java_install: true
autoupgrade: true
sudo service iptables off
আমি এখন গুগল, ইয়াম রেপোস ইত্যাদিতে পৌঁছতে সক্ষম হয়েছি তাই এটি কোনও নেটওয়ার্কিং ইস্যু নয়, আইপটবেবল ইস্যু হতে চলেছে। এখন, মজাদার অংশটি, আমার প্রয়োজনীয় iptables বিধিগুলিতে সমস্ত যোগ করে। আরগ, এটি পিএপএইচপিপেট সরঞ্জামটি ব্যবহার করে নির্মিত ভ্যাব্রেন্ট বাক্সগুলির জন্য প্রাক-কনফিগার করা হত। স্পষ্টতই এটি আর হয় না।