저번 포스트에서 해킹당하는 것을 확인해 봤는데, 어떻게 이런 해킹이 이루어지는지 확인하고 분석 할 필요가 있다. 이미 Beast는 너무 유명한 일반적인 프로그램이라 뭘 하기에는 힘들고. 그냥 공부 용도로 사용 하자.

공부용도로 사용을 하려면 분석하는게 좋다. 






GNS3의 네트워크 환경은 이렇다.

먼저 win7-1 (1.221.80.14)가 피해자 PC이고

win7_2-1(1.221.80.13)이 공격자 PC이다. 어떻게 공격하는지는 저번 포스팅에 나와있으니 확인 바란다.

일단 기본적으로 해킹에 대한 모든 정보는 네트워크로 지나갈 것이고 이것을 패킷을 통해 확인 할 수 있다.

희생자 PC와 공격자 PC 사이에 아무런 선에 오른쪽 클릭을 하여 와이어 샤크를 확인해보자. 

캡쳐를 시작하고 Beast를 연결하면 다음과 같은 패킷이 검출된다.






희생자 PC에서 공격자 PC로 많은 연결 (아직 끊어지지 않았다)이 성립된 것을 볼 수 있다.

말그대로 이 공격은 희생자 PC를 감염시켜서 의도적으로 포트를 연 뒤에, 그 공간으로 침입하여 공격하는

백도어 공격이라고 할 수 있다. 지금도 내가 글 쓰는 이 순간에도 내가 감염됬다면 해커는 내가 글을 쓰는것을 볼수 있다. 심지어 키로거도 다 떠서 어떤 사이트에 어떤 아이디와 비밀번호로 접속하는지도 모두 해킹 당할 수 있다.

그렇다면 해커가 아무런 공격을 하지 않았을때 나는 어떻게 공격당했는지를 확인 할 수 있는가?











당연히 백도어 공격이므로 해커를 위한 포트가 열렸을 것이다. 이것을 확인하기 위해서는

CMD 창을 열고 netstat -an 을 입력해보자.


그러면 위와 같이 1.221.80.13:139 /6667 / 6669/ 6671/ 6672가 

외부주소 1.221.80.14로 열려있고 아직 연결이 끊기지 않은 상태인걸 볼 수 있다. 

이 처럼 아무런 설정없이 바로 감염시키면 자신의 IP가 노출되어 잡힐 수 있다.

실제로 이 방법을 해킹에 사용한다면 저기에 찍히는 IP로 잡힐 수 있다는 것이다. 

이렇게 연결된 포트에 대해서도 확인이 가능하고 프로세스로 확인하는 방법도 있다.






ctrl+art+delete를 누르면 나오는 작업관리자에서 프로세스를 확인하면 이상한 점을 발견할 수 있다

svchost.exe 는 연결된 호스트에 대해 나타나는데 사용자 이름이 j라고 나와있다. 

j는 실제로 해커pc의 사용자 이름이다. 희생자의 PC에 프로세스를 심어서 사용자 몰래 실행되는 것이다.

이 처럼 백도어 공격은 이러한 방식으로 진행이 된다. 

현재는 특별한 추가 기술이 없으면 백신으로 쉽게 발견이 된다.


※주의

글쓴이는 공부와 해킹에 대한 이해를 목적으로 글을 쓰는 것이며, 추후 해킹에 발생하는 피해에 책임을 지지 않습니다.


https://sites.google.com/site/trojandownloads/beast-2-07

이곳에서 다운받을 수 있습니다.


비스트는 상대편에 서버를 심어서 강제로 TCP, UDP를 개방하고 프로세스를 심어서 PC를 감염한 뒤, 맘대로 PC를 조작할 수 있는 프로그램이다.


단점은 상대편의 IP를 알아야 한다는 것과 프로그램을 몰래 넣는 방법은 스스로 알아봐야 한다는 점..? 이다.





설정은 다음과 같다.

1.221.80.14를 해킹하는 PC 1.221.80.13가 피해자의 PC이다.


이와 같은 설정을 하기전에 또 설정해줘야 하는 것이 있다.





해킹자의 PC이다. 위에 장치 메뉴에서

게스트 확장 CD 이미지 삽입... 을 클릭하고 컴퓨터 -이동식 미디어장치 에 나와있는 추가 프로그램을 다운받는다.

가만히 기다리면 자동 실행으로 뜨기도 한다.




설치중이다..



