이것이 리눅스다(12) - 필수 개념과 명령어(네트워크 필수 개념과 관련파일, nmtui 명령 실습, SELinux 개념)
네트워크 관련 필수 개념
TCP/IP
컴퓨터끼리 네트워크 상으로 의사소통을 하는 프로토콜 중 가장 널리 사용되는 프로토콜의 한 종류
호스트 이름과 도메인 이름
호스트 이름은 각각의 컴퓨터에 지정된 이름, 도메인 이름은 naver.com과 같은 형식이다.
IP 주소
모든 컴퓨터의 랜카드라고 생각하면 된다. 랜카드에 부여되는 중복되지 않는 유일한 주소이다. 4바이트로 이루어져 있으며, 각 자리는 0~255까지의 숫자이다. ex. 192.168.111.100
네트워크 주소
같은 네트워크에 속해 있는 공통된 주소로 IP 주소에서 앞의 3바이트까지라고 생각하면 된다. ex. 192.168.111.0
브로드캐스트 주소
내부 네트워크의 모든 컴퓨터가 듣게 되는 주소로 현재 주소의 제일 끝자리를 255로 바꾼 주소. ex. 192.168.111.255
게이트웨이, 라우터
라우터 = 게이트웨이
네트워크 간에 데이터를 전송하는 컴퓨터 또는 장비로, 외부(ex.인터넷)와 연결되는 통로라고 생각하면 된다. VMWare의 게이트웨이 주소는 192.168.111.2로 고정되어 있다.
넷마스크 & 클래스
넷마스크는 네트워크의 규모를 결정한다. 255.255.255.0이라고 생각하면 된다.
DNS 서버 주소 = 네임 서버 주소
URL을 해당 컴퓨터의 IP 주소로 변환해 주는 서버이다. 예를 들어 naver.com을 입력하고 접속하면 DNS 서버가 이를 IP 주소로 변환시켜 접속시켜주는 것이다. 설정 파일은 /etc/resolv.conf
에 있다. 참고로 VMWare에서는 게이트웨이와 DNS 서버를 하나(192.168.111.2)로 이용한다. 그리고 DHCP 서버는 자동으로 IP를 할당해주는 서버로 여기서는 192.168.111.254로 설정한다.
리눅스에서의 네트워크 장치 이름
CentOS8은 랜카드를 ens160으로 인식한다. 나는 VMWare의 버전이 달라서 그런지 ens32로 지정되어 있다. 네트워크 장치의 이름을 잘 기억해두자.
네트워크 관련 명령어
nmtui
: 네트워크와 관련된 대부분의 작업을 이 명령어에서 수행한다.
– 자동 IP 주소 또는 고정 IP주소 사용 결정
– IP주소, 서브넷 마스크, 게이트웨이 정보 입력
– DNS 정보 입력
– 네트워크 카드 드라이버 설정
– 네트워크 장치(ens32)의 설정systemctl <start/stop/restart/status> network
: 네트워크의 설정을 변경한 후에, 변경된 내용을 시스템에 적용시키는 명령어.ifup <장치이름>
orifdown <장치이름>
: 네트워크 장치를 On 또는 Off 시키는 명령어.ifconfig <장치이름>
: 장치의 IP주소 설정 정보를 출력.nslookup
: DNS 서버의 작동을 테스트하는 명령어.ping <IP주소 또는 URL>
: 해당 컴퓨터가 네트워크상에서 응답하는지를 테스트하는 간편한 명령어. 네트워크 이상을 확인하는 명령어이다.
네트워크 설정과 관련된 주요 파일
/etc/sysconfig/network
: 네트워크의 기본적인 정보가 설정되어 있는 파일. 특별히 건드릴 일은 없다./etc/sysconfig/network-scripts/ifcfg-ens32
: ens32 장치에 설정된 네트워크 정보가 모두 들어 있는 파일. 가장 많이 사용할 파일로nmtui
명령어를 통해 네트워크를 설정하면 이 파일의 내용이 변경된다./etc/resolv.conf
: DNS 서버의 정보 및 호스트 이름이 들어 있는 파일./etc/hosts
: 현 컴퓨터의 호스트 이름 및 FQDN이 들어 있는 파일.
nmtui 명령
nmtui
명령어를 입력하면 다음과 같은 창이 뜬다.
ens32로 들어가자.
여기서 IP 주소, 게이트웨이, DNS 서버를 변경할 수 있다. DNS 서버는 여러 주소가 있는데, 대표적으로 구글에서 운영하는 8.8.8.8가 있다. 우리는 IP 주소를 192.168.111.55/24로 DNS 서버를 8.8.8.8로 바꿔보자.
그리고 바꾼 설정이 제대로 적용되었는지 확인하기 위해 cat /etc/sysconfig/network-scripts/ifcfg-ens32
로 확인해보면 내용이 변경된 것을 볼 수 있다.
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.111.55
NETMASK=255.255.255.0
GATEWAY=192.168.111.2
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=50aa53b4-5251-4a78-9b8a-65453c33d46b
DEVICE=ens32
ONBOOT=yes
PREFIX=24
nmtui
를 통해 설정을 변경할 수도 있지만 직접 vi /etc/sysconfig/network-scripts/ifcfg-ens32
를 통해 내용을 변경할 수도 있다. 무엇으로 하든 상관없다.
그리고 이를 실제로 적용하기 위해서 systemctl restart NetworkManager
로 적용한다.
네트워크를 재시작하면 DNS 서버와 같은 경우는 /etc/resolv.conf
에 그 내용을 가져온다.
# Generated by NetworkManager
nameserver 8.8.8.8
SELinux
보안에 취약한 리눅스를 보호하기 위해 탄생했다. 강제(Enforcing), 허용(Permissive), 비활성(Disabled) 세 가지 레벨이 있다. /etc/sysconfig/selinux
를 편집하여 설정할 수 있다.
- 강제(Enforcing)는 시스템 보안에 영향을 미치는 기능이 감지되면 아예 그 기능이 작동되지 않도록 시스템에서 막아줌.
- 허용(Permissive)은 시스템 보안에 영향을 미치는 기능이 감지되면 허용은되지만 그 내용이 로그에 남음.
- 비활성(Disabled)은 SELinux를사용하지 않음.
Leave a comment