리눅스 어드민(5) - NAT과정, 네트워크관리자(nmtui/nmcli), dhcp

김형선·2023년 9월 19일
0

Linux

목록 보기
11/16

9. 리눅스 부트 프로세스

시스템에 전원이 공급되면 시스템 펌웨어(firware : 하드웨어를 low-level control하기 위해서 제공되는 컴퓨터 소프트웨어)인 BIOS(Basic input/output system) 또는 UEFI가 특정 프로그램으로 하드웨어를 점검하는 POST(Power on Self Test)를 진행한다.

커널(kernel)

systemd

Run levels : os가 부팅된 이후 어떤 상태로 시스템을 구동시킬지 결정하는 것

Target : 특정 시스템 상태 또는 실행 수준을 생성하기 위해 다른 장치를 함께 그룹화하는 장치 구성파일


실습1(root 패스워드)

root 비밀번호를 까먹을 경우 어떻게 해야하나.

우선 shutdown으로 끄고

다시 킬 때 e를 눌러야함

이런 화면 뜬다.

rd.break 추가하고 ctrl+x누른다 > 복구쉘로 이동

현재 복구를 위해 다른 시스템이랑 mount해야함. root 패스워드를 몰라서 원래 시스템에 접속할 수가 없어서.

mount | grep '/sysroot'를 했는데

ro라는 것이 보임 > readonly임. 그래서

mount -o remount,rw /sysroot

chroot /sysroot

passwd

비번 치고

touch /.autorelabel

exit 

exit

하면 된다.

이러면 root 패스워드 바뀜
터미널에서 root로 접속할 때 이제 바꾼 root 패스워드로 들어가야함



실습2(fstab 오타)

이제 /etc/fstab에서 한 글자 정도 오류를 내고

어디에 오류가 있는지 찾아보겠다.

defaults에서 s하나 빼봤다.

reboot해보겠다 기다리면

error메시지를 보면 mount option에서 default라는 것이 문제가 있다는 것을 볼 수 있다. mount 관련된 것은 /etc/fstab를 보면 된다. root패스워드 치고
vi /etc/fstab 들어가서 고치고 다시 reboot하면 된다.


10. 소프트웨어 패키지

  • RPM(Redhat Package Manager) : 소프트웨어 패키지

  • 소프트웨어 패키지 : 특정 서비스를 운영하기 위해 필요로 하는 프로그램 또는 도구를 쉽게 설치하고 관리할 수 있도록 하나의 패캐지로 묶어서 제공

  • rpm 쓰기 어려워서 yum패키지 주로 사용

  • yum을 사용하여 패키지 관리

  • YUM(Yellowdog Updater Modified) : RPM 기반의 패키지 설치 제거 업데이트 관리해주는 도구

  • yum저장소 : 패키지들을 저장해 놓은 하나의 서버를 의미

  • repository파일 : yum 저장소에 연결할 수 있도록 설정한 파일(repo파일)

cd /etc/yum.repos.d에 저장되어 있음(들어갈 일 별로 없음)

cd /var/log/에 yum.log보면 yum 어떻게 썼는지 로그 볼 수 있다


11. 네트워크 관리

  • ip : 논리적인 주소
  • gateway : 사용자가 위치한 네트워크에서 다른 네트워크로 이동하기 위해서 반드시 거쳐야하는 거점
  • dns 서버 : IP주소와 도메인주소를 이어주는 역할
  • 라우터
  • 스위치

집에서 사용하는 인터넷 공유기를 통해 외부에 있는 웹 서버에 접근하고자 하는 경우, 해당 요청 패킷은 반드시 해당 공유기(게이트웨이)를 거치게 되어 있다. 이때, 출발지의 사설망 IP주소가 그대로 외부 인터넷에 나가게 될 경우 수신측(웹서버)은 알 수 없는 사설망의 IP주소라서 패킷을 어디로 보낼지 모른다.

따라서 NAT는 다음과 같은 과정을 거친다.

  1. 패킷 헤더에 출발지와 목적지의 주소를 기록한다. 이때 출발지는 자신의 사설망 IP주소이다.
  2. 기본 게이트웨이(공유기)에서 외부로 나가는 패킷을 인식하게 되면, 출발지의 IP주소를 게이트웨이 자신의 공인IP주소로 변경한다. 그리고 NAT테이블에 별도로 보관한다.
  3. 웹서버에서 수신한 데이터를 처리한 후, 응답하여 보내는 패킷에 출발지와 목적지의 IP주소를 기록하여 보낸다. 이때 목적지의 IP주소는 호스트의 기본 게이트웨이 공인IP주소이다.
  4. 호스트의 기본 게이트웨이에서 웹서버가 보낸 패킷을 받으면 기록해두었던 NAT테이블을 참조하여 최종 목적지인 호스트의 사설IP주소로 변경하여 해당 호스트로 패킷을 전달한다.