공유폴더-공유폴더 설정에 들어간다.





저 버튼을 누른다음에

폴더 경로 -> 기타 를 체크해준다.





VM과 VM밖에 있는 나의 진짜 PC와 공유할 폴더를 지정한다. 

필자는 편하게 내문서를 지정해주었다.





자동 마운트, 항상 사용하기에 체크를 해준 뒤 확인을 누르자.

이제 다운받은 비스트 프로그램을 (알집상태로) 공유폴더로 지정한 곳에다 넣어놓는다.

VM폴더 말고 HOST PC 이다.!





그다음 VM에서 네트워크 들어가면 공유된 VBOXSVR를 볼 수 있다. 

저기로 들어가서 HOST PC에 있는 비스트 알집 파일을 가져오자.





압축을 풀고 실행해서 Bulid Server를 클릭하자.






Save Server를 클릭하자.





그럼 server라는 파일이 생기는데 이것이 우리가 해킹을 할 수 있게 도와줄 것이다.









이것을 공유폴더로 되있는 곳에다가 드래그하여서 옮기면 HOST PC에 설치 된 나의 알약이 반응한다.





트로이목마라고.. 닫기를 누르고 예외로 지정해 주자..






이번에는 피해자 VM PC로 가주자. 똑같이 공유폴더 지정해주고 이미지 삽입해서 추가로 확장프로그램을 설치해주어야 한다.

그 다음 공유폴더에서 아까 넣은 server를 드래그해서 가져오자.





이제 저 server를 더블클릭 하면!!





사라진다. 거짓말 처럼 없어진다. 이제 이 PC는 감염됐다.





다시 해킹하는 VM(1.221.80.14)로 가보자.

다시 비스트를 실행시켜보면 아래의 Disconnected가 보이는가?

아까 감염한 PC의 IP (1.221.80.13)을 입력한다.

그다음 Go BEAST! 버튼을 클릭해보자.


그럼 Disconnected 부분이 Connected로 바뀐다.





Managers - Screen을 클릭하자. 이것은 감염된 pc가 뭐하는지 다 볼 수 있게 한다.





Start 버튼을 눌러주면 뭔가 뜬다.





OK 를 눌러주면 또 창이 하나 뜬다.





맨 위에 꺼를 클릭하고 Upload 한다. 감염된 pc에 강제로 프로그램을 설치한다.





그다음 Upload Finished라는 글씨를 확인 하고 Start 버튼을 눌러본다.





1.221.80.14(공격자 PC)에게 1.221.80.13(피해자 PC)의 화면이 보인다!!

이것말고 키로거도 가능하고, 강제 종료, 등 그냥 컴퓨터를 장악할 수 있는 여러 가지 기능들도 모두 수행할 수 있다.


다음엔 어떠한 원리로 작용하는지 WireShark를 통해 알아보도록 해보자.







윈도우키+R을 누르면 실행창이 열린다. 여기에 CMD를 입력하자. 그리고 ipconfig 라는 ip를 입력하면 자신의 아이피가 보일 것이다.





IPv4 주소가 현재 인터넷 ip주소인 것이다. 하지만 여기서 192.168로 시작하는 IP주소는 가상의 IP 주소이다.
공인 IP주소가 아닌 사설 IP 주소라는 뜻이다. 
이게 무슨말이냐면 공인 IP주소를 받아와서 흔히 말하는 공유기를 거쳐 나오는 IP라는 뜻이다.

사설 IP로는 인터넷을 할 수 없다. 하지만 우리는 저 IP로 인터넷을 할 수 있는데, 그 이유는 공유기에 NAT가 있기 때문이다.
NAT는 네트워크 주소 변환으로 사설 IP를 공인 IP로 바꿔주는 기능을 한다. 
그렇다면 나의 공인 IP는 어떻게 알 수 있을까?

https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%82%B4+IP%EC%A3%BC%EC%86%8C


이곳에 들어가면 나오는 IP가 나의 공인 IP 주소인 것이다.

여기에 나오는 나의 아이피를 
https://whois.kisa.or.kr/kor/main.jsp


이곳에 들어가 입력하면 나의 IP를 할당해준 기관이 나온다.
왜 자세한 위치는 안나오고 기관만 나올까? 
개인정보 보호 때문이다. 만약 이 IP로 사이버 범죄를 저질렀을 때, 할당된 기관을 확인하여 수사 의뢰를 하면 그 기관에서 나의 정보가 넘어갈 것이다. 그래서 일반인은 자세한 정보를 알 수 없다.

