DHCP 서버 설치와 운영
DHCP 개념
- DHCP(Dynamic Host Configuration Protocol) 서버가 하는 역할은 자신의 네트워크 안에 있는 클라이언트 컴퓨터가 부팅될 때 자동으로 IP주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소를 할당해 주는 것
- 일반 사용자는 IP에 관련된 어려운 정보를 알지 못해도, 인터넷을 사용하는 데는 더 이상 아무런 문제가 없어짐
- DHCP 서버의 가장 큰 장점은 관리하기 편하고 이용자가 편다하는 것
- 또한 한정된 IP 주소를 가지고 더 많은 IP 주소가 있는 것 처럼 활용할 수 있음. 즉, 적은 개수의 IP 주소로 여려 명의 사용자가 사용할 수 있다는 의미
- DHCP 서버의 작동원리
- DHCP 클라이언트로 설정 방법
DHCP 구현
- VMware 내부에서 구현할 DHCP 서버 구성도
실습
Client
- 네트워크 연결 설정을 클릭
- IPv4 탭의 방법이 자동으로 설정되어 있다. 즉 DHCP 서버에서 자동으로 IP 주소를 할당 받도록 설정되어 있다. 취소를 클릭하고 창을 닫자
- 터미널에서 자동으로 할당된 IP주소를 확인
- ifconfig
- /etc/resolv/conf 파일도 확인. nameserver(DNS 서버)가 127.0.0.xx로 설정된 것은 설정된 서버를 사용하겠다는 의미. VMware의 DHCP서버가 네임 서버를 192.168.111.2로 전송하므로, 이 부분에는 192.168.111.2가 적혀 있는 것과 동일
Server
- 우선 VMware의 DHCP 서버 기능을 중지시킨다. Edit -> Virtual Network Editor를 선택, Vmnet8부분을 선택하고 DHCP Settings를 클릭
- DHCP Settings 창에 나온 정보를 기억
- 네트워크(Subnet IP) 주소: 192.168.111.0
- 클라이언트에 할당할 IP 주소 범위: 192.168.111.128 ~ 254
- 클라이언트에 할당할 서브넷 마스크(Subnet mask): 255.255.255.0
- 이번에는 Virtual Network Editor창에서 NAT Settings를 클륵히 Vmnet8의 Gateway IP부분을 확인
- 게이트웨이(라우터) 정보 확인. 이 게이트웨이가 DNS 서버 역할도 수행하므로 DNS서버의 IP 주소도 확인된 것으로 보면 된다.
- 클라이언트에 할당할 게이트웨이 IP 주소: 192.168.111.2
- 클라이언트에 할당할 DNS 서버 IP 주소: 192.168.111.2
- 직접 구축할 DHCP 서버를 사용하기 위해 VMware가 제공하는 DHCP 서버 기능을 끈다.
Client
- reboot 명령으로 가상머신 재부팅
- ifconfig 명려으로 IP 주소확인. ens33에 할당반은 IP 주소가 없다. IP 주소를 자동으로 할당해줄 DHCP 서버가 없기 때문
Server B
- Server B는 설치 시 고정 IP 주소인 192.168.111.200을 할당했으므로 DHCP 서버의 작동과 관계 없이 네트워크에 연결되어 있다.
- nano 에디터로 /etc/netplan/*.yaml 파일을 열고 편집
- 5행의 dhcp4: no 부분을 dhcp4: true로 변경하고 6~9행은 삭제 or 주석 처리. DHCP 클라이언트 역할을 하도록 설정
- 현재 상태에서 재부팅하면 부팅 과정에서 네트워크를 가동하기 위해 한참 동안 대기해야 한다. 이 시간을 10초로 줄이자.
- nano /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
- 23행에 TimeoutStartSec=10sec
- reboot 명령으로 재부팅 후 ifconfig 입력. 현재 네트워크에 DHCP 서버가 없으므려 IP 정보를 얻는데 실패.
Server - DHCP 서버 구축
- 패키지 설치
- apt -y install isc-dhcp-server
- DHCP 서버의 설정파일 편집
- gedit /etc/dhcp/dhcpd.conf
- subnet 네트워크주소 netmask 넷마스크값 {
option routers 게이트웨이주소;
range dynamic-bootp 시작IP 끝IP; #회사 PC가 대락 30대 정도라고 가정
option domain-name-servers 네임서버주소; #공인된 DNS 서버 주소를 사용해보자
default-lease-time 임대시간(초);
max-lease-time 최대임대시간(초);
}
- DHCP 클라이언트가 IP 주소를 대여해 간 정보가 기록되는 파일은 /var/lib/dhcp/dhcpd.leases다. ls 명령으로 확인해보고, 만약 이 파일이 없다면 touch /var/lib/dhcp/dhcpd.leases 명령으로 빈 파일을 생성
- 서비스 재시작/등록/상태확인
- systemctl restart/enable/status isc-dhcp-server
- DHCP 관련 포트 허용
- ufw allow 67/68
Client
- reboot 명령으로 재부팅한 후 터미널을 열고 ifconfig 명령으로 할당받은 IP 주소 확인
Server B
- reboot 명령으로 재부팅한 후 터미널을 열고 ifconfig 명령으로 할당받은 IP 주소 확인
- ping -c 3 www.google.com 명령을 입력해 인터넷이 잘 되는지 확인
WinClient
- 네트워크 연결의 Ethernet0 상태의 자세히를 클릭하면 할당받은 IP 주소를 확인할 수 있다.
Server
- gedit /var/lib/dhcp/dhcpd.leases 파일을 열면 DHCP 클라이언트가 네트워크 정보를 대여해 간 기록이 남아 있다.
특정 컴퓨터(랜카드)에 고정적인 IP 주소를 할당할 때
- 할당한 범위 내의 IP 하나를 고정처럼 입력
- /etc/dhcp/dhcpd.conf 파일 맨 아래에
- host ns {
hardware 이더넷주소;
fixed-address 고정으로 사용할 IP 주소; #범위 내에서 사용할 주소
}
- host ns {
- 서비스 재시작/등록/상태확인
- systemctl restart/enable/status isc-dhcp-server
- 할당된 IP 확인
윈도우에서
ipconfig
ipconfig /all
ipconfig /?
ipconfig /release - IP반남(네트워크 끊어짐)
ipconfig /renew - IP할당(IP를 받아옴)
프록시 서버 설치와 운영
프록시 서버 개념
- 프록시(Proxy)란 단어가 뜻하듯 ‘대리인’의 역할을 하는 서버
- 웹 환경에서 프록시 서버는 웹 클라이언트와 웹 서버 사이에서 요청한 데이터를 전달하는 역할
- 한번 전송한 데이터를 캐시에 저장한 후, 같은 데이터를 또 요청할 경우에 캐시에 저장된 것을 보내줌
실습
Server
- squid 프록시 서버 설치
- apt -y install squid
- 설정 파일인 /etc/squid/squid.conf의 제일 위에 다음을 추가한 후 저장하고 닫는다. 아래에 입력하면 네트워크 연결이 안된다.
- gedit /etc/squid/squid.conf
- acl myserver src 192.168.111.0/255.255.255.0
http_access allow myserver
cache_dir ufs /var/spool/squid 1000 20 256 [디렉터리 경로, 전체 용량, 폴더 개수, 폴더안의 또 다른 폴더 개수]
visible_hostname myserver
- 방화벽 끄기
- ufw disable
- 서비스 중지 - Client, WinClient에서 프록시 설정 후 재시작
- systemctl stop squid
WinClient
- 시작에서 설정을 선택한다. 설정창에서 네트워크 및 인터넷을 선택하고 프록시를 클릭한다. 자동으로 설정 검색을 끔으로 프록시 서버 사용을 '켬'으로 설정하고, 주소에는 192.168.111.100을, 포트에는 '3128'을 입력한 후 저장을 클릭
- Edge 브라우저에서 아무 사이트나 접속하면 접속에 실패할 것이다.
Client
- Firefox를 실행한 후 오른쪽 위에서 메뉴 아이콘을 클릭하고 환경 설정을 선택한다. 제일 아래로 스크롤한 후 네트워크 설정의 설정을 클릭
- 연결 설정 창에서 수동 프록시 설정을 선택한후 HTTP 프록시 프록시 서버의 주소인 192.168.111.100을 포트에 3128을 입력한다. 아래에 있는 FTP 및 HTTPS에도 이 프록시를 사용을 체크하고 확인을 클릭
- 웹 브라우저를 다시 실행해서 아무 사이트나 접속하면 '프록시 서버가 연결을 거부함'이라는 메시지가 나온다. 아직 프록시 서버를 가동하지 않았기 때문
Server
- 서비스 시작/상시 가동/상태 확인
- systemctl restart/enable/status squid
Client, WinClient
- Firefox/Edge를 다시 시작하면 정상적으로 웹 서핑이 된다. 이제부터는 프록시 서버가 작동하고, 웹 데이터는 캐시에 저장된다.
/var/spool/squid 안에 폴더 안에 또 다른 폴더들의 내용을 확인해 보면 인터넷 관련 정보가 있는데 이 정보를 토대로 네트워크 연결을 시켜줌.
'Linux' 카테고리의 다른 글
7월 27일 Linux(1) (0) | 2022.07.27 |
---|---|
7월 26일 Linux(2) (0) | 2022.07.26 |
7월 25일 Linux (0) | 2022.07.25 |
7월 22일 Linux (0) | 2022.07.22 |