Fascination

# 네트워크 관련 필수 개념

- TCP/IP

  > 컴퓨터끼리 네트워크상으로 의사소통하는 약속을 '프로토콜'이라고 부르는데,

     그중 가장 널리 사용되는 프로토콜의 종류 중 하나

  > 통신의 전송/수신을 다루는 TCP(transmission Control Protocol)와 데이터 통신을 다루는 IP(Internet protocol)로

     구성

 

- 호스트 이름과 도메인 이름

  > 호스트 이름은 각각의 컴퓨터에 지정된 이름을 말함

  > 도메인 이름은 hanbit.co.kr과 같은 형식으로 표기하며 kr은 한국, co는 회사, hanbit은 단체/회사 이름을 의미

  > FQDN: 호스트 이름이 this이고 도메인 이름이 hanbit.co.kr 일 때 전체 이름을 this.hanbit.co.kr으로 부르는 것

 

- IP 주소

  > 각 컴퓨터의 랜 카드(네트워크 카드)에 부여되며 중복되지 않은 유일한 주소

  > 네트워크에 연결된 모든 컴퓨터에는 고유한 IP주소가 있으며, 이는 서로 다르기 때문에

     특정 컴퓨터의 IP주소를 알면 그 컴퓨터가 전 세계 어디에 있든지 접속할 수 있다는 개념 (사설 IP는 제외)

  > 4바이트로 이루어져 있으며 각 자리는 0~255까지의 숫자가 올 수 있음

  > 자기 자신을 의미하는 IP주소는 127.0.0.1

 

- 네트워크 주소

  > 같은 네트워크에 속해 있는 공통 id

* 사설 네트워크

  > 192.168.xxx.ooo의 주소 영역은 사설 네트워크의 주소

  > 외부와 분리된 내부의 별도 네트워크를 의미

 

- 브로드캐스트 주소

  > 내부 네트워크의 모든 컴퓨터가 수신하는 주소

  > 현재 주소의 제일 끝자리를 255로 바꾼 주소 (C 클래스의 경우)

 

- 게이트웨이(Gateway), 라우터(Router)

  > 라우터 = 게이트웨이

  > 네트워크 간에 데이터를 전송하는 컴퓨터 또는 장비

  > VMware의 게이트웨이 주소는 192.168.111.2로 고정

 

- 넷마스크와 클래스

  > 넷마스크: 네트워크의 규모를 결정

  > 네트워크 클래스

     A: 255.0.0.0

     B: 255.255.0.0

     C: 255.255.255.0

 

- DNS

  > URL을 해당 컴퓨터의 IP 주소로 변환해주는 서버 컴퓨터를 말함

  > 즉, URL 이름을 IP 주소로 변경하는 것임

  > DNS 서버의 주소를 사용하지 않거나 잘못 입력되어 있으면 웹 사이트에 정상적으로 접속되지 않음

  > 설정 파일은 /etc/resolv.conf, 내용 중에 'nameserver DNS서버IP' 형식으로 설정되어 있음

 

 

# 리눅스에서의 네트워크 장치 이름

- 랜 카드가 리눅스에 장착되었을 때 CentOS 8을 설치하면 자동으로 이 장치의 이름은 ens160으로 인식

- 어느 장비에 설치하느냐에 따라 ens160, ens161, ens32, ens33, eth0, eth1 등 다양한 형태로 인식

- 명령어

ifconfig ens160     // 네트워크 설정 정보 출력
ifup ens160         // 네트워크 장치 가동
ifdown ens160     // 네트워크 장치 정지

 

 

# 중요한 네트워크 관련 명령어

# nmtui

- Network Manager Text User Interface

- 네트워크와 관련된 작업 대부분을 이 명령을 기반으로 실행

  > 자동 IP 주소 또는 고정 IP 주소 사용 결정

  > IP 주소, 서브넷 마스크, 게이트웨이 정보 입력

  > DNS 정보 입력

  > 네트워크 카드 드라이버 설정

  > 네트워크 장치(ens160) 설정

* GNOME 그래픽 모드를 제공하지 않음

  → x윈도의 그래픽 모드를 완전하게 사용해서 네트워크를 설정하려면 아래 두 명령 중 한가지를 사용

     gnome-control-center network

     nm-connection-editor

 

# systemctl <start/stop/restart/status> NetworkManager