114.232.118.96 라는 IP로 검색을 해보자 . 좀 더 자세하게 나온다. (해킹 연습을 할때 쓰는 IP로 알고 있음)

어떠한 도메인 사이트에 서버 위치가 어디에 있는지도 알 수가 있다.
방법은 CMD 창에서 nslookup을 쓰는 방법인데 아래에서 살펴보자.










nslookup www.snu.ac.kr 
이것은 서울대학교의 도메인 주소이다. nslookup을 쓰고 서울대 도메인을 쓰면 
kaku2.snu.ac.kr의 이름으로 147.46.10.58의 주소가 나온다.

이것을 위에 알려준 한국인터넷 진흥원에 입력하면 서울대학교 정보화본부 라는 대략적인 정보를 알 수 있다.

만약에 누군가 해킹을 한 흔적(패킷)이 발견되어서 위와같이 위치를 알아서 경찰이 출동했다고 하자.
그사람에게 해킹했다는 완벽한 증거를 알아내야 한다. 공공장소라면 똑같이 사설IP를 할당받을 수도 있다.
그래서 그 IP를 사용하는 사람을 채포하려고 하자 자기는 하지 않았다고 한다. 
이와 같은 상황에는 어떻게 해야할까.

일단 사설IP를 할당하는 장비로 가서 패킷을 확인한다. (패킷 확인을 위해 WireShark를 사용해보자)





이와같이 의심되는 패킷을 찍어서 2계층 (Ethernet II) 부분에 Src (출발지) Dst(목적지) 의 모자이크 된 부분으로 MAC주소를 확인할 수 있다.

MAC주소란 컴퓨터에 할당된 고유의 주소로 컴퓨터 지문이라고 생각하면 편하다. 만약 이 MAC주소로 방금 해킹한 사람의 노트북에 있는 MAC와 비교하여 일치할 경우 유력한 용의자가 될 것이다. IP주소도 같고, MAC도 같은데 발뺌을 한다고 하면
"나는 280조분의 1 확률로 재수가 없는 사람입니다." 라고 말하는 꼴이다. MAC주소가 겹칠 확률은 280조분의 1이다.

아무리 유능한 해커라도 패킷을 숨길 수는 없다.


Suricata sudo /usr/bin/suricata –c /etc/suricata/suricata.yaml –I (이더넷 이름) –init-errors-fatal 명령어로 실행할 수 있다
Suricata 룰에 대한 설정은 sudo vi /etc/suricata/suricata.yaml 명령어로 수정할 수 있다
그리고 Suricata log를 확인하려면 cat /var/log/suricata/fast.log 명령어를 사용한다.

1.LAND Attack
인위적으로 송신지 IP 주소 및 Port를 목적지 (대상 웹서버) IP주소 및 Port와 동일하게 설정하여 트래픽을 전송하는 공격 source IP spoofing이라 한다송신지 IP/Port와 목적지 IP/Port가 동일하기 때문에 네트워크 장비의 부하를 유발하기도 한다최근에는 source IP destination IP IPS 등에서 비교하기 때문에 거의 효과가 없는 공격이다. LAND Attack은 다음 명령어로 공격한다.

hping3 –icmp [피해자IP] –d [data_size] –flood –a [피해자 IP]

어느 정도 시간이 지난 후에 Ctrl+C를 이용해 공격을 종료한다그리고 WireShark로 패킷에 대한 정보를 확인하여 보면 다음과 같은 결과가 나온다.




출발지와 목적지가 피해자 IP로 동일한 것으로 보아 IP가 변조되었다는 것을 확인할 수 있다따라서 다음과 같은 룰을 suricata에 추가하여 준다.

drop tcp any any -> any any (msg:”Land Attack”; sameip; sid:1000056;)

다시 공격을 시작하고 시간이 지난 후에 suricata와 공격 모두 종료하면 suricata에 다음과 같은 결과가 도출된다.




85.84%의 높은 드랍율로 피해를 최소화한 것을 확인할 수 있다.

2.Ping Of Death
Ping of Death는 인터넷 프로토콜 허용 범위인 65,536바이트 이상의 큰 패킷을 고의로 전송하는 서비스 거부(Dos: Denial of Service)공격 이다. 공격자의 식별 위장이 용이하고 인터넷 주소 하나만으로도 공격할 수 있다. 다음과 같은 명령어로 공격할 수 있다.

