Я использую встроенную базовую коробку Vagrant с минимальной установкой CentOS 7 (я создал ее в соответствии с документацией Vagrant - если вам нужна дополнительная информация, я изложил процесс в статье на моем веб-сайте, и вы можете загрузить машину отсюда),
Перед тем, как предоставить машине Ansible (что не имеет значения для этого вопроса), я использую следующий Vagrantfile, чтобы открыть окно:
Vagrant.configure(2) do |config|
config.vm.box = "relativkreativ/centos-7-minimal"
config.vm.network "public_network", ip: "192.168.0.100", bridge: 'en0: WLAN (AirPort)'
config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/id_rsa.pub"
config.vm.provision "shell", inline: <<-END.gsub(/^\s{4}/, '')
mkdir -m 0700 /root/.ssh
mv /home/vagrant/id_rsa.pub /root/.ssh/authorized_keys
chmod 0600 /root/.ssh/authorized_keys
chown root:root /root/.ssh/authorized_keys
END
end
Ничего особенного, просто добавление дополнительного сетевого интерфейса и копирование моего открытого ключа.
При входе на сервер с правами root (ssh root@192.168.0.100
) иногда я через несколько секунд получаю прерванный канал, и сервер недоступен для проверки связи (иногда даже при запуске манифеста Ansible). Большую часть времени я могу восстановить соединение после нескольких попыток, но когда это невозможно, мне нужно использовать Vagrant для входа (vagrant ssh
- это всегда работает) и перезапустить сетевой сервис (systemctl restart network.service
). После этого SSH в основном работает снова в течение некоторого времени.
Маршруты сервера:
[root@localhost ~]# ip route
default via 10.0.2.2 dev enp0s3
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15
169.254.0.0/16 dev enp0s3 scope link metric 1002
169.254.0.0/16 dev enp0s8 scope link metric 1003
192.168.0.0/24 dev enp0s8 proto kernel scope link src 192.168.0.100
Сетевые интерфейсы:
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:c0:9e:5b brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 84324sec preferred_lft 84324sec
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:b6:45:8c brd ff:ff:ff:ff:ff:ff
inet 192.168.0.100/24 brd 192.168.0.255 scope global enp0s8
valid_lft forever preferred_lft forever
Их конфигурационные файлы:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-lo
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
HWADDR="08:00:27:C0:9E:5B"
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="957d70e5-1097-4952-b3a4-dc67b919b934"
ONBOOT="yes"
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s8
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.100
NETMASK=255.255.255.0
DEVICE=enp0s8
PEERDNS=no
#VAGRANT-END
Я отключил IPv6 для устранения неполадок, но это не имело значения.
Это также происходит, когда я запускаю точно такой же рабочий процесс с моей коробкой CentOS 6 Vagrant (которую я построил точно так же), а также с коробками Vagrant, созданными другими людьми.
Я использую последнюю версию Vagrant (1.7.2), а также VirtualBox (4.3.20). Я ничего не менял в конфигурации сети по умолчанию VirtualBox.
Кто-нибудь знает, что здесь происходит? Я не могу отследить эту проблему.
Большое спасибо!