Virtual Network editor(vmnetcfg)

Violet_Evgadn·2023년 4월 27일
0

Linux

목록 보기
16/34

vmnetcfg 실행

VMWare에서 인터넷 관련 설정을 하고 싶다면 vmnetcfg를 설치해야 한다.

일단 vmetcfg를 설치한 뒤 설정하는 과정에 대해 알아보자.

1. vmnetcfg 설치

Download vmnetcfg.exe für VMware Workstation 15.x Player

위 사이트에서 원하는 버전의 vmnetcfg를 설치하면 된다.

필자는 가장 최신 버전인 15.5.7을 설치하도록 하겠다.

2. 압축 풀기 & vmnetcfg.exe 이동시키기

아마 압축을 풀면 "vmnetcfg.exe"라는 실행 파일이 생겼을 것이다.

이 실행 파일을 아무 위치에서나 실행시키는 것은 아니고 반드시 VMWare Player를 설치한 디렉터리로 이동시켜주어야 한다.

필자는 아래 경로가 VMWare Player 설치 디렉토리였지만 이는 유저마다 다르기 때문에 본인 컴퓨터에서 파악한 뒤 그곳으로 옮기도록 하자.

C://Program Files (x86)/VMware/VMware Player

이 위치로 vmnetcfg.exe 실행 파일을 옮겼다면 가상 네트워크 편집기를 사용할 준비가 끝난다.

3. vmnetcfg.exe 파일 실행시키기

이 때 만약 아이피 변경 등 설정을 변경하고 싶다면 실행파일을 "관리자 권한"으로 실행시켜야 한다.


네트워크 연결

0. vmnetcfg.exe > VMnet8의 Subnet Address 확인

"192.168.111.0"이라고 가정하고 아래 과정을 진행하겠다.

네트워크 설정 파일 파일 수정

다음으로 수행할 것은 네임 서버(Name Server; Domain Name Server)와 현재 기기의 IP 주소를 설정해 주는 과정이다.

현재 기기의 IP 주소를 설정한다는 의미는 정확히 말하자면 고정 IP를 설정해준다라는 의미이다.

고정 IP는 변경되지 않는 공인 IP로써 한 번 부여받으면 IP를 반납하기 전까지 기기는 해당 IP를 할당받는다.

고정 IP를 사용하지 않을 경우 외부에 알린 기기 IP 주소가 변경될 가능성이 있어 사이트의 안정성이 떨어지므로 도메인명에 대응되어야 하는 IP이자 외부 접속이 가능해야 하는 공개용 서버는 고정 IP를 설정하여 활용하는 것이다.

네임 서버를 설정해 준다는 것은 꽤 중요한 과정이다.

이전에 네트워크에 대해 공부했을 때 DNS에 대해 공부한 적이 있었다.

DNS에서는 도메인명에 대응되는 IP 주소를 찾기 위해서 일단 클라이언트 측의 DNS 서버에 조회 목적의 UDP 패킷을 보내는데 이 클라이언트 측 DNS 서버를 설정하는 것이 바로 네임 서버를 설정하는 과정인 것이다.

네임 서버를 설정하지 않으면 도메인 명에 IP 주소를 대응시킬 수 없어 네트워크를 제대로 활용하지 못하는 상태가 된다.

또한 도메인을 DNS에 등록하고 싶을 때도 네임 서버를 지정한 뒤 해당 네임 서버에 연결 설정을 해야 정상적으로 도메인명과 IP 주소가 대응될 수 있다.

인터넷 표준에 의하면 도메인의 안정적인 서비스를 위해 반드시 2개 이상의 네임서버를 등록하도록 되어 있다.

따라서 우리도 2개의 네임서버를 설정할 것이다.

이 과정은 Ubuntu인지, CentOS인지, 그리고 우분투의 경우 몇 버전을 활용하는지 등에 따라 설정 방법이 다양하다.

이 중 Ubuntu 20.04 기준에서의 설정법과 CentOS에서의 설정법에 대해 알아보도록 하겠다.

1-1. Ubuntu 20.04 기준 설정법

1-1-1. /etc/netplan/ 안에 있는 yaml 파일 수정

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s3:
      dhcp6: no
      dhcp4: no
      addresses: [192.168.111.10/24]
      gateway4: 192.168.111.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

먼저 /etc/netplan/~.yml 파일은 root 계정만 수정 가능하므로 root 계정으로 로그인하거나 sudo를 통해 수정해야 한다.

그렇다면 이젠 위 내용에 대해 한 줄씩 알아보자.

version과 renderer는 Network 버전 2이며 NetworkManager라는 렌더링 툴을 활용해 네트워크 시스템을 관리한다는 의미인데 큰 의미는 두지 않아도 원래 yaml 파일에 기록되어 있을 것이다.

일단 ethernet은 매우 쉽다. "이더넷을 활용한 통신"에서 사용되는 설정이라는 의미이다.

enp0s3은 기본으로 설정되는 NAT(Network Address Translation; 네트워크 주소 변환)라는 의미이다.

NAT는 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지 IP 주소를 재기록함으로써 라우터를 통해 패킷을 주고받을 수 있게 해주는 기술을 말한다.

음... IP 패킷의 포트 숫자와 IP 주소를 변환함으로써 이더넷 및 TCP/IP 규칙으로 패킷 전달을 가능하게 해주는 기술?

만약 네트워크에 대해 제대로 공부했다면 라우터의 "주소 변환"이 생각날 것이다.