hping3 -–icmp [피해자IP] –d 65000 –flood

어느 정도 시간이 지난 뒤에 종료하고 이번에도 wireshark에서 패킷을 확인한다





시스템이 눈에 띄게 느려졌다는 것을 확인할 수 있었다패킷에 보면 데이터에 X문자열 (58)을 채워서 보냈다는 것을 확인할 수 있다따라서 다음과 같이 룰을 설정하여 준다.

drop ip any any -> $HOME_NET any (msg:”Ping of Death”; content:”|5858585858|”; threshold: type both, track by_src, count 10, seconds 5; sid:10000002; rev:001;)

룰을 설정하고 suricata를 실행 한 뒤에 다시 공격하고 어느 정도 시간이 지나면 종료한다.






 37.89%의 드랍율로 어느 정도 피해를 최소화하였다이 룰을 사용하지 않았을 때는 드랍율이 0%였다.

3.Nmap 포트 스캐닝
포트 스캐닝은 대상 컴퓨터의 TCP UDP 포트 상태를 알아보는 것으로 공격자가 정보수집을 할때 Target PC에 자주 하는 방법이다포트를 차단하는 것도 좋지만 스캔하는 경우를 탐지하여 관리자가 인식하는 경우도 나쁘지 않다.
Nmap Scan Type의 종류는 다음과 같다




SYN 포트스캔 명령어는 다음과 같다.

Namp –sS [피해자 IP]
위의 명령어로 공격을 하게 되면 공격자는 다음과 같이 열려있는 포트를 확인할 수 있다.






 22/TCP 포트가 오픈되어 있다는 걸 알 수 있게 되었다.
피해자의 wireshark를 확인하여 보면 다음과 같은 결과가 나온다.






SYN스캐닝이 진행된 것을 확인할 수 있다
포트가 열려있으면 SYN+ACK 포트가 닫혀있으면 RST+ACK이 오는 것을 확인할 수 있다다음과 같은 명령어로 탐지할 수 있다.

Alert tcp [피해자 광대역 라우터] any-> [피해자ip] any (msg:”SYN Scan Checkk”; flags:S threshold:type both, track by_src, count 5, seconds 10; sid:1000051;)






다음과 같이 192.168.129.130에서 공격한 것을 탐지했다
나머지 포트 스캔 공격도 비슷한 룰로 flags 부분을 수정하여 탐지할 수 있다.

4.SYN Flood 공격
SYN Flooding 공격이란 TCP 세션이 연결될 때의 취약성을 이용한 서버 공격이다접속을 요청하는 SYN 패킷을 지속적으로 보내어 대상 서버에 연결 테이블을 가득 차게 만든다결국 공격자는 피해자를 응답에 대해 전혀 수신하지 못하는 상태로 만든다다음 명령어로 공격할 수 있다공격을 할 때는 DDOS공격처럼 rand IP로 보내는 설정을 추가한다 .

hping3 –syn –S [피해자IP] --flood –rand-source
공격한 후 wireshark를 확인하면 다음과 같은 결과가 도출된다.



SYN Flood Attack이 랜덤한 IP 0번 포트에 공격해 온 것을 확인할 수 있다. Flag S이므로 반복적으로 오는 SYN패킷을 막아주어야 한다목적지는 피해자 IP로 같으므로 track by_dst 옵션을 사용한다따라서 다음과 같은 룰을 사용한다.

Drop tcp any any -> $HOME_NET any (flags : S; msg:”Syn Flood Attack!”; threshold: type both, track by_dst, count 3, seconds 1; sid:10000003;rev:001;)
룰을 저장하고 다시 공격해본다.





35%의 드랍율로 피해를 최소화하였다공격할 때마다 1%~35%까지의 랜덤한 드랍율을 보인다.



※본 연구는 지극히 주관적인 연구이고 결과와 과정이 정확하지 않을 수 있습니다.


http://hsm-racoon.tistory.com/36?category=988567

-이번에도 먼저 Cisco Packet Tracer 먼저 보시고 오길 추천합니다




일단  static routing을 한것을 다 지워줍시다
no ip route 하시고 지정한것 똑같이하시면 지워집니다
그리고 특권모드에서
show ip route 하시면 직접연결된 것 빼고 라우팅이 다 없어진 것을 확인 하실 수 있습니다.
다른것도 일단 라우팅 다 지워줍시다.
(전에 포스팅 한 것에서 static routing 안하셨으면 그냥 넘어가셔도 됩니다)





