我的流浪档案
config.vm.network :private_network, ip: "172.16.0.22"
config.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--cpus", 2]
v.customize ["modifyvm", :id, "--memory", 2048]
v.customize ['modifyvm', :id, '--nicpromisc1', 'allow-all']
流浪起来之后
The IP address configured for the host-only network is not within the
allowed ranges. Please update the address used to be within the allowed
ranges and run the command again.
Address: 172.16.0.22
Ranges: 10.0.0.0/8, 192.168.0.0/16, 2001::/64
据我了解 172.16.xx 是私有 IP。我的 wlo1
wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether c8:94:32:93:05:p2 brd ff:ff:ff:ff:ff:ff
altname wlp3s0
inet 192.168.1.19/24 brd 192.168.1.255 scope global dynamic noprefixroute wlo1
valid_lft 3068sec preferred_lft 3068sec
我更改了network.conf文件,添加了172.16.0.0 cat /etc/vbox/networks.conf
* 10.0.0.0/8 192.168.0.0/16 172.16.0.0
* 2001::/64
同样的问题仍然存在。
为什么IP不在网络范围内?
因此,根据OP,显然 vagrant 根据文件确定哪些 IP 子网块可用于仅主机网络
/etc/vbox/networks.conf
。IP 子网仅在带有子网掩码或前缀长度(在不同表示形式中本质上是相同的)时才有效,因为它指示子网的大小。地址/子网 ID 之类的
172.16.0.0
仅指示块的“起点”,否则被视为单个任意主机地址。因此,如果您想允许
172.16.0.0/12
RFC 中定义的整个块,请将其(整个内容)放入 conf 文件中。(或者,如果有必要和/或需要,我很确定您可以只允许块的一部分,只要您有有效的子网 ID 和前缀长度组合。我不会讲述完整的故事此处划分子网 101。)