네트워크 설정 및 점검
학습 개요
네트워크 인터페이스와 네트워킹과 관련이 있는 시스템 서비스를 확인해 보자.
네트워크 설정을 확인하거나 설정을 바꾸는 명령을 학습하고 네트워크 설정 정보를 가지고 있는 파일에 관해 살펴보자.
네트워크의 상태를 점검하는 명령의 기능과 사용법을 알아보자.학습 목표
- ifconfig 명령의 사용법과 출력 결과의 이해.
- 네트워크 설정 파일을 나열.
- 네트워크 상태를 점검하는 명령을 나열하고 설명.
네트워크 설정
네트워크 인터페이스
- 컴퓨터와 네트워크 간의 연결을 제공하는 장치.
- 네트워크 인터페이스 카드(NIC)에 위치함.
- 랜(LAN) 카드 또는 이더넷(Ethernet) 카드라고도 불림.
- 개별 네트워크 인터페이스 카드는 고정된 이더넷 주소(MAC ADDR)를 가지고 있으며 IP 주소를 할당 받을 수 있음.
ifconfig
네트워크 인터페이스 정보를 확인하거나 설정하는 명령.
- 이더넷 주소와 IP 주소를 확인할 수 있음.
- 관리자는 IP 주소를 설정할 수 있음.
- 네트워크 인터페이스 설정이나 통계를 확인할 수 있음.
[ec2-user@AWS ~]$ ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001 inet 172.31.0.0 (IP) netmask 255.255.240.0 (class c의 주소) broadcast 172.31.0.0 inet6 0::0:0:0:0 prefixlen 64 scopeid 0x20<link> ether 0:0:0:0:0:0 txqueuelen 1000 (Ethernet) RX packets 1516448 bytes 525514468 (501.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1250885 bytes 169586125 (161.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 12 bytes 848 (848.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12 bytes 848 (848.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- eth : 이더넷.
- lo : (loop back interface) 같은 컴퓨터 내에서 가상의 네트워크 인터페이스.
ifconfig [-a] [interface]
- 옵션 -a는 모든 네트워크 인터페이스에 대한 정보를 보여줌.
- 네트워크 인터페이스를 지정하면 해당 정보만 보여줌.
ifconfig interface [IP_ADDR] [NETMASK_ADDR] [BROADCAST_ADDR] [UP|DOWN]
- interface : 네트워크 이름(ex: eth0).
- IP_ADDR : 설정하려는 IP 주소.
- NETMASK_ADDR : 설정하려는 서브넷 마스크.
- BROADCAST_ADDR : 설정하려는 브로드캐스트 주소.
- UP | DOWN : 해당 네트워크 인터페이스를 활성화 또는 비활.
네트워킹 관련 서비스
- network 서비스
- 네트워킹의 사용을 위해 반드시 필요하며 네트워크 카드의 활/비활을 담당.
- 부팅시 수행되는 /etc/rc.d/init.d/network 스크립트를 의미.
- NetworkManager 서비스.
- 네트워크 설정의 편리한 관리를 위해 필요.
- 네트워크의 자동 연결 또는 네트워크 설정의 변경을 즉시 인지하여 처리함.
- 부팅시 수행되는 /etc/re.d/init.d/NetworkManager 스크립트를 의미.
- 네트워크 설정의 편리한 관리를 위해 필요.
ifconfig 명령으로 확인 가능한 네트워크 인터페이스 정보
INFO | DESC |
---|---|
MAC 주소 | Ethernet H/W 주소 또는 어댑터 주소라고도 하며 48bit 구성 |
IP 주소 | 32bit 구성 |
broadcast 주소 | 같은 네트워크에 속한 모두에게 메세지를 보낼 때 사용하는 주소. ARP(Address Resolution Protocol), DHCP(Dynamic Host Configuration Protocol) 등에 사용 |
subnet mask | 서브 네트워크의 범위를 나타내는 값 |
MTU | 패킷의 최대 크기, 보통 1500 |
RX packets | 받은 패킷 수 |
TX packets | 보낸 패킷 수 |
RX bytes | 받은 바이트 수 |
TX bytes | 보낸 바이트 수 |
Interrupt 주소 | 인터럽트 주소 |
네트워크 관리를 위한 GUI
- GNOME -> '시스템 > 기본 설정 > 네트워크 연결'
- '네트워크 연결' 창이 나타남.
- 여기서 네트워크 인터페이스 정보를 확인하거나 변경 가능.
- 데스크톱 패널에서 NetworkManager 아이콘을 사용할 수 있음.
네트워크 설정 파일
- 네트워크를 사용하기 위해 필요한 여러 가지 정보를 저장.
- 네트워크 기능이 정확하게 동작하기 위해 필요함.
- 여러 네트워크 설정 파일이 존재함.
- 네트워크 설정 파일은 대부분 /etc 디렉토리에 위치함.
- 또는 /etc/sysconfig 디렉토리에 위치함.
- /etc/sysconfig/network-scripts/ 디렉토리에 존재하는 ifcfg-eth0과 같은 인터페이스 설정 파일도 있음.
- 개별로 인터페이스에 대한 IP 주소, 넷마스크, 브로드캐스트 주소와 네트워트 파라미터를 설정.
/etc/sysconfig/network
- 네트워킹의 활성화 여부, 호스트 명, 기본 게이트웨이 등 기본적 네트워크 설정을 포함한 파일
- 모든 네트워크 인터페이스에 적용됨.
- 파일을 변경했다면 네트워크 서비스나 시스템을 재시작해야 효과가 나타남.
- 라인별로 설정할 대상과 값을 표시함
NETWORKING=yes HOSTNAME=unix.knou.ac.kr GATEWAY=192.168.0.1
- NETWORKING : ... 네트워크 설정이 되어 있으면 yes
- HOSTNAME : ... 호스트명. 도메인명으로 나타냄
- GATEWAY : ...는 기본 네트워크 게이트웨이의 IP 주소
/etc/resolv.conf
- DNS 서버를 지정하며 사용할 도메인명과 도메인 검색 경로 등도 지정.
- 네임서버 설정이 없으면 숫자로 된 IP 주소를 사용해야 함.
- 라인 별로 설정할 대상과 값을 표시 함.
nameserver 192.168.0.1 nameserver 192.168.0.1 domain jeaha.dev search jeaha.dev abc.dev asdf.dev
- nameserver :
- DNS 서버의 IP 주소를 지정.
- 만약 DNS 서버를 추가로 설정할 경우에는 새로운 줄에 nameserver와 함께 IP 주소를 기록.
- 첫 번째 네임 서버에 문제가 생기면 다음 네임서버를 사용 함.
- domain :
- 로컬 도메인명을 기록
- search :
- 불완전하게 호스트명만 사용하는 경우, 도메인명으로 사용할 수 있는 것을 설정.
- 기본적으로 로컬 도메인명이 사용됨.
- 빈칸을 구분하여 최대 6개까지 지정할 수 있음.
- 불완전하게 호스트명만 사용하는 경우, 도메인명으로 사용할 수 있는 것을 설정.
- nameserver :
/etc/hosts
- 호스트명과 IP 주소 및 별명을 설정한 파일.
- 보통 첫 줄에 루프백 인터페이스에 대한 정보를 포함하고 있음.
- 파일에 설정된 IP 주소는 DNS를 사용하지 않고 직접 전송함.
127.0.0.1 localhost localhost.localdomain 192.168.0.1 www.jeaha.dev
/etc/hosts.allow
- host.deny 파일과 함께 '호스트 엑세스 제어 파일'이라 함.
- 현재 시스템의 TCP/IP 서비스를 이용할 수 있는 호스트들을 설정.
- 라인 별로 서비스와 호스트를 지정함
sshd: 12.34.56.67, 192.168.0. httpd: ALL
/etc/hosts.deny
- 현재 시스템의 TCP/IP 서비스를 이용할 수 없는 호스트들을 설정함
sshd: 12.34.56.77 in.telnetd: ALL
- 두 파일 /etc/hosts.allow와 /etc/hosts.deny가 모두 있는 경우는 다음과 같이 처리 됨.
- 우선 hosts.allow 파일 검사.
- 매칭이 발생하면 첫 번째 것을 따름.
- 두 파일에서 모두 매칭이 일어나지 않으면 허용 됨.
네트워크 점검
ping
- ICMP(Internet Control Message Protocol)의 에코(echo)를 이용하여
원격 호스트와의 연결 여부와 네트워크 상태 정보를 점검함. - ping [option] destination
- destination은 호스트명 또는 IP 주소
- 보낸 패킷 수(packet transmitted), 받은 패킷 수(received),
유실된 패킷 수(packet loss), 응답 속도 등을 알 수 있음.
- OPTION
- -c count : 에코를 보내는 횟수 지정.
- -i interval : 패킷을 보내는 간격(초)를 지정. 기본값은 1
- -w deadline : ping 명령을 종료하는 시간(초)를 지정.
arp
- 같은 네트워크에 있는 호스트들의 MAC 주소, IP 주소, 인터페이스 이름을 확인하는 명령
- arp [hostname] || arp -a [hostname]
- 인수 없는 arp 는 현재 같은 네트워크에 연결 되어 있는 시스템의 MAC 주소와 IP 주소를 출력
- ARP 캐시 정보를 보여주는 것으로 /proc/net/arp 파일의 내용을 보여줌.
- 인수 없는 arp 는 현재 같은 네트워크에 연결 되어 있는 시스템의 MAC 주소와 IP 주소를 출력
traceroute
- 현재 호스트에서 특정 호스트까지 통신이 이루어지는 경로를 확인함.
- IP 패킷에서 hop을 지날 때마다 ttl(time to live) 값이 줄어드는 성질을 이용.
- 대상 호스트까지의 통신 가능 여부, hop 수, 지연 구간 등을 확인할 수 있음.
- traceroute [option] hostname
OPTIONS | DESC |
---|---|
-I | ICMP의 에코를 이용하여 경로를 확인한다. |
-T | TCP의 SYN을 이용하여 경로를 확인한다. |
-m max_ttl | hop 수가 max_ttl을 넘지 않을 때까지만 경로를 확인한다. 기본값 30. |
-q nqueries | 각 hop에서 nqueries 번씩 패킷을 보냄. 기본값 3. |
route
IP 라우팅 테이블을 설정하거나 확인하는 명령.
단순한 route 명령은 라우팅 테이블의 내용을 출력함.
- netstat -r 과 같음.
라우팅 테이블을 편집할 수 있음.
- 지정된 호스트를 라우팅 테이블에 추가하거나 삭제함.
- route add [-net|-host] target [netmask, ...] [gw ..] ...
- route del [-net|-host] target [netmask, ...] [gw ..] ...
- target은 호스트명 또는 IP 주소
route 실행 예
[ec2-user@ip-AWS ~]$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default ip-172-xx-xx-1. 0.0.0.0 UG 0 0 0 eth0 instance-data.a 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 172.xx.xx.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
항목의 의미
- Destination : 목적지 네트워크
- Gateway: 목적지에 도달하는 데 사용되는 게이트웨이
- Genmask : Netmask를 의미
- Flags : 경로의 특징
- Metric : 목적지까지의 거리
- Ref : 접속을 이루려고 참조된 경로 횟수
- Use : 이 경로를 통해 전송된 패킷 수
- Iface : 사용되는 네트워크 인터페이스 이름
netstat
- 네트워크 상태에 관한 정보를 출력하는 명령
- 네트워크 인터페이스 정보, 네트워크 연결 상태, 시스템 라우팅 테이블, 프로토콜멸 네트워크 통계, 멀티 캐스팅 등을 확인할 수 있음.
- netstat [options]
OPTIONS | DESC |
---|---|
-i | 인터페이스의 정보 출력 |
-a | 모든 소켓을 출력 |
-l | liseten 하는 소켓을 출력 |
-p | 소켓의 프로그램명과 PID 를 출력 |
-r | 라우팅 테이블을 출력 |
-t | 활성화된 TCP 소켓을 출력 |
-u | 활성화 된 UDP 소켓을 출력 |
nslookup
- DNS 서버를 이용하여 호스트이 IP 주소를 확인함.
- nslookup [hostname]
- hostname에 대한 IP주소를 보여 줌.
- hostname을 생략하면 대화식으로 사용 가능.(exit으로 종료)
- host 또는 dig 명령과 유사함.
➜ nslookup www.knou.ac.kr
Server: xxx.xxx.xxx.xxx
Address: xxx.xxx.xxx.xxx#53
Non-authoritative answer:
Name: www.knou.ac.kr
Address: 203.232.172.70
728x90
반응형
'OS > Linux' 카테고리의 다른 글
[Linux] 웹 서버 (0) | 2020.12.13 |
---|---|
[Linux] 원격 관리 (0) | 2020.12.13 |
[Linux] 쉘 스크립트 -2 (0) | 2020.11.08 |
[Linux] 소프트웨어 관리 (0) | 2020.11.01 |
[Linux] 프로세스 관리 (0) | 2020.11.01 |