라우팅 전에는 통신이 되던게 라우팅을 다 지우고 나서는 통신이 되지않는 모습입니다.
이제 Dynamic Routing을 하도록 하겠습니다.

다이나믹 라우팅은 라우터 양옆에 주소만 적어주면 알아서 서로 통신을 하여 라우팅테이블을 갱신합니다. (자세한 설명은 맨위에 링크 참조 바랍니다.)





다음과같이 R2는 양옆에 있는 네트워크 주소 1.1.1.0 // 2.2.2.0 을 추가하여 줍니다.









R1도 양옆 네트워크 주소 추가하여 주시고




R3도 양옆 네트워크 추가하여 줍시다.
그다음 라우팅 테이블을 확인하여 봅시다.





특권모드로 나오시고
show ip route
하셔서 R3의 라우팅 테이블을 확인하시면 
R 표시로 자동으로 라우팅 된 것을 확인하실 수 있습니다. R1,R2 라우터도 자동으로 라우팅테이블에 추가가 되었을 것입니다.
그럼 다시 4.4.4.4에서 1.1.1.10으로 핑을 보내봅시다.





아까는 안되던 핑이 지금은 자동으로 라우팅 되서 ping이 보내지는것을 확인할 수 있습니다.

이것으로 Dynamic Routing 을 마치겠습니다.


http://hsm-racoon.tistory.com/35?category=988567


GNS3로 하기에는 프로그램이 무거우므로 먼저 Cisco Packet Tracer로 하시는걸 추천합니다.
자세한 설명도 하였으니 꼭 한번 읽고오시길 추천합니다.




설정은 전에 했던 설정을 그대로 가져오겠습니다. R2라우터를 오른쪽 클릭하여 console로 들어갑시다.





라우터가 말단 라우터이므로 Default Routing을 하도록 하겠습니다.
static 으로 주려면 
ip route 4.4.4.0 255.255.255.0 2.2.2.1
ip route 3.3.3.0 255.255.255.0 2.2.2.1 
을 해주면 됩니다. (설명은 링크참조)
다음은 R1 입니다.





1.1.1.0 과 4.4.4.0의 주소를 모르므로 
1.1.1.0은 2.2.2.2로 가고 4.4.4.0 은 3.3.3.2로 가라고 라우팅 해줍니다.

다음은 R3입니다.









이렇게 각각 줘도 되지만 Default Routing으로
ip route 0.0.0.0 0.0.0.0 3.3.3.1 
로 줘도 가능합니다~





이제 칼리리눅스 들어가셔서
vi /etc/network/interfaces
하시고 eth0  ip를 설정해줍니다. 
당연히 kali의 게이트웨이는 바로위에있는 라우터인 1.1.1.1 입니다.





win7도 4.4.4.4로 ip를 설정합니다.





그리고 1.1.1.10에 대해 ping을 보내면 잘 가는것을 알 수 있습니다.
-칼리리눅스 아이피 설정하시고 꼭 reboot 해주세요~

다음은 Dynamic Routing을 해보겠습니다.


멀티레이어 스위치는 L2스위치랑 다르게 트렁크를 지정해줄 필요가 없다.
L3스위치는 라우팅기능을 추가해주어야 L3스위치처럼 작동한다.
실제로도 L3스위치를 구비해놓고 라우팅기능을 넣지않으면 L2스위치랑 똑같다.





위와 같이 환경을 설정할 것이다.





VLAN을 나누는것은 똑같다.





전에 포스팅 한것과 똑같다. 인터페이스 나눠주자.





VLAN을 나눠주고










확인한다.
L3 Switch는 라우터 기능까지 있기때문에 스위치 자체가 라우터 기능도 한다.
따라서 트렁크포트를 지정해줄 필요가 없다.! 바로 VLAN에 아이피를 주도록 하자.





이런식으로 바로 int vlan 10 , int vlan 20 같이 VLAN 이름을 지정하여 바로 지정이 가능하다.





show ip interface brief / 줄여서 sh ip int bri 를 입력하여 아래로 내려보면
VLAN 10, VLAN 20에 IP가 지정된 것을 볼 수 있다.





그래서 192.168.0.2 PC에서 같은 VLAN인 192.168.0.3에는 ping이 보내지는데
192.168.0.129 인 옆 VLAN에는 ping이 가지않는다.
왜그럴까?
이유는 아까 말했듯이 라우팅 기능을 L3 Switch에 지정을 해주어야 한다.





