我有 2 个 CentOS 7 客户机在 Ubuntu 主机上的 VirtualBox 中运行。
我希望能够:
- 使用 ssh 从主机连接到来宾
- 从 Internet 下载/安装来宾上的软件包。
我目前有以下两个虚拟网络接口
- 仅主机,在访客上映射为“enp0s3”
- NAT,在访客上映射为“enp0s8”
我当前的配置:
$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=enp0s3
UUID=fcd0aa44-9ab7-42e6-a637-52c429727195
ONBOOT=yes
HWADDR=08:00:27:BE:DB:11
IPADDR=192.168.56.102
PREFIX=32
GATEWAY=192.168.56.1
和
$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s8
HWADDR=08:00:27:A2:03:29
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=enp0s8
UUID=09acefe7-d513-48f6-b820-0988ac495e5e
ONBOOT=yes
当前路线信息:
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.56.1 0.0.0.0 UG 1024 0 0 enp0s3
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8
192.168.56.1 0.0.0.0 255.255.255.255 UH 1024 0 0 enp0s3
此时,我可以从 Ubuntu 主机通过 ssh 连接到 CentOS 来宾,但无法成功连接到互联网:
$ wget https://github.com/antirez/redis/archive/3.0.0-rc6.tar.gz
Resolving github.com (github.com)... 192.30.252.130
Connecting to github.com (github.com)|192.30.252.130|:443...
许多其他帖子和示例建议我从“enp0s3”中删除默认网关。如果我从“enp0s3”中删除默认网关,我将无法从 Ubuntu 主机通过 ssh 连接到 CentOS 来宾。
我怎样才能做到这一点?
答案1
所以我终于开始工作了
我在配置中缺少网络掩码值
仅主机网卡 enp0s3
TYPE=Ethernet
BOOTPROTO=static
NAME=enp0s3
UUID=71d4200e-199d-4d03-935d-6d2e88c41956
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.101
NETMASK=255.255.255.0
NAT网卡enp0s8
HWADDR=08:00:27:49:5A:6C
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=enp0s8
UUID=56cc4f81-d7a4-465a-badb-0b6120a0d62e
ONBOOT=yes
有了上面的值,它就按照我需要的方式工作了
- 从主机到访客的 ssh
- 访客上网
- 从主机到来宾的数据库访问
答案2
只需将网络适配器配置为“桥接”模式,将其桥接到物理以太网适配器enp0s3
(假设该适配器连接到互联网)。
桥接模式将允许访客-主机连接和访客-互联网连接。