프로그래밍 농장

Linux [ 라우트(route) ] 본문

Linux

Linux [ 라우트(route) ]

Tennessee201 2019. 11. 14.
728x90

route == routing table 확인 / 작성

 

routing table = 패킷이 가야할 길을 안내해주는 안내판 .

 

작성 ex)   

route add -net 192.168.20.0 netmask 255.255.255.0 dev ens32 --> network 추가

route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.2 dev ens32 --> 해당 network gateway 추가

route add default gw 192.168.20.2 dev ens32   --> 기본 gateway 추가 

==삭제시에는 add 대신에 del 사용 

 

d

위와 같이 route 옵션을 이용해서 새로운 대역을 생성해본 결과 

-> 하지만 기존의 게이트웨이를 시용할수없기떄문에 (대역이 다름) 게이트웨이(gw) 또한 동대역으로 생성해주어야한다 

 

Destination == 목적지

Gateway == 외부 네트워크와 연결하기 위한 게이트웨이 주소 

Genmask == 목적지 네트워크의 넷마스크

Flags == 해당 경로에 대한 정보 표시 

              U : 해당 경로가 살아있음을 의미 / H : 목적지 주소가 host / G : 게이트웨이로 향하는 경로 

Metric == 목적지까지의 네트워크 거리

Ref == 결로를 참조한 룃수

Use == 경로를 탐색한 횟수

Iface == 패킷으 오가는데 사용하는 인터페이스 장치

 

 

=============================================================

tarceroute == 상대 호스트까지 도달하는 경로를 표시 

              ==  최대 30 hope 표기 

              == 윈도우에서는( cmd ) teaceret 명령어로 사용확인이 가능핟

 

=============================================================

ARP == LAN 환경에서는 MAC주소를 사용해서 통신

      == ARP 프로토콜이 네트워크 장치들의 MAC 주소를 학습 ip주소와 mapping 해줌 

 

 --> 장치주소와 네트워크주소를 맵핑시켜줌 

ex) 같은 대역내의 3가지 사용자가 있다면 그중 어느사용자와 매칭해야할지 모르기떄문에 3개에 패킷을 모두 보내고 일치하는 장치만 패킷에 반응하게 하는 원리임.

ex) arp -a : arp table 정보 확인 

 arp -s [ IP address ] [ MAC address ]     --> arp table 정보 수정

arp -d [ IP adrress ]    --> arp table 

 

     

=============================================================

nslookup - 도메인 질의 명령어 

-> 말 그대로 도메인에 관해서 질문하는 명령어이다. 

아래를 보면 네이버의 DNS 주소를 확인할수있으며, 네이버에서 기본 도메인주소와 별개로 www.naver.com 이라는 별칭을 하나 만들어놓아다는것도 확인할수있다.  원 도메인주소인 210.89.164.90를 입력해도 네이버로 연결된다.

 

=============================================================

netstat == 네트워크 연결 상태 확인 == network 상태 및 port / protocol 정보 확인

 

 netstat [ option ]

-a : 모든 소켓정보 확인

-u : udp* ==상대방에게 확인을 받을필요가 없을떄 사용하는 네트워크 형식 (= 축구중계 )

-t : tcp * ==(우리나라의 95%이상사용) 상대방의 네트워크 수신을 확인하면서 진행되는 네트워크 형식 (= 등기우편)

-n : 10진수의 수치 정보로 표시 

-p : 각 소켓에서 실행되고 있는 프로그램명과 PID 표시 

-r : routing 정보 표시  

Proto : 프로토콜 타입

Recv-Q : 수신 소켓 버퍼에 받는 바이트 수 

Send-Q : 송신 소켓 버퍼에 받는 바이트 수

Local Address : local 쪽 주소 

Foreign Address : 원격지 주소 

State : 상태

PID / Program name : PID /프로그램명

 

- [ state ]  ( 상태 메시지 )

LISTEN : 연결이 가능하도록 관련 서비스 실행중 == 연결이 가능한 상태 의미 