명령어는 간단하다.
ip routing
이것을 해주고 sh ip rou 명령어로 라우팅 테이블을 확인하자.





다시 ping을 보내면 잘 가는것을 확인 할 수 있다.!


스위치 하나로 스위치 여러 개를 쓰는 것처럼 하기 위해서 VLAN을 사용한다.
사실상 스위치를 줄여서 비용을 절감하고 LAN끼리 보안을 하기 위해서 사용한다.

VLAN을 지정해줄 때는 순서가 있다.
스위치에서
1.VLAN 생성 / 이름설정
2.VLAN에 interface 넣어주기
3.라우터와 연결된 interface에 트렁크 설정을 해준다.

라우터에서
물리적으로 하나의 선으로 여러 개의 VLAN과 통신해야 하기때문에
1.가상의 이더넷을 만들어준다.
2.가상의 이더넷 하나마다 IP를 지정해준다.

하나씩 해보자. 
환경부터 설정한다.





VLAN10에 있는 인터페이스는 fa0/1 , fa0/2 이고 아이피는 2번과 3번이다.
VLAN20에 있는 인터페이스는 fa0/23, fa0/24이고 아이피는 129번과 130번이다.
fa0/12는 VLAN 2개가 모여 하나의 선으로 나가기 때문에 트렁크로 지정을 해준다.
라우터는 2개의 VLAN에서 주는 통신을 하나의 선으로 처리해야 하기 때문에 
fa0/1.1 은 VLAN1 fa0/1.2는 VLAN2에 대한 선으로 지정해준다.

스위치부터 봐보자.





show vlan을 입력하면 현재 vlan 목록이 나온다. 1번 vlan에 모든 인터페이스가 몰려있는 것을 볼 수 있다. 이제 이 인터페이스들을 vlan으로 나눠주자.



VLAN 10을 만들고 이름을 지정하고 VLAN20을 만들고 이름을 지정해주자.





fa0/1을 vlan 10에 넣어준다
switchport mode access 
switchport access [VLAN 이름]
으로 지정해줄수 있다. 다른 인터페이스들도 다 나눠주자.

그다음 다시 VLAN이 잘 나눠졌는지 설정을 확인해보자









아까랑 다르게 VLAN 10, 20번에 각각 0/1,0/2 와 0/23 ,0/24 인터페이스가 들어간 것을 볼 수 있다.





PC1(192.168.0.2)에서 같은 LAN에 있는 192.168.0.3으로는 ping 가는것을 확인 할 수 있지만
다른 VLAN으로 지정된 192.168.0.130에는 ping이 가지 않는것을 확인 해 볼 수 있다.
이제 이 2개의 VLAN이 통신이 되게 트렁크 설정을 해주고 라우터에서 라우팅을 해줘야 한다.
다시 스위치로 가보자.





fa0/12이 두 개의 VLAN이 모두 가야하는 인터페이스 이므로 트렁크 설정을 해준다.
원래는 802.1q 프로토콜설정, native VLAN 설정, trunk port로 통신을 허용할 vlan 설정
VLAN의 gateway IP를 설정해주어야 하지만 여기서는 설정할 필요가 없으므로
그냥 넘어가도록 하겠다.


다음은 라우터이다.





일단 fa0/0을 no shutdown을 해주고
int fa0/0.1 을 입력하면 바로 Inter VLAN이 up 된다. 그다음
encapsulation dot1q [VLAN이름] 으로 trunk mode 및 VLAN을 설정해준다.
ip address [IP주소] [서브넷마스크] 로 IP를 설정해주도록 한다. 





fa0/0.2 도 똑같이 설정한다.





이제 VLAN10에 있는 PC가 VLAN20에 있는 PC와 통신이 가능하게 되었다.




Dynamic NAT가 N:M이라면 NAT-PAT는 N:1이다.
한개의 공인ip로 여러 사설ip를 커버하는 요즘 공유기 같은 방식이다.





환경설정은 다음과 같다. Dynamic과 Static을 실습하고 왔다면 깔끔하게 라우터를 없애고 새로 하는게 편하다. 아무 설정이 안되어 있는 상태여야 실습하기가 편하다.

