DHCP Network 자동 할당 및 외부 통신


토폴로지망

1. Router 설정

#### Router 기반 DHCP 할당 일 때 추가 필요
ip dhcp pool CLIENT-POOL
 network 192.168.2.0 255.255.255.0
 default-router 192.168.1.1
 dns-server 8.8.8.8 8.8.4.4
 lease 7

#### server DHCP 할당
# 인터페이스 설정
Router> enable
Router# configure terminal
Router(config)# hostname Router1
Router1(config)# interface GigabitEthernet0/0
Router1(config-if)# no shutdown
Router1(config-if)# ip address 203.0.113.1 255.255.255.0  # WAN IP 예시
Router1(config-if)# ip nat outside
Router1(config-if)# exit

Router1(config)# interface GigabitEthernet0/1
Router1(config-if)# no shutdown
Router1(config-if)# no ip address
Router1(config-if)# ip nat inside
Router1(config-if)# ip virtual-reassembly
Router1(config-if)# duplex auto
Router1(config-if)# exit
 
# VLAN간 routing
Router1(config)# interface GigabitEthernet0/1.10
Router1(config-subif)# no shutdown
Router1(config-subif)# encapsulation dot1Q 10
Router1(config-subif)# ip address 192.168.10.1 255.255.255.0
Router1(config-subif)# ip nat inside
Router1(config-subif)# ip virtual-reassembly
Router1(config-subif)# duplex auto
Router1(config-subif)# exit

Router1(config)# interface FastEthernet0/1.20
Router1(config-subif)# no shutdown
Router1(config-subif)# encapsulation dot1Q 20
Router1(config-subif)# ip address 192.168.20.1 255.255.255.0
Router1(config-subif)# ip nat inside
Router1(config-subif)# ip virtual-reassembly
Router1(config-subif)# duplex auto
Router1(config-subif)# ip helper-address 192.168.10.10  # 서버의 IP (DHCP 릴레이)
Router1(config-subif)# exit

# HTTP 서버 활성화
Router1(config)# ip http server

# 기본 라우팅 설정
Router1(config)# ip route 0.0.0.0 0.0.0.0 10.0.137.1

# NAT 설정
Router1(config)# ip nat inside source list 1 interface FastEthernet0/0 overload
Router1(config)# access-list 1 permit 192.168.20.0 0.0.0.255
Router1(config)# access-list 1 permit 192.168.10.0 0.0.0.255
Router1(config)# ip routing

Router1(config)# end
Router1# write memory

2. Switch 설정

# 기본 설정
Switch> enable
Switch# configure terminal
Switch(config)# hostname Switch1
Switch1(config)# vlan 10
Switch1(config-vlan)# name SERVERS
Switch1(config-vlan)# exit
Switch1(config)# vlan 20
Switch1(config-vlan)# name CLIENTS
Switch1(config-vlan)# exit

# trunk 설정
Switch1(config)# interface GigabitEthernet0/0
Switch1(config-if)# switchport trunk encapsulation dot1q
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan 10,20
Switch1(config-if)# no shutdown
Switch1(config-if)# exit

# 서버 연결 포트
Switch1(config)# interface GigabitEthernet0/1
Switch1(config-if)# description SERVER
Switch1(config-if)# switchport access vlan 10
Switch1(config-if)# switchport mode access
Switch1(config-if)# no shutdown
Switch1(config-if)# exit

# 클라이언트 연결 포트
Switch1(config)# interface range GigabitEthernet0/3-4
Switch1(config-if-range)# description CLIENTS
Switch1(config-if-range)# switchport access vlan 20
Switch1(config-if-range)# switchport mode access
Switch1(config-if-range)# no shutdown

3. server 설정

# 네트워크 인터페이스 설정 (고정 IP)
sudo vi /etc/netplan/01-netcfg.yaml

# 파일 내용:
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:  # 실제 인터페이스 이름으로 변경
      addresses:
        - 192.168.10.10/24
      gateway4: 192.168.10.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

# 네트워크 설정 적용
sudo netplan apply

# DHCP 서버 설치
sudo apt-get update
sudo apt-get install -y isc-dhcp-server

# DHCP 설정 파일 수정
sudo vi /etc/dhcp/dhcpd.conf

# 파일에 다음 내용 추가:
option domain-name "example.local";
option domain-name-servers 8.8.8.8, 8.8.4.4;

default-lease-time 600;
max-lease-time 7200;

# 서버 네트워크 설정 (VLAN 10)
subnet 192.168.10.0 netmask 255.255.255.0 {
}

# 클라이언트 네트워크 설정 (VLAN 20)
subnet 192.168.20.0 netmask 255.255.255.0 {
  range 192.168.20.100 192.168.20.200;
  option routers 192.168.20.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
}

# DHCP 인터페이스 설정
sudo nano /etc/default/isc-dhcp-server

# 파일 내용 수정:
INTERFACESv4="eth0"

# DHCP 서버 재시작
sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

# 상태 확인
sudo systemctl status isc-dhcp-server

4. client 설정

# 네트워크 인터페이스 설정 (DHCP)
sudo nano /etc/network/interfaces

# 파일 내용:
auto eth0
iface eth0 inet dhcp

# 네트워크 재시작
sudo systemctl restart networking

# DHCP 임대 갱신 (필요시)
sudo dhclient -r
sudo dhclient

# 네트워크 상태 확인
ip addr show
ip route show
cat /etc/resolv.conf

5. 결과

자동할당 및 통신