(추가)

명령어

  • ipconfig(윈도우), ifconfig(리눅스)
  • ip address show=ip a=ifconfig
  • ip route
  • traceroute
  • tracepath
  • ping

네트워크 관리자

(Network Manager > 리눅스에서 표준 네트워크 관리도구로 만들어서 사용)

systemctl로 켜져있는지 확인할 수 있다
만약 없으면 yum -y install NetworkManager

호스트네임(시스템에 이름을 부여)

cat /etc/hostname : 호스트네임 뭔지 보려면

hostnamectl set-hostname linux_test : 호스트네임 바꾸는 명령어
(reboot해야 바뀐거 보인다)


  • nmtui

  • nmcli

    nmcli는 네트워크 관리자가 제공하는 가장 강력한 커맨드 라인 도구

nmcli dev status : 현재 네트워크 장치의 상태를 표시


nmcli connection show로도 볼 수 있다.



VM 끄고 나가서 설정 > 네트워크에서 어댑터3 추가하자. 현재 어댑터1은 NAT, 어댑터2는 호스트 전용 어댑터를 추가해둔 상태이다. NAT는 가상머신과 외부 인터넷과의 연결을 위해서 필요하다. 호스트 전용 어댑터는 가상머신을 띄운 로컬컴퓨터와 가상머신 사이의 연결을 위해 필요하다. VM virtualbox만 이상하게 NAT네트워크를 사용해야 가상머신끼리의 통신이 가능하다. 그래서 추가하는 것이다.(VMware는 NAT만 해도 통신이 가능하다고 한다)
<잘못된 설정 감지됨 나오면 이 링크 누르자>


reboot하고 확인


DHCP (Dynamic Host Configuration Protocol)

  • 네트워크에서 컴퓨터나 다른 네트워크 장치에 자동으로 IP 주소 및 관련 네트워크 설정 정보를 할당하는 데 사용되는 프로토콜
  • DHCP 서버는 네트워크 관리자가 관리하는 중앙 서버로 클라이언트 장치에게 IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버 및 기타 네트워크 설정을 동적으로 할당(일정주기마다 바뀜)

nmcli connection add

  • dynamic이라는 연결 프로필을 생성함
  • 해당 연결 프로필을 사용하여 네트워크 어댑터를 활성화하고 설정
  • type ethernet은 이 연결 프로필이 Ethernet연결 유형을 지정하는 것이다.
  • con-name dynamic은 연결 프로필의 이름을 dynamic로 설정하는 것이다.
  • ifname enp0s9는 연결을 위해 사용할 Ethernet인터페이스의 이름을 지정해주는 것이다. autoconnect yes는 시스템이 부팅될 때 자동으로 연결을 활성화시키는 것이다.
  • 어댑터를 열어놔야 가능하다고 한다.
  • 지금 보면 wired connection 1(enp0s9)이 나중에 dynamic으로 바뀌는걸 볼 수 있다.

nmcli con up dynamic

  • 키는 것임
  • NetworkManager를 사용하여 미리 설정된 네트워크 연결 프로필을 수동으로 활성화



/etc/sysconfig/network-scripts
네트워크 설정 파일을 관리하는 디렉토리


DHCP 이용하지 않고 static으로 IP주소 할당하려면 nmcli connection modify 명령어를 사용한다.

네트워크 설정을 수동으로 구성할 때 필요한 정보로 (static으로 수정하기 위해서) ip, gateway, dns, static 필요하다. DNS서버는 호스트 이름을 IP주소로 변환하는 역할을 한다.


nmcli connection modify dynamic ipv4.Method manual을 쓰면 수동으로 바뀐다.

nmcli connection modify dynamic ipv4.dns 8.8.8.8은 dns서버를 8.8.8.8로 하겠다는 소리이다. dns서버로 쓸 수 있는 사이트들이 몇 개 있는데 그 중에 구글을 고른 것이다.
dns서버를 8.8.8.8로 해놔서 처음에 nslookup을 했을 때 서버가 8.8.8.8이 나온거고, 뒤에 my.meraki.net을 붙이면 dns서버를 뒤의 것으로 쓸 수도 있다.

0개의 댓글