kh교육

(2025070206) 라우터 & 네트워크 분할, NAT

boangod 2025. 7. 2. 21:58

라우터

- 서로 다은 네트워크 주소를 가진 네트워크를 연결 하는 역할(L3장비)

┖ gateway : 외부 네트워크와 통신하기 위해여 반드시 거쳐야 하는 경로

┖ 소프트웨어를 누구나 만들수 있고, 단독형 장비를 사용

라우터는 세팅을 해줘야 작동을 합니다.

브릿지 테이블에서는 MAC주소가 최소 1000개이상 들어갑니다. 라우터는 라우팅 테이블에 양쪽 네트워크의 ip주소만을 저장하고, 저장하는 양은 브릿지보다 적기 때문에 많은양의 메모리가 필요하지 않습니다. 그래서 효율적입니다.

그리고 라우터는 주변 라우터에게 주기적으로 자신의 라우팅정보를 알려줍니다.  라우터는 브로드캐스트 패킷을 다른 네트워크로 전달하지 않습니다. 목적지 주소를 찾아서 보내는 장치이기 때문입니다. 그래서 arp는다른 네트워크에 있는 장비와 통신할때 게이트웨이의 MAC주소를 알아내기 위해 사용합니다.

 

 

라우터로 통신하는 방법

 

 


 

네트워크 분할

- 네트워크 분할과 병합은 동일한 기술을 이용

우리는  bitmasking을 이용할것입니다.

 

 

 

1.1.1.1/24는 네트워크가 하나 있습니다. 이제 네트워크를 쪼개볼것입니다.

1.1.1.1/25 로 쪼개보면

 

네트워크 범위 : 1.1.1.0 ~ 1.1.1.255 /25

/25는 서브넷 마스크가 255.255.255.128 

255.255.255.128 = 11111111.11111111.11111111.10000000

0일때와 1일때 2개이므로 네트워크를 2개 나눌수 있습니다.

총 ip개수는  2^7=128 개 이고 , 사용가능한 ip개수는 n-2한 126개 입니다.

그래서 ip를 

1.1.1.0 ~ 1.1.1.127

1.1.1.128 ~ 1.1.1.255 이렇게 나눌수 있습니다.

 

netmask # of network 수 # of host 수
0 00000000 (/24) 1 256(사용가능한 네트워크 =254)
128 10000000 (/25) 2 128 (사용가능한 네트워크 =126)
192 11000000 (/26) 4 64 (사용가능한 네트워크 =62)
224 11100000 (/27) 8 32 (사용가능한 네트워크 =30)
240 11110000 (/28) 16 16 (사용가능한 네트워크 =14)
248 11111000 (/29) 32 8 (사용가능한 네트워크 =6)
252 11111100 (/30) 64 4 (사용가능한 네트워크 =2)
254 11111110 (/31) 128 2 (사용가능한 네트워크 =0)
255 11111111 (/32) 256

 


NAT

- 공인IP의 부족 현상을 해결하기 위해 사용된 기술, 사설 ip주소를 공인ip주소로 바꿔주는 기술.

부가적으로 외부 침입에 대해서 근본적인 접근을 허용하지 않음으로 현재는 방화벽의 일부로 인정된다

 

공유기를 이용해서 network구성

 

gateway : 192.168.10.1

192.168.10.# 을 가진 host들은 외부로 패킷을 보내면 출발하는 순간 gateway를 거쳐서 공유기의 ip 17.17.17.17로 보낸것으로 인터넷은 인식합니다. 외부에서는 내부 ip가 인식되지 않습니다.그리고 접근도 불가능합니다.


리눅스 명령어

.  → 모든 문자열 이라는 뜻

? → 글자 하나

* → 모든 파일

 

cp - 파일이나 디렉토리 복사

# cp [옵션] 원본파일 복사파일명

