1. 네트워크 구성도
2. ESXi 설정
2-1. 포트그룹 / VM 이름 변경
VM Network 오른쪽 연필 클릭
External로 이름 변경
어댑터를 변경하게 되면 이전에 생성해놨던 VM(CentOS7)에 네트워크 어댑터를 External로 변경해줘야 함.
편집 클릭
변경된 External 포트 그룹에 가상 머신이 정상적으로 들어간 것을 확인할 수 있었다.
보시다시피 현재 vSwitch는 VMware에서 사용하는 Switch(LAN Segment)와 같은 역할을 한다.
그리고 CentOS7 머신은 Nat-gateway 역할을 할 것이므로 'NGW'로 이름을 바꿔주도록 하자.
2-2. vSwitch1 추가
새로운 가상 스위치(vSwitch1)를 만들어보자.
'표준 가상 스위치 추가' 클릭
이름은 vSwitch1로 지정
vSwitch1을 클릭해서 들어오면 아직 포트 그룹이 생성되지 않은 것을 볼 수 있을거다.
2-3 포트그룹 추가
'포트그룹 추가' 클릭
참고로 Management Network의 활성 포트가 1인 이유는 현재 사용중인 네트워크가 존재하기 때문이다.
'Internal' 이라는 포트 그룹을 vSwitch1에 매핑 후 생성
다시 vSwitch1로 가서 확인해보면 포트 그룹이 추가된 것을 확인 해볼 수 있다. vSwitch0과 달리 물리적 어댑터를 사용할 수 없는 이유는 1.네트워크 구성도 목차를 보면 알 수 있듯이 실제 랜카드와 연결되지 않기 때문이다.
2-4 web01 포트 그룹 설정
CentOS7 머신을 클론한 web01 머신에 포트 그룹을 설정해보자.
web01 머신에 들어가서 '편집' 클릭
web01은 구성도에 의해 Internal 이므로 Internal로 설정.
vSwitch1의 Internal 포트 그룹에 정상적으로 web01이 추가되었음.
2-5 NIC 추가
구성도를 보면 NGW 머신의 NIC가 2개이다. 그러므로 하나를 더 추가해줘야 한다.
NGW '편집' 클릭
네트워크 어댑터 추가 클릭
Internal 랜카드 추가
하드웨어 구성이 아래와 같이 변경됨.
NGW 머신에 접속하여 랜카드가 정상적으로 보이는지 확인
ens192, ens224 두 개의 랜카드가 식별됨.
3. Nat-Gateway (NGW)
3-1. NGW 랜카드 설정
랜카드 ens192를 static으로 설정
# 처음 설정 값은 아래 값으로 초기화할 것임.
$ cat > /etc/sysconfig/network-scripts/ifcfg-ens192 << EOF
TYPE=Ethernet
BOOTPROTO=none
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.219.140
NETMASK=255.255.255.0
GATEWAY=192.168.219.1
DNS1=8.8.8.8
DNS2=8.8.4.4
EOF
랜카드 ens224(내부망 NIC) 새로 설정.
$ cat > /etc/sysconfig/network-scripts/ifcfg-ens224 << EOF
TYPE=Ethernet
BOOTPROTO=none
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=10.11.0.1
NETMASK=255.255.255.0
EOF
설정 변경 적용을 위해 네트워크 재시작
$ systemctl restart network
$ 설정 변경 적용 확인
$ systemctl status network
핑 외부에 넘어가는지 확인
$ ping -c 3 google.com
4. NGW 방화벽 설정
방화벽 확인
$ firewall-cmd --get-active-zones
public
interfaces: ens192 ens224
둘 다 public zone에 있음.
ens192는 external로 ens224는 internal로 배정
$ nmcli c mod ens192 connection.zone external
$ nmcli c mod ens224 connection.zone internal
ipv4 포워드 설정.
$ echo "net.ipv4.ip_forward=1" | tee -a /etc/sysctl.conf
net.ipv4.ip_forward=1
5. NGW DHCP 설정
DHCP 설치
$ yum install -y dhcp
dhcpd.conf에 아래 설정 추가
$ cat >> /etc/dhcp/dhcpd.conf << EOF
ddns-update-style interim;
subnet 10.11.0.0 netmask 255.255.255.0 {
# = 10.11.0.0/24
option routers 10.11.0.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.11.0.100 10.11.0.110;
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 7200;
max-lease-time 86400;
}
EOF
dhcp 시작
$ systemctl enable --now dhcpd
5-1. web01에서 IP 할당 테스트
web01 머신에서 DHCP IP를 제대로 할당받아오는지 확인.
NGM에서 dhcp 로그 확인
$ cat /var/log/messages | grep -i 'dhcp' | tail -n 15
Nov 7 16:56:43 localhost dhclient[910]: DHCPACK from 192.168.121.254 (xid=0x69b0a684)
Nov 7 16:56:43 localhost NetworkManager[779]: <info> [1699343803.9504] dhcp4 (ens192): address 192.168.121.145
Nov 7 16:56:43 localhost NetworkManager[779]: <info> [1699343803.9505] dhcp4 (ens192): plen 24 (255.255.255.0)
Nov 7 16:56:43 localhost NetworkManager[779]: <info> [1699343803.9505] dhcp4 (ens192): gateway 192.168.121.2
Nov 7 16:56:43 localhost NetworkManager[779]: <info> [1699343803.9505] dhcp4 (ens192): lease time 1800
Nov 7 16:56:43 localhost NetworkManager[779]: <info> [1699343803.9505] dhcp4 (ens192): nameserver '192.168.121.2'
Nov 7 16:56:43 localhost NetworkManager[779]: <info> [1699343803.9505] dhcp4 (ens192): domain name 'localdomain'
Nov 7 16:56:43 localhost NetworkManager[779]: <info> [1699343803.9506] dhcp4 (ens192): state changed bound -> bound
Nov 7 16:56:43 localhost nm-dispatcher: find-scripts: Cannot execute '/etc/NetworkManager/dispatcher.d/12-dhcpd': not executable by owner.
Nov 7 16:56:43 localhost nm-dispatcher: req:1 'dhcp4-change' [ens192]: new request (3 scripts)
Nov 7 16:56:43 localhost nm-dispatcher: req:1 'dhcp4-change' [ens192]: start running ordered scripts...
Nov 7 17:01:48 localhost dhcpd: DHCPREQUEST for 10.11.0.100 from 00:0c:29:c0:f8:4c via ens224
Nov 7 17:01:48 localhost dhcpd: DHCPACK on 10.11.0.100 to 00:0c:29:c0:f8:4c via ens224