- Today
- Total
프로그래밍 농장
Linux [ 라우트(route) ] 본문
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 사용
위와 같이 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 명으로 사용되고 있는 부분을 출력시켜 보자 .
=============================================================
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 : 서비스 자동시작 해제
또한, 현재 서비스가 실행중인지 확인하려면 아래와 같이 is-active 명령어를 사용해야한다.
-6.x 버전에서의 서비스사용법
ex)
sevice [서비스명(프로그램명)] [지시어]
chkconfig [서비스명] [ on/off ] --> on : 자동시작 / off : 자동시작 해제
데몬을 실행시키는 명령어 : /etc/rc.d/init.d/[서비스명] [지시어]
ex ) /etc/rc.d/init.d/network stop --> 네트워크 서비스를 끊어줌
'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 |