┖ -a : 원본의 속성유지

      -r : 하위 디렉토리 파일모두 복사

      -f : 강제 실행

     -p : 파일의 소유와 권한등을 보존한채 복사

     -u : 새파일 덮어쓰기 금지

 

cp -arpf 요걸로 많이 씁니다.

cp b.txt a/  → 디렉터리는 /를 붙여서 사용합니다.

 

 

mv - 파일이나 디렉토리를 이동한다.(옮기고 나서 지움. 다른 파티션으로 갈때 씀)

 # mv [옵션] 원본파일 이동파일명

┖ -f : 강제 실행

    -b : 파일이 덮어 쓰여질 경우 백업파일 생성

    -d : 디렉토리 삭제

     -i : 삭제 전 삭제여부 확인

    -v : 백업 파일 생성

 

 

rm - 파일이나 디렉터리를 삭제한다.

# rm [옵션] 대상파일

┖ -f : 강제 실행

     -r : 대상 중에 디렉터리가 있는 경우 디렉터리도 삭제

 

 

ln - link파일 생성(soft, hard)

# ln [옵션] 원본파일 링크파일

┖  -s : soft link생성 (디렉터리의 경우 soft link만 가능)

      -f : 대상이 존재하는 경우 지우고 link파일 생성

 

• 심볼릭 링크 : 원본 파일의 위치정보를 가지고, 특정 파일을 가리키고 있는 파일입니다. 다른 파일시스템에서도 링크가 가능하고, 별도의 일렬번호를 가지고 있습니다.만약 링크된 원본파일이 지워지게 된다면 링크된 파일은 쓰레기 파일이 됩니다.

 

• 하드 링크 :원본파일과 동일한 일렬번호를 가집니다. 그래서 원본파일이였던 파일이 삭제가 되더라도 동일한 일렬번호를 가지고 있기 때문에 링크파일은 여전히 사용 가능합니다. 별개의 파일처럼 보이지만 안에 들어있는 내용은 같습니다. 서로다른 파일 시스템에서는 생성이 불가합니다. 별다른 옵션을 안주면 하드링크로 만들어집니다. 하지만 우리가 만들일은 거의 없습니다. 보안상의 문제로 제한되기 때문입니다.

 

 

 

more(less) - 화면 출력을 화면 단위로 제어

출력되는 내용이 많아서 화면을 넘어가는 경우 사용

 # more 파일

명령결과를 more에 준다 출력할때 화면단위로 출력

 

| 앞 명령의 결과를 뒤 명령의 입력 값으로 이용

# ls –al | more

 

 

 

grep - 필터링

출력 문자열중에 원하는 단어나 글자가 들어있는 라인만 출력하고자 할때 이용

특정한 문자열을 가진 라인을 보고싶을때

command | grep [필터링 문자열]

# ls –al | grep conf

 

head, tail(로그 볼때)

- 파일의 일부분을 출력. 각각 앞 뒤에서 10 라인 씩 출력

옵션

-n ## : 지정한 라인만큼 출력

-c ## : 지정한 byte 만큼 출력

-f : tail에서만 사용, 실시간 추가되는 내용도 출력, enter누른 이후에도 올라온 내용도 출력

┖ 주로 log 정보 확인 시 사용한다.

tail -f -n 5 /var/log/messages - (로그 분석할때 많이 사용합니다.)

 

truncate - 물리적으로 비우세요라는 의미(정말로 지움)

-파일의 크기를 임의로 변경한다.

-파일의 내용을 삭제할 때 주로 쓰인다.

옵션

-s N : 파일 크기를 N 바이트로 설정

. 단위 지정 가능 : K(KB), M(MB), G(GB)

. 크기 증감 가능 : + / -

-c : 파일이 존재할 경우만 실행한다

. -r file : 제공한 파일의 크기를 기준으로 설정한다.

truncate -s 0 list.txt - 이 명령어를 많이 쓸것입니다.

┖ 파일 내용을 전부 0바이트로 만드는것 입니다, 파일 자체는 남아있습니다.