GNU/Linux 리눅스네트워크관리 (Linux Network Management) Seo, Doo-Ok Clickseo.com clickseo@gmail.com
목 차 인터넷과 TCP/IP 네트워크설정 네트워크관리 원격접속 2
인터넷과 TCP/IP TCP/IP 모델 주소지정 IP 주소와도메인 네트워크설정 네트워크관리 원격접속 인터넷과 TCP/IP 3
인터넷과 TCP/IP Internet International Network 네트워크의네트워크를구현하여모든컴퓨터를하나의통신망안에연결 TCP/IP 라는통신프로토콜을이용해정보를주고받는컴퓨터네트워크 TCP(Transmission Control Protocol) IP(Internet Protocol) 인터넷의특징 인터넷의효용성 : 정보교류, 정보의바다 개방된통신망 독자적인주소할당 32비트의고유한 IP 주소 [ 출처 : " 라우터를통해연결된인터넷시각화 ", WIKIPEDIA. ] 4
TCP/IP 모델 [ 출처 : Behrouz A. Forouzan, Data Communications and Networking 4/e, McGraw-Hill, 2012 ] 5
인터넷과 TCP/IP 주소지정 6
주소지정 (1/8) TCP/IP 계층과주소의관계 [ 출처 : Behrouz A. Forouzan, Data Communications and Networking 4/e, McGraw-Hill, 2012. ] 7
주소지정 (2/8) 물리적인주소 (Physical Addresses) MAC(Media Access Control) address 07:01:02:01:2C:4B [ 출처 : Behrouz A. Forouzan, Data Communications and Networking 4/e, McGraw-Hill, 2012. ] 8
주소지정 (3/8) 논리적인주소 (Logical Addresses) IP(Internet Protocol address) address 202.250.25.60 [ 출처 : Behrouz A. Forouzan, Data Communications and Networking 4/e, McGraw-Hill, 2012. ] 9
주소지정 (4/8) 포트주소 (Port Addresses) [ 출처 : Behrouz A. Forouzan, Data Communications and Networking 4/e, McGraw-Hill, 2012. ] 10
주소지정 (5/8) 특정주소 (Specific Addresses) 사용자에게친숙하게디자인 전자우편주소 : clickseo@gmail.com URL 주소 : http://www.clickseo.com clickseo@gmail.com http://www.clickseo.com 11
주소지정 (6/8) URL(Uniform Resource Locator) 인터넷에있는자료가가지는유일한주소 인터넷에있는정보의접근형식과자료가존재하는위치와자료의이름을표시 protocol://host.domain[:port]/directory/filename protocol : http, https, ftp, telnet, mailto port HTTP (Hypertext Transfer Protocol) : 80 FTP (File Transfer Protocol (Data)) : 20 FTP (File Transfer Protocol (Control)) : 21 Telnet (Telnet Protocol) : 23 SSH (Secure Shell Remote Login Protocol) : 22 SMTP (Simple Mail Transfer Protocol) : 25 POP3 (Post Office Protocol-Version 3) : 110 IMAP (Internet Message Access Protocol) : 143 HTTPS (Hypertext Transfer Protocol Secure) : 443 12
주소지정 (7/8) GNU/Linux : /etc/services 네트워크서비스와사용하는포트이름, 전송프로토콜의종류지정 13
주소지정 (8/8) GNU/Liuux : /etc/protocols 전송프로토콜의번호기록 14
인터넷과 TCP/IP IP 주소 15
IP 주소 (1/7) IP(Internet Protocol) 주소 인터넷상에서컴퓨터및정보통신설비가인식하도록만들어진것 인터넷상에서논리적인주소 전세계에서유일 ( 고유한주소 ) 4 개의숫자 (0-255) 와마침표로구성 32 비트주소 : 8 비트씩점 (.) 으로구분 클래스와네트워크그리고호스트주소로구성 주요기능 호스트의주소지정 패킷분할및조립 16
IP 주소 (2/7) IPv4 주소구성 [ 출처 : "IP 주소란?", KRNIC(Korea Network Information Center), 한국인터넷진흥원 (KISA). ] 17
IPv4 주소구성 : Class A Class IP 주소 (3/7) 0 Net-ID (7bits) Host-ID (24bits) 0.0.0.0~127.255.255.255 국가나대형통신망에서사용 ( 여분없음 ) 주요특징 첫번째1비트 (0) : 클래스 A 두번째 7비트 : 네트워크 ID(Net-ID)» 0과 127은예약된값으로사용 (0 : 브로드캐스트, 127 : localhoat) 세번째 24비트 : 호스트 ID(Host-ID) B Class 중대형통신망에배정 ( 포화상태 ) 주요특징 첫번째2비트 (10) : B 클래스 두번째 14비트 : 네트워크 ID(Net-ID) 세번째 16비트 : 호스트 ID(Host-ID) 1 0 Net-ID (14bits) Host-ID (16bits) 128.0.0.0~191.255.255.255 18
IP 주소 (4/7) IPv4 주소구성 : Class C Class 소규모회사등에배정 ( 포화상태 ) 주요특징 첫번째3비트 (110) : C 클래스 두번째 21비트 : 네트워크 ID (Net-ID) 세번째 8비트 : 호스트 ID (Host-ID) 1 1 0 Net-ID (21bits) Host-ID (8bits) 192.0.0.0~223.255.255.255 D Class 멀티캐스팅에이용 주요특징 첫번째2비트 (1110) : B 클래스 첫번째 4비트 : D 클래스 두번째 28비트 : 호스트 ID (Host-ID) E Class 장래사용목적으로예약 1 1 1 0 Multicast group ID (28bits) 224.0.0.0~239.255.255.255 1 1 1 1 0 Reserved (27bits) 240.0.0.0~247.255.255.255 19
IP 주소 (5/7) IPv4 주소구성 : 클래스판별 1. 첫번째자리의시작값으로판별 Class A : 첫번째자릿수 1~126 으로시작 Class B : 첫번째자릿수 128~191 로시작 예 ) kornet : 168.126.63.1 Class C : 첫번째자릿수 192~223으로시작 예 ) nownuri : 203.238.124.24 0.0.0.0~127.255.255.255 128.0.0.0~191.255.255.255 192.0.0.0~223.255.255.255 2. IP 주소의시작값을 2 진수로나눈다. 2 203 2 101-1 Class C 2 50-1 2 25-0 2 12-1 1 0 2 6-0 2 3-0 1-1 1100 1011 --> C Class 1 Net-ID (21bits) Host-ID (8bits) 20
IP 주소 (6/7) 전세계인터넷주소자원관리체계도 IANA(Internet Assigned Names Authority) 전세계인터넷주소자원의총괄관리기관 : IP주소 /AS번호 대륙별인터넷주소자원관리기관인 RIR(Regional Internet Registry) 에주소분배 국내에서는 1996년부터한국인터넷진흥원 (KISA) 에서주소분배 APNIC으로부터 IP주소 /AS번호를확보 국내 IP주소 ISP 또는일반기관 ( 독립사용자 ) 등에게할당 [ 출처 : 전세계관리체계 ", KRNIC(Korea Network Information Center), 한국인터넷진흥원 (KISA). ] 21
IP 주소 (7/7) 주요국 IP 보유현황 : IPv4/IPv6 [ 출처 : " 인터넷자원통계 ", 인터넷통계정보검색시스템, 한국인터넷진흥원 (KISA). ] 22
인터넷과 TCP/IP 도메인 23
도메인 (1/8) Domain 네트워크상에서컴퓨터를식별하는호스트명 도메인레지스트리에등록된이름 숫자로구성된 IP주소를사용자들이일일이외울수없다는한계를극복하기위함 주요특징 최소 2자에서최대 256자길이 숫자 (0~9), 영문자 (A~Z) 의조합 대소문자를구별하지않음 첫글자는영어나숫자로시작 특수문자중에서하이픈 (-) 만사용가능 콤마 (,) 와언더바 (_) 등기호사용불가 24
도메인 (2/8) 도메인체계. 또는루트 (root) 이하에역트리 (Inverted tree) 구조 루트도메인 : 루트서버 (root server) 1단계도메인 : 최상위도메인 (TLD, Top Level Domain) 2단계도메인 (SLD, Second Level Domain) [ 출처 : 도메인이란?", KRNIC(Korea Network Information Center), 한국인터넷진흥원 (KISA). ] 25
도메인종류및관리 대표적인 Top Level 도메인 도메인 (3/8) 국가최상위도메인 (cctld, country code Top Level Domain) 국가코드에의한국가별도메인 :.kr,.jp,.cn,.us 등 2자리영문국가코드또는자국어국가코드 (ISO 3166에의거각국의약자사용 ) 일반최상위도메인 (gtld, generic Top Level Domain) 영문 3자리이상, 영문외다국어는 2자리이상.com,.net,.org 등.int : 국제기구등에서사용할수있는도메인 미국내특정기관 :.edu( 교육기관 ),.gov( 정부기관 ),.mil( 국방기관 ) KRNIC(Korea Network Information Center) 6 개기관과 16 개지역도메인 26
도메인 (4/8) DNS(Domain Name System) DNS 역할및작동과정 27
GNU/Linux : /etc/hosts 도메인 (5/8) 자신에게할당된 IP와호스트이름을포함한완전한도메인이름, 그리고마지막에별칭을확인할수있다. DNS 질의를거치지않고직접적으로주소를파악하는데사용 28
도메인 (6/8) GNU/Linux : /etc/resolv.conf 리눅스에서 DNS 서버주소를저장하고있는파일 29
DNS 질의 : nslookup 도메인 (7/8) DNS 서버에특정도메인의정보를질의하는전통적인명령 DNS 서버의정보는 systemd-resolve 명령으로도확인할수있다 [clickseo@localhost clickseo]$ system-resolve --status 30
도메인 (8/8) DNS 질의 : dig 네임서버에도메인이름에관한질의를요청하는명령 31
인터넷과 TCP/IP 네트워크설정 Ifconfig 네트워크설정 네트워크관리 원격접속 32
ifconfig (1/3) ifconfig 네트워크인터페이스의 IP 주소를설정하는전통적인명령 일반형식 ifconfig <interface> [options] 또는 [address] netmask <netmaskaddress> boradcast <broadcastaddress> [up/down] -a 시스템의전체인터페이스에대한정보를출력한다. -s 시스템의정보를간단하게요약하여출력한다 (netstat i). 주요옵션 address 해당인터페이스의 IP 를설정한다. netmask 해당인터페이스의넷마스크주소를설정한다. broadcast 해당인터페이스의브로드캐스트주소를설정한다. up / down 인터페이스를활성화또는비활성화한다. net-tools 패키지설치 : Ubuntu는 ifconfig 명령어이기본으로설치되지않는다. [clickseo@localhost clickseo]$ sudo apt install net-tools 33
ifconfig : 단순명령 ifconfig (2/3) 현재설치된네트워크인터페이스설정내역 lo : local loopback, 시스템내부통신용으로사용된다. inet(ipv4), netmask, boradcast, intet6(ipv6) ether : MAC 주소 RX : 부팅후현재까지받은패킷수와바이트수 TX : 부팅후현재까지보낸패킷수와바이트수 34
ifconfig (3/3) ifconfig : 네트워크인터페이스설정 네트워크인터페이스에 IP 주소를수동으로설정 IP 주소와 netmask를함께설정해야한다. 만약서브넷으로나누지않고, 기본 C 클래스를사용한다면 netmask 와 broadcat 주소는생략할수도있다. # ifconfig enp0s3 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.0.255 /etc/network/interface 파일 ifconfig 명령으로네트워크인터페이스를설정해도재시작하면다시설정해야한다. 부팅할때네트워크가설정되게하려면 /etc/network/interface 파일에 IP 주소와 netmask 를지정해야한다. 35
인터넷과 TCP/IP 네트워크설정 네트워크관리 ping traceroute netstat route 원격접속 네트워크관리 36
ping ping (packet internet groper) 시스템이현재동작하고있는지동작을멈추었는지등에대한상태정보를보여준다. ICMP 프로토콜을기반으로사용 일반형식 ping [-c 횟수 ] [-s 패킷크기 ] < 호스트주소 > [clickseo@comlab ~]$ ping -s 230.30.32.22 PING 230.30.32.22: 56 data bytes 64 bytes from 230.30.32.22: icmp_seq=0. time=0. ms 64 bytes from 230.30.32.22: icmp_seq=1. time=0. ms 64 bytes from 230.30.32.22: icmp_seq=2. time=0. ms 64 bytes from 230.30.32.22: icmp_seq=3. time=0. ms ----230.30.32.22 PING Statistics---- 8 packets transmitted, 8 packets received, 0% packet loss round-trip (ms) min/avg/max = 0/0/0 37
traceroute traceroute 패킷이지나가는경로를추적하는명령어 인터넷을통해리모트컴퓨터로데이터가전달될때어떤경로로자신의데이터가전달되며, 얼마의시간이소요되는지를알고싶은경우에사용 패킷이어느경로에서유실되는지확인할수있으며, 어느네트워크에서트래픽이발생되는지점검할수있다. 일반형식 traceroute HostName 38
네트워크관리 netstat 39
netstat netstat (1/7) 네트워크상태를확인해보는명령어 기능 연결되어있는종단간호스트의정보 두호스트의이름, 사용포트번호 네트워크접속하드웨어에대한정보 데이터버퍼 경로결정표및통계 프로토콜별통계 netstat -a : 모든소켓을출력 netstat -i : 인터페이스정보를출력 netstat -s : SNMP처럼네트워크의상태를출력 netstat -l : 현재관찰 (Listen) 되고있는소켓을출력 netstat -p : 소켓의 pid/program 까지도출력 netstat -c : 연속적인출력 40
netstat (2/7) [clickseo@localhost clickseo]$ netstat Proto : 현재사용한프로토콜 Local Address : 사용자컴퓨터의호스트네임또는 IP 와포트번호 Foreign Address : 접속중인컴퓨터의호스트네임또는 IP 와포트번호 State : 접속상태 ESTABLISHED : 접속되어있는상태 LISTENING : 접속을기다리고있는상태 SYN_SENT : 접속하기위해패킷을보냄 TIME_WAIT : 접속이종료되었거나다음접속을위해기다리고있는상태 41
netstat (3/7) [clickseo@localhost clickseo]$ netstat -n 접속되어있는정보만출력 단, 숫자로구성된 IP 주소와포트로표시 42
netstat (4/7) [clickseo@localhost clickseo]$ netstat -a TCP/IP 를사용하는모든연결및수신대기포트를표시 종단간호스트의정보 ( 모든소켓을출력 ) 현재연결되어있는모든종단간호스트에대한정보표시 클라이언트로부터연결을기다리고있는모든서버에대한정보까지표시 43
netstat (5/7) [clickseo@localhost clickseo]$ netstat -i 네트워크접속하드웨어에관한정보 44
netstat (6/7) [clickseo@localhost clickseo]$ netstat -s 프로토콜별통계정보 기본값으로 IP, ICMP, TCP, UDP 에관한통계표시 45
netstat (7/7) [clickseo@localhost clickseo]$ netstat -r 라우팅테이블표시 Flags U : 사용되는인터페이스가 UP상태를나타낸다. G : 이루트는게이트웨이를사용한다. H : 단지싱글호스트만이, 그루트를도달가능하다. D M : ICMP redirect 메시지에의해생성된테이블엔트리에부여 : ICMP redirect 메시지에의해수정된테이블엔트리에설정 46
네트워크관리 route 47
route (1/3) Route 경로결정표를수동으로변경하는명령 경로결정 daemon process 의실행을중지 일반형식 route add delete <destination>, <gateway IP>, <Hop> 주요옵션 add delete 경로결정표에한행을첨가 경로결정표에한행을삭제 # route add -net <gateway IP> netmask <netmask> dev <device> # route add default gw <gateway IP> dev <device> # route del -net 211.202.42.0 48
route (2/3) route 단순한라우팅테이블확인 Destination : 목적지네트워크 Gateway : 목적지네트워크에도달하는데사용되는게이트웨이 Flags : 경로의특징 U : 경로가설정되어있고동작중이라는뜻 H : 특정호스트에대한경로 G : 게이트웨이를사용하는경로 D : ICMP Redirect Message 때문에추가되었다는것을의미 Metric : 목적지까지의거리 Ref : 접속을이루기위해참조된경로횟수 Use : 이경로를통해전송된패킷의수 Iface : 사용되는네트워크인터페이스 49
route : 옵션 route 명령의주요옵션 route (3/3) 옵션 기능 -F 라우팅테이블안에있는 Forwarding Information Base 작동 -C 라우팅캐시를작동 -n 특징적인호스트이름보다는 IP로나온주소를보여줌 -e 많이나오는 netstat 포맷을사용 -net -host netmask gw metric irtt 목적지네트워크 목적지호스트 네트워크라우터추가 게이트웨이를통한패킷 라우팅테이블안에있는 metric 필드를세팅 Initial Round Robin Trip 시간즉, 패킷이한번갔다가오는시간 50
원격접속 인터넷과 TCP/IP 네트워크설정 네트워크관리 원격접속 telnet ssh ftp 51
telnet telnet 인터넷이나로컬영역네트워크연결에쓰이는네트워크프로토콜 1969년에개발 telnet이라는용어는프로토콜의클라이언트일부기능이추가된소프트웨어를일컫는다. 텔넷의보안문제때문에사용률감소 : SSH 로대체 일반형식 telnet hostname 또는 IP address port 텔넷서버 텔넷클라이언트 인터넷 텍스트모드 텍스트모드 52
ssh ssh(secure Shell) 기존의 rsh, rlogin, telnet 등을대체하기위해설계 강력한인증방법및안전하지못한네트워크에서안전하게통신을할수있는기능을제공 암호화기법을사용하고, 기본적으로 22번포트를사용한다. OpenSSH 서버 데이터전송시패킷암호화 SSH 클라이언트 인터넷 텍스트모드 텍스트모드 53
ftp (1/3) ftp(file Transfer Protocol) 네트워크서비스이용을위한사용자명령어 일반형식 ftp hostname 또는 IP address port 54
ftp (2/3) ftp : 관련명령어 명령어 기능 dir put size mkdir pwd quit get mput mget rename open 디렉터리리스트보기로컬시스템에있는파일을서버로전송원격의 ftp 서버에있는파일의크기를출력새로운디렉터리생성서버에서현재경로출력빠져나오기서버에있는파일을로컬시스템에복사여러개의파일을서버로전송여러개의파일을로컬시스템에복사파일이나디렉터리의이름을변경 ftp 호스트로접속 55
ftp (3/3) ftp : 관련명령어 명령어 기능 rmdir delete mdelete hash prompt 디렉터리삭제파일삭제여러개의파일삭제 # 마크를찍어서전송상태확인대화형모드 (interactive mode) on/off 56
참고문헌 [1] 이종원, IT CookBook, 우분투리눅스 ( 개정판 ) : 시스템 & 네트워크, 한빛아카데미, 2018. [2] 백창우, 유닉스리눅스프로그래밍필수유틸리티, 한빛미디어. 2010. [3] Behrouz A. Forouzan, Data Communications and Networking, 5/e, McGraw-Hill, 2012. [4] 인터넷통계정보검색시스템, 한국인터넷진흥원 (KISA), 2019 of viewing the site, https://isis.kisa.or.kr/. [5] 인터넷주소센터, 한국인터넷진흥원 (KISA), 2019 of viewing the site, http://www.krnic.or.kr/. 이강의자료는저작권법에따라보호받는저작물이므로무단전제와무단복제를금지하며, 내용의전부또는일부를이용하려면반드시저작권자의서면동의를받아야합니다. Copyright Clickseo.com. All rights reserved. 57