SYN-SENT : 연결을 요청한 상태

SYN-RECEIVED : 연결 요구에 대한 응답 후 확인 메세지를 기다리는 상태

ESTABLISHED : 위의 동작과정을 거친 후 연결이 완료된 상태

FIN-WAIT,FIN2-WAIT,CLOSE-WAIT : 연결 종료를 위해 요청을 받은 후의 과정

CLOSINGE : 전송된 메세지가 유실된 상태

TIME-WAIT : 연결종료 후 한동안 유지되고 있는 상태

CLOSED : 연결이 완벽하게 종료된 상태

 

 

port (포트) == 서비스를 구분지어 주는 번호값

                  -> 사용자가 서버로 접근해서 해당 서비스를 호출시에는 port 번호를 사용해서 호출 

                  -> 관리자가 방화벽 환경에서 허가해주어야만 사용가능

0 ~ 65535  : port 범위 

0 ~ 1023 : well known port 

1024~65535 : random port 

 

아래 netstat의 옵션들을 이용해서 현재 내 시스템에서 사용되고 있는 네트워크 정보들 중, sshd 명으로 사용되고 있는 부분을 출력시켜 보자 .

netstat 옵션 + grep 을 이용해서 출력해본 결과 

 

=============================================================

systemctl ( system control ) 

    ==리눅스에서 제공되는 각종 서비스 실행 관리 및 run level 같은 시스템 수준 제어 명령

           -> 프로그램 실행 관리, 시스템 설정 

6.x 버전까지는 sevice, chkconfig 명령어를 사용해서 프로그램을 실행, 자동시작 관리를 하였다. 

7.x 버전부터는 systemctl 명령어로 프로그램 실행, 자동시작 관리를 하고있다.

       +) 자동시작? : 부팅과 동시에 자동시작되는 프로그램들 ( pc카카오톡 ...)

 

-리눅스에서의 서비스 구성 순서 

1. 프로그램 설치  : rpm , yum ( 서비스 패키지 설치 )

2. 프로그램 설정 파일 편집 ( editor 기능..etc 을 이용 )

3. 프로그램 실행 :systemctl명령 실행, 2번에서 작업한 설정 내용을 서버 프로그램에 재적용

 

데몬 : 특정 프로그램 실행을 위해서 백그라운드상태에서 동작하는 서버 프로세스 

        == 각각의 서비스가 사용하는 port 를 관리하는 역할 

 

-7.x 버전에서의 서비스사용법 

ex)

       systemctl [지시어] [서비스명]

[지시어의 종류]

start : 서비스 시작        stop : 서비스 중지

restart : 서비스 재시작      reload : 서비스 설정 불러오기 

status : 서비스 상태 확인하기      enable : 서비스 자동시작 등록

disable : 서비스 자동시작 해제

 

systemctl stop 을 이용해서 서비스를 중지시킨 결과 새 쁘띠창이 안열린다.

 

또한, 현재 서비스가 실행중인지 확인하려면 아래와 같이 is-active 명령어를 사용해야한다. 

 

-6.x 버전에서의 서비스사용법 

 ex) 

       sevice [서비스명(프로그램명)] [지시어]

       chkconfig [서비스명] [ on/off ]             --> on : 자동시작 / off : 자동시작 해제 

데몬을 실행시키는 명령어 :   /etc/rc.d/init.d/[서비스명] [지시어] 

  ex ) /etc/rc.d/init.d/network stop    --> 네트워크 서비스를 끊어줌 

 

 

 

728x90

'Linux' 카테고리의 다른 글

Linux [ tcp_wrapper ]  (0) 2019.11.14
Linux [ 방화벽 (firewalld) ]  (0) 2019.11.14
Linux [ ping (+패킷 / 프로토콜 )]  (0) 2019.11.13
Linux [ 네트워크의 형태 ( LAN / WAN ) ]  (0) 2019.11.13
Linux [ vmware - 스냅샷(snapshot) ]  (0) 2019.11.12