LostCatBox

네트워크 지식 02

Word count: 546Reading time: 3 min
2020/07/19 Share

네트워크 지식 02

  • VPN

    내가 외부에서 노트북을 써도 그것을 마치 내 집(VPN서버존재함)에서 쓰는것처럼 통신이 가능함, 즉, VPN서버를 지원해주는 곳에 연결해주면 내가 요청한내용을 암호화하여 내 VPN서버에 요청이 도착하면 풀어서 내집(내부망)에 해당하는 요청이면 내부망으로 보내주고, 아니면 내집(내부망)에서 외부망으로 요청보냄.

    즉 내가 집에서 와이파이로 연결후 통신하는 것과 똑같게 보이게된다.

    이걸 확장한다면 즉, 일본VPN을 결제후 사용하면 내가 일본에서 인터넷하는것과 똑같다.

  • Router와 스위치, 맥 주소

    • 반드시 라우터같은 통신장비는 외부주소와 내부주소를 동시에 가지게되는것을 기억

    • 컴퓨터나 기타 기기들 모두 라우터 테이블을 가지고있다. 이로 인해 어떤 IP주소가 목적지냐에 따라 먼저 이 요청을 보낼 주소를 알수있고, deflaut값에있는 주소는 가지고있는 라우터 테이블에 일치하는 유형이없다면 이 표시된 곳으로 보냄

    • 스위치는 맥주소를 알고있음, 만약에 IP주소까지 기억하는 기능있다면 스위치가 맥주소를 해당 요청에 대해 바로 응답가능,(모른다면 브로드캐스트로 찾아내서 해당 맥주소를 반환)

    • src-nat(src주소를 변경하는것)(요청보낼때 내부망의 src 주소를 외부망이 알수있는 gateway주로소 변경해줘서 응답을 받을수있게 해줌)

    • dst-nat(dst주소를 변경하는것)(서버에서 요청을 처리할때 어떤 곳에서 요청처리할지 알고있으니까 그쪽으로 dst주소를 변경해줌)

    • 스위치들만 연결되어있다면 모두 같은망임

    • 라우터가 연결되어있는만큼 다른 망들을 생성가능(외부망, 내부망이 라우터를 기준으로 생겨버림)

    • 라우터가 해당 IP주소를 가지고있지 않다면 옆에 라우터로 넘기고

      스위치도 마찬가지고 해당 요청에 대한 맥주소에 해당하지 않는다면 옆으로 넘김

    • router는 IP기준, switch는 MAC 기준

    • VLAN은 물리적LAN은 하나지만 VLAN는 가상으로 LAN을 나눠버릴수있음

참고로 라우터 기준으로 src, dst, forward 3가지 방식으로 통신이일어나는데 drt 는 진짜 마지막 목적지가 라우터자체인경우로 forward는 마지막 목적지를 위해 라우터를 통과할때를 지칭한다.

  • Netmask

  • CIDR

    IP는 2^32로 전체 경우의 수를 가지고 각각 8자리씩 4개가 나온다

    서브넷마스크와 같은 역할로 192.168.88.1/24는 각클래스에 네트워크를 뜯하며 뒤에 24은 IP의 0,1로 나타냇을때 앞에서 24개까지는 고정이고 나머지는 0~255까지 256가지를 가질수있는것이다.(8,16,24를 보통 고정함)

    즉 2^(32-n)= IP의 개수가 된다. (n=CIDR값)

    en0의 IP값이 192.168.88.10/24라면 192.168.88.10을 할당하는데 같은 네트워크의 사이즈가 0.0~255까지있는것이다.

    (network 88.0, broadcast 88.255를 쓰므로 0와 255에는 할당를 되도록 하지말자)

  • Gateway

    통신을 할때 반드시 필요한 문이라고 생각하면 편하다.

    외부망(밖)에서보면 Gateway주소만 알수있고 이것을 보고 전송주고받고 내부망(안)에서보면 Gateway주소쪽으로 보내야 외부와 통신이 가능해진다.

  • 라우팅 테이블

    라우팅을 할때 prefix(CIDR숫자더한값)이 큰기준부터 Destination 주소와비교후 맞다면 해당 gateway로 보내는것. 결국 해당하는 것이 없다면 prefix=0인 default Destination(0.0.0.0)과 맞아떨어지므로 해당 gateway로 전송됨.

    추가로 gateway가 0.0.0.0값을 가지는 것은 해당 행은 내부망으로 연결되어 있어 외부 네트워크로 나갈 게이트웨이가 없다는것. 미지정의미임. 결국 해당 인터페이스에 로컬로 연결되어 있음을 알수있다.

네트워크 관련 명령어

1
2
3
4
5
6
7
8
9
netstat -rn # -r은 라우팅테이블 조회 -n은 이름대신 ip주소로나옴.
netstat -n # 연결 목록이 -n은 이름대신 ip주소로나옴.
netstat -a # 연결된 혹은 연결을 기다리고 있는 모든 포트를 보여준다.
netstat -nap # 연결을 기다리는 목록과 프로그램을 보여준다
netstat -an | grep <포트번호> #특정 포트가 사용 중에 있는지 확인
netstat -nlpt #TCP listening 상태의 포트와 프로그램을 보여준다
ifconfig -a
traceroute
ping

vpn설정후

1
2
3
4
5
6
7
8
vi /etc/ppp/ip-up #여기에서 선택적으로 vpn적용할것들 선택가능(나머지는 vpn안쓰고 그냥 통신됨)

#ip-up
1 #!/bin/bash
2
3 /sbin/route add -net 192.168.88.0/24 -interface $1

#sudo chmod +x ip-up으로 권한 변경꼭해주기
CATALOG
  1. 1. 네트워크 지식 02
  2. 2. 네트워크 관련 명령어