Ubuntu 호스트의 VirtualBox에서 2개의 CentOS 7 게스트를 실행하고 있습니다.
나는 다음을 할 수 있기를 원합니다:
- SSH를 사용하여 호스트에서 게스트에 연결
- 인터넷에서 게스트에 패키지를 다운로드/설치합니다.
현재 다음과 같은 두 개의 가상 네트워크 인터페이스가 있습니다.
- 호스트 전용, 게스트에서 "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 호스트에서 CentOS 게스트로 SSH를 연결할 수 없습니다.
어떻게 해야 하나요?
답변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
(어댑터가 인터넷에 연결되어 있다고 가정).
브리지 모드에서는 게스트-호스트 연결 및 게스트-인터넷 연결이 허용됩니다.