- 네트워크 설정을 변경한 후 내용을 시스템에 적용시키는 명령어

- nmtui 명령을 실행한 후 또는 직접 ifcfg-ens160파일을 편집한 후에는 systemctl restart NetworkManager 명령을 실행해야 함

- restart 옵션은 stop 옵션과 start 옵션이 합쳐진 것

 

# ifup 장치이름

- 해당 장치를 작동시키는 명령어

 

# ifdown 장치이름

- ifup과 반대로 네트워크 장치를 끄는 명령어

 

# ifconfig 장치이름

- 해당 장치의 IP주소와 관련된 정보를 출력하는 명령어

 

# nslookup

- DNS 서버의 작동을 테스트하는 명령어

 

# ping IP주소 또는 URL

- 해당 컴퓨터가 네트워크상에서 응답하는지 테스트하는 간편한 명령어

 

# ifconfig 명령과 route 명령

- 네트워크 정보를 설정하기 위해 nmtui 명령어나 에디터에서 직접 설정하는 방법 외에 ifconfig나 route 명령어로 설정할 수 있음

- root 권한으로 다음 명령을 차례로 실행하면 됨

ifconfig ens160 192.168.111.100 netmask 255.255.255.0 broadcast 192.168.111.255 up
route add - net 192.168.111.0 netmask 255.255.255.0 ens160
route add default gw 192.168.111.2 dev ens160

 

 

# 네트워크 설정과 관련된 주요 파일

- /etc/sysconfig/network

  > 네트워크의 기본 정보가 설정되어 있는 파일이며 네트워크 사용 여부가 쓰여 있음

 

- /etc/sysconfig/network-scripts/ifcfg-ens160

  > ens160 장치에 설정된 네트워크 정보가 모두 들어있는 파일

 

- /etc/resolv.conf

  > DNS 서버의 정보와 호스트 이름이 들어있는 파일

  > nameserver를 수정한 후에 systemctl restart NetworkManager 명령을 실행할 필요가 없음

  > nslookup 명령을 사용해 url을 조회할 경우 실시간으로 /etc/resolv.conf 파일을 열어서 확인하기 때문

 

- /etc/hosts

  > 현재 컴퓨터의 호스트 이름과 FQDN이 들어있는 파일

* nmtui 명령을 사용하지 않아도 위 4개의 파일을 직접 편집하면 동일한 효과를 낼 수 있음

 

 

# 네트워크 보안을 위한 SELinux

- SELinux(Security Enhanced Linux)

- 보안에 취약한 리눅스를 보호하기 위해 탄생

- 해커가 어떤 경로로 시스템 침입에 성공하든, 침입한 경로의 애플리케이션 사용 이상의 권한을 얻지 못함

- 만약의 사태가 발생해도 피해를 최소화할 수 있음

- 사용 여부: 강제, 허용, 비활성 3가지 레벨 중 선택 가능

- 설정 파일: /etc/sysconfig/selinux 파일

- CentOS8을 설치하면 강제로 기본 설정되어 있음

- 보안을 강화하면 여러 가지 불편한 점이 발생할 수 있고, 반대로 보안을 약화하면 편리해지지만 위험이 따를 수 있음

- /etc/sysconfig/selinux를 직접 편집하지 않고 system-config-selinux 명령을 실행하여 설정할 수도 있음

* system-config-selinux 명령을 사용하려면 먼저 policycoreutils-gui 패키지를 설치해야 함

강제(enforcing) 시스템 보안에 영향을 미치는 기능이 감지되면 아예 그 기능이 작동되지 않도록 시스템에서 막음
허용(permission) 시스템 보안에 영향을 미치는 기능이 감지되면 허용은 하되 사용 내용이 로그에 남고 화면상에도 출력됨
비활성화(disabled) SELinux를 사용하지 않는 것이므로 보안에 취약해짐

 

 

 

 


[출처]

- 숙명여자대학교 서버운영및보안 수업 - 이종우 교수님

- 이것이 우분투다 (개정판) - 우재남 지음

'Study > Linux' 카테고리의 다른 글

[Linux] 프로세스, 데몬, 서비스  (0) 2021.10.25
[Linux] 파이프, 필터, 리디렉션  (0) 2021.10.25
[Linux] cron과 at  (2) 2021.10.24
[Linux] 시스템 설정  (0) 2021.10.24
[Linux] 파일 위치 검색  (0) 2021.10.24
profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!