그렇다. NAT는 IPv4의 주소 부족 문제를 해결하기 위한 방법으로 고안된 기술로 비공인 네트워크를 사용하는 망에서 외부 공인 네트워크를 사용할 수 있게 하기 위하여 프라이비트 주소를 퍼블릭 주소로 변환해 주는 기능이다.

즉, 주소 변환 관련 설정인 것이다.

여기에서 활용할 값이 0번 과정에서 조사한 VMnet8의 Subnet Address이다.

이 가상 서버에 할당된 퍼블릭 주소가 조사한 Subnet Address 값이기 때문에 이 값을 기본 NAT(enp0s3)에 설정함으로써 주소 변환이 가능해지는 것이다. 또한 VMnet8의 Subnet mask는 255.255.255.0일 텐데 이는 /24로도 나타낼 수 있다.

이 둘을 결합하면 Subnet Address 중 맨 앞의 24비트(192.168.111) 값은 고정적이어야 하며 호스트 영역의 값 "10"은 아무 값이나 입력해도 된다.(나중에 200이나 211 등으로 값을 변경해도 정상적으로 동작함을 확인할 수 있을 것이다)

이렇게 설정하면 최종적으로 설정한 "192.168.111.10/24"가 이 서버의 고정 IP 주소가 되는 것이다.

gateway4는 사실 필수적인 설정은 아니며 아마 설정하면 오히려 WARNING 문구와 함께 deprecated 되었다는 문구가 뜰 것이다. IPv4 주소로 gateway를 설정하겠다는 의미인데 네트워크에서 배웠듯 게이트웨이란 패킷을 다음 중계기로 보내기 위한 IP 주소이다.

하지만 서버라는 고성능 기기를 상대적으로 저기능의 라우터 역할을 하게 하는 것은 스펙 낭비이기 때문에 서버를 라우터로 활용하는 방법은 잘 사용하지 않는다.

거의 사용하지 않는 설정값으로 호스트 영역에는 아무 값이나 들어가도 되지만 주로 1이나 2 같은 작은 숫자를 넣는다.

마지막으로 네임 서버이다.

위에서 설명했듯 "8.8.8.8, 8.8.4.4" 2개의 네임 서버가 설정되었음을 알 수 있다.

이렇게 2개의 네임 서버를 설정할 경우 별다른 문제가 없다면 첫 번째 네임 서버(8.8.8.8)를 활용하며 이에 문제가 발생했을 경우에만 2번째 네임 서버(8.8.4.4)를 활용한다.

참고로 8.8.8.8와 8.8.4.4는 구글 LLC의 무료 공개 DNS 서버 IP 주소이다.

이 값이 아니라 KT의 DNS 서버 IP 주소인 168.126.63.1과 168.126.63.2를 사용해도 된다.

1-1-2. 변경 사항 적용

netplan apply

1-2. CentOS 기준 설정법

1-2-1. CentOS 네트워크 인터페이스 파일 수정

vi /etc/sysconfig/network-scripts/ifcfg-ens33
...
BOOTPROTO=static # static으로 수정
...

# 아래 내용을 추가함
ONBOOT=yes
IPADDR=192.168.111.10
GATEWAY=192.168.111.1
NETMASK=255.255.255.0

CentOS와 우분투의 설정 방법 중 다른 것은 2개 정도 존재한다.

먼저, 수정하는 파일이 다르며 넷마스크를 /24가 아닌 255.255.255.0으로 32비트 값으로 나타낸다는 점이다.

두 번째로 우분투에선 고정 IP 할당과 네임서버를 1개 파일에서 같이 수정하지만 CentOS에선 각각을 담당하는 파일이 다르므로 총 2개의 파일을 수정해야 한다는 점이다.

이 과정은 기기에 고정 IP를 할당하는 방법으로 넷마스크 표현 방식 및 기록 방식이 달라졌을 뿐 의미는 같다.

1-2-2. 네임 서버 설정

vi /etc/resolv.conf
nameserver 8.8.8.8 prefer
nameserver 8.8.4.4

이 경우 8.8.8.8을 메인 네임 서버로 사용하고 만약 그곳에 문제가 생겼다면 8.8.4.4를 사용하겠다는 의미이다.

1-2-3. 변경 사항 적용

systemctl restart network

2. 네트워크 도구 설치

이 과정부턴 CentOS와 우분투의 실행 과정이 유사하다.

단지 CentOS에선 "yum" 명령어를 통해 설치하지만 우분투에선 "apt-get" 혹은 "apt"를 통해 라이브러리를 설치한다는 점이 다르다.

필자는 우분투를 사용하므로 우분투의 경우를 예시로 설명하겠다.

sudo apt-get install net-tools

3. 네트워크 동작 확인

ifconfig

네트워크 인터페이스를 확인하는 명령어이다.

이는 net-tools를 설치해야 사용할 수 있는 명령어이다.

만약 net-tools를 설치하지 않은 상태에서 네트워크 상황을 확인하고 싶다면 아래 명령어를 통해 확인해 보자.

ping www.naver.com

이전에 ICMP에서 말했듯 서버와 클라이언트는 "PING 메시지"를 통해 연결 상태를 확인할 수 있는데 위 명령어는 네이버와 핑 명령어를 통해 연결 상태를 확인하는 것이다.

아마 네임 서버가 제대로 설정되었다면 네이버의 IP 주소를 받을 수 있을 것이고, 네트워크 설정이 제대로 되었다면 패킷을 정상적으로 목적지 IP(네이버)까지 전달하고 받을 수 있을 것이다.

profile
혹시 틀린 내용이 있다면 언제든 말씀해주세요!

0개의 댓글