0부터 시작하는 가상머신과 네트워크 공부 - Script & IP

Jaehong Lee·2022년 7월 7일
1
post-thumbnail

1. linux Script

  • 현재 linux는 vmnet 3를 사용하는데, 이 vmnet 3와는 통신이 가능하지만, vm net 3는 외부와 통신이 안된다
  • 빈 파일을 만든다. 이 파일에 권한을 주어 실행 파일로 만들 것 이다
  • 파일에게 실행 권한을 준다
  • 파일을 수정해보자
  • bin 폴더 밑에 파일을 bash로 해석하라는 것이다
  • 입력한 Ip에 ping을 3번 보낸다
  • 이 ping을 보내는 것을 화면에 띄우지 않고, null로 보내서 버린다
  • $?는 위 코드에서 실행한 결과다. 즉, ping이 잘 가면 ok, 안되면 not connected를 출력한다
  • 실행이 잘된다

2. Ipv4

  • Ip는 internet protocol로, 상호 통신을 위해 필요한 통신 규약 ( 통신 언어 )이다

    • Ipv4 : 32bit
    • Ipv6 : 128bit, Ipv4보다 사용가능한 주소가 많다
  • Ipv4에는 주소 할당 방식이 있다

    • 정적 할당 : 관리자, 사용자가 기기에 직접 입력하는 방식으로, 주소가 바뀌지 않는다. 서버는 주로 정적 할당 방식을 이용한다. 또는, 처음 DHCP로 전달받은 주소를 infinite 방식으로 시간제한을 없애는 방법도 있다
    • 동적 할당 : DHCP Protocal을 활용하여 서버로 부터 주소, 서브넷 마스크, 게이트웨이, DNS 주소 등을 부여 받는 방식이다
  • DHCP : Dynamic Host Configuration Protocol

    • 반드시 DHCP 서버와 클라이언트가 있어야한다
    • DHCP는 하나의 MAC 주소에 하나의 Ip를 할당해주는데, 이는 보안상 문제가 있다. 누군가 다수의 가짜 MAC 주소를 통해 다수의 Ip를 할당받아 이를 통해 가짜 DHCP 서버를 만들 수 있다
    • Gratuitous ARP는 할당 받은 Ip를 다른 사용자가 사용하고 있는지 확인하기 위해 브로드캐스트로 전송해서 확인한다. 이때 Reply가 도착하면 누군가 사용하는 것이므로, 다시 DHCP 서버에 Discover 메세지를 보내야되고, Reply가 오지 않으면 할당 받은 Ip를 사용한다
  • Ipv4는 공인 IP와 사설 IP로 나눠진다. 이는 비용 지불 여부로 나뉜다

    • 공인 Ip는 Isp에게 비용을 지불하고, 사용하는 주소이며, 인터넷 상에서 유일성을 가져야한다
    • 사설 Ip는 사용자 마음대로 사용할 수 있지만, 인터넷 사용은 불가능하다. 사설은 같은 네트워크 대역에서만 통신이 가능하다
  • Ipv4는 4개의 옥텟으로 구성되어 있다. 이 옥텟은 _을 의미한다. 한 개의 옥텟은 8bit이다. 그러므로 Ipv4는 32bit이다

    • 최소 주소는 0000.0000.0000.0000 이고, 최대 주소는 1111.1111.1111.1111이다. 즉, 0.0.0.0에서 255.255.255.255까지가 전체 범위이다
  • Ip 주소에는 Class가 있다. 이 Class마다 default subnet mask가 달라진다

    • A 클래스는 첫번째 옥텟이 1~ 127 , 서브넷 마스크가 255.0.0.0 , 네트워크 수는 적고, HOST 규모가 크다
    • B 클래스는 첫번째 옥텟이 128~191 , 서브넷 마스크가 255.255.0.0
    • C 클래스는 첫번째 옥텟이 192~223 , 서브넷 마스크가 255.255.255.0 , 네트워크 수가 많고, HOST 규모가 작다
  • 랜 카드는 physical한 mac 과 logical한 ip로 나뉜다. 여기서 이 ip는 네트워크 대역과 host로 나뉜다. 이 나누는 기준을 서브넷 마스크로 정한다. 그럼 서브넷 마스크란 뭘까?

    • 서브넷 마스크에서 연속된 1은 네트워크 범위라고 부른다
    • 서브넷 마스크에서 연속된 0은 HOST 범위라고 부른다. 이 0 범위를 ip subnet-zero라고 부른다
    • 이 HOST 범위안에서의 Ip를 자유롭게 할당할 수 있는데, 이 중에서 미리 설정된 Ip가 있다
      • X.X.X.0 : 네크워크 주소
      • X.X.X.255 : 브로드캐스트 주소로 동일 네트워크 대역의 모든 HOST에게 통신을 보내는 주소다
      • 즉, 1 ~ 254번을 할당할 수 있다
      • 외부 네트워크 대역과 통신하기 위해서는 GateWAY를 통해야하는데, 이 GateWAY 주소는 보통 X.X.X.1로 설정한다
      • 같은 네트워크인지 아닌지는 subnet mask를 확인해야지 알 수 있다
  • AWS에서는 각 VPC 별로 기본적으로 172.31.0.0/16을 제공한다. 여기서 '/'는 prefix-length 라고 칭하며, 서브넷 마스크에서의 연속된 1bit 자릿수를 말한다. 따라서 16은 서브넷 마스크가 11111111.11111111.00000000.00000000이라는 것이다. 즉, 이 VPC에서 할당가능한 HOST IP는 172.31.0.0~172.31.255.255다.

    • 이 Ip에서는 172.31.0.0이 네트워크 주소이므로 172.31.5.0은 할당 가능한 Ip다
  • 예약된 Ip 주소들 ( 할당 불가능한 Ip )

    • x.x.x.0/24 : 네트워크 주소 ( 네트워크의 첫번째 주소 )
    • x.x.x.255/24 : 같은 네트워크 대역에 대한 브로드캐스트 주소 ( 네트워크의 마지막 주소 )
    • 0.0.0.0 : 할당되지 않은 주소
    • 255.255.255.255 : Ipv4 전체에 대한 브로드캐스트 주소. 이 주소는, DHCP 서버에게 Discover message를 보낼때 사용한다
    • 127.0.0.1 : local Host 주소로 자기 자신을 말한다. loop back 주소이기도 하다
    • 169.254.x.x : link local 주소로 직접 연결된 포트와 통신할때 사용한다
  • Ipv4의 단점

    1. 호스트 수가 적고, 네트워크 규모가 큰 경우에 불필요한 트래픽이 많이 발생한다
    2. Ip의 낭비가 있을 수 있다. 같은 네트워크 대역에서만 할당 가능하므로, 사용하지 않는 범위의 Ip들은 버려지게 된다
  • 해결책

    • 이러한 낭비를 막을려면 subnet mask의 연속된 1을 증가시켜서, 네트워크 대역을 나누면 된다. 따라서 네트워크 대역은 늘어나고, Host 범위는 줄어들어서 낭비가 줄어든다. 예를 들면, 255.255.255.0 -> 255.255.255.128로 바꾸면 네트워크 대역은 2개로 나눠지며, 255.255.255.192로 바꾸면 네트워크 대역은 4개로 나눠진다
profile
멋진 엔지니어가 될 때까지

0개의 댓글