본문 바로가기
Linux

7월 26일 Linux(1)

by 개발자 영만 2022. 7. 26.

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 주소; #범위 내에서 사용할 주소
      }

  • 서비스 재시작/등록/상태확인
    • 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