NAT-PAT는 두가지 방법이 가능하다.
1.Pool을 지정해줘서 여러 공인아이피를 돌아가면서 설정해주는 방법
(Dynamic NAT와 비슷하지만 Dynamic NAT는 선점한 컴퓨터가 있으면 나머지는 기다리는 구조이지만 NAT-PAT는 포트번호를 다르게해서 기다리는 컴퓨터가 없이 통신이 가능하다)
2.공인ip 1개로 인터페이스를 지정해주는 방법
(1:m구조이다)

1,2번 공통으로 하는 사설ip를 지정해주는 명령어다.
access-list [숫자] permit [사설ip주소] [와일드카드]
-와일드 카드는 서브넷마스크를 보수로 취한 값이다.
그 다음 1번은 Dynamic NAT처럼 
ip nat pool [이름] [공인ip시작] [공인ip 끝] net mask [subnetmask] 
를 지정한 후에
ip nat inside source list [숫자] pool [이름] overload
을 해주면 된다. Dynamic NAT랑은 다르게 뒤에 overload 라는 명령어가 추가된다.
-Dynamic NAT 포스팅에서도 했듯이 여기서 [숫자]는 같은값이어야하고 [이름]도 같은 값이여야 한다.!
-이해가 안되면 전 포스팅 보는걸 추천
-inside outside 설정도 필수!











이것이 2번으로 NAT하는 방법이다.
공인IP가 하나이므로
ip nat inside source list [숫자] interface [interface] 
-아까 access-list 에 지정한 숫자를 넣어주고 interface는 공인ip로 나가는 선에 대해 지정해주면 된다.
-여기서는 outside가 0/1 이더넷이다.
-inside outside 설정도 해주어야 한다.





각 컴퓨터로 외부인 8.8.8.8에 ping을 보내고 난 후
show ip nat traslations 명령어를 입력하면 변환된 내용이 나온다.
모두 선점하는 방식은 Dynamic NAT와 다르게 없었으며, 8.8.8.1이라는 똑같은 공인 IP에서 포트번호만 다르게 통신하는 것을 알 수 있다.
이게 요즘 우리가 쓰는 공유기의 NAT 방법이다.


Static은 1:1로 대응하는 NAT였다면 Dynamic은 n:m으로 대응하는 NAT이다. 
실습을 하면서 알아보자.

Static NAT를 미리 실습했다면 설정을 다시 초기화 해주어야 합니다. 그냥 속편하게
라우터 지우고 다시 연결하는게 편합니다.





환경은 다음과같이 설정한다.
Dynamic NAT는 N:M 이므로 공인아이피 범위인 Pool을 지정해주어야 한다.
Cisco 용이라 다른 장비는 이 NAT방식에 대해 용어가 다를수도 있다.
사설IP가 5개 있다 (2~6) 여기에 공인아이피를 2개를 지정해주려고 한다.
먼저 패킷을 보내는 순서대로 맵핑한다.





1.access-list [숫자] permit [사설ip주소] [와일드카드]
-와일드카드는 서브넷마스크를 보수를 취한것이다. 255.255.255.0 이므로 0.0.0.255이다.
2.ip nat pool [이름] [공인ip 시작ip] [공인ip 끝ip] netmask [subnetmask]
-pool 이름을 'abc'로 지정하고 공인ip 를 2개만 사용할 것이므로 시작을 8.8.8.9 끝을 8.8.8.10을 준 모습이다. /24이므로 넷마스크는 255.255.255.0을 준다
3.ip nat inside source list [숫자] pool [이름]
-위에서 access-list를 1로 줬으므로 1을주고 pool 이름을 'abc'로 지정했으므로 지정한걸 사용한다.





4.ip nat inside
-FastEthernet 0/0 부분은 사설 ip 부분이므로 inside를 준다
5.ip nat outside
-FastEthernet 0/1 부분은 공인 ip 부분(NAT를 받아 나가는 영역)이므로 outside를 준다

이렇게 지정을 하면 Dynamic NAT는 끝이난다.











NAT변환 정보에 대해 확인하고 싶다면
show ip nat translations 를 치면된다. 이 명령어는 여태까지 변환된 기록을들 확인할 수 있다.
Inside global이 나갈때 받은 공인ip 주소이다.





실시간으로 확인하고 싶다면
debug ip nat  명령어를 사용하면 된다. 먼저 선점을 받고
사용시간이 어느정도 지나면 expiring 으로 만료를 시키고 다시 다른 ip가 선점하는 방식이다.


+ Recent posts