최근에는 Vagrant를 사용하여 가상 머신을 빠르게 설치하기 시작했습니다. 내 네트워크 구성이 완벽하지 않지만 올바르게 구성할 수 없다는 것을 알았습니다.
이것은 내 Vagrantfile입니다.
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'
Vagrant.configure("2") do |config|
config.vm.box = "debian/jessie64"
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
config.vm.provider "libvirt" do |lv|
lv.driver = "kvm"
end #config.vm.provider
#how many hosts to deploy?
n = 1
(10..n+9).each do |i|
config.vm.define "#{i}" do |vs|
vs.vm.hostname = "vs-#{i}"
vs.vm.network "private_network", ip: "10.0.0.#{i}"
end #config.vm.define
end #loop
#copy local ssh key to vm with ansible
config.vm.provision :ansible do |ansible|
ansible.playbook = "vagrant-provision.yml"
## Debugging
#ansible.verbose = true
#ansible.verbose="vvvvv"
end
end #Vagrant.configure
내 상자는 올바르게 부팅되며 정의된 IP 주소(10.0.0.X)를 통해 액세스할 수도 있지만 해당 주소는 eth1에 있습니다. Vagrant는 먼저 192.168.121.XXX 주소를 수신하는 또 다른 인터페이스 eth0을 생성합니다. 이 문제를 제거하고 싶지만 방법을 모르겠습니다.
이것은의 출력입니다방랑하는 SSH 구성:
$ vagrant ssh-config
Host 10
HostName 192.168.121.148
User vagrant
Port 22
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /home/max/vagrant/vs/.vagrant/machines/10/libvirt/private_key
IdentitiesOnly yes
LogLevel FATAL
이는 가상 머신 내부에서 가져온 것입니다.
root@vs-10:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:b1:1f:fd brd ff:ff:ff:ff:ff:ff
inet 192.168.121.148/24 brd 192.168.121.255 scope global dynamic eth0
valid_lft 3503sec preferred_lft 3503sec
inet6 fe80::5054:ff:feb1:1ffd/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:c8:05:48 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.10/24 brd 10.0.0.255 scope global eth1
valid_lft forever preferred_lft forever
root@vs-10:~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
address 10.0.0.10
netmask 255.255.255.0
#VAGRANT-END
보시다시피 내 Vagrantfile에 정의된 주소는 인터페이스 파일에 삽입되지만 eth1에는 삽입됩니다. eth0은 거기에 정의되어 있지 않지만 실행하면 계속 나타납니다.IP 주소. 인터페이스 eth0에서 주소 10.0.0.10을 사용하고 192.168.121.XXX 주소를 제거하고 싶습니다.