Cloud 실습 (2-1)과 이어집니다. 실습 환경 설정을 먼저 진행하세요.
- HQ#
HQ 에서 10.10.10.0/24 대역의 다른 router로 pingdo ping 10.10.10.2
출발지를 10.10.100.1로 하여 다른 네트워크인 10.10.10.2 로 ping
do ping 10.10.10.2 so 10.10.100.1 # 출발지를 변경 # 도착지가 어디인지는 알고 있어서 가긴가는데, 돌아오는게 안됨 # BR 입장(10.10.10.2)에서 10.10.100.x 가 어디있는지를 모름 # BR이 10.10.100.1 을 routing table 에서 찾지만 없어서 drop
HQ에서 BR의 내부망(10.10.200.1)로 ping
do ping 10.10.200.1
# HQ가 해당 주소가 어디있는지를 모름
- HQ
ip route 10.10.200.0 255.255.255.0 10.10.10.2 # HQ 에게 어디로 갈지 알려줌 # 10.10.200.0(목적지 네트워크 대역) 255.255.255.0(서브넷) 으로 # 가기 위한 10.10.10.2(next hop) 을 static route
- BR
ip route 10.10.100.0 255.255.255.0 10.10.10.1 # BR 에게 어디로 갈지 알려줌 # 10.10.100.0(목적지 네트워크 대역) 255.255.255.0(서브넷) 으로 # 가기 위한 10.10.10.1(next hop) 을 static route
- HQ
do ping 10.10.200.1 so 10.10.100.1
# 이제 HQ, BR 모두 서로 .100.x, .200.x 대역을 알고 있어서 성공 do wr # 저장 (HQ, BR 모두)
- HQ#
do show ip route
- 10.10.10.0, 10.10.100.0 은 직접 연결되어서 알고 있음
(맨 앞에 C는 connected, directly connected 되었다는 문구)
- 10.10.200.0 은 맨 앞에 s 처럼 static(정적) 입력받아서 10.10.10.2 를 통해 가는 것을 알 수 있음
ping 10.10.10.2
- dst IP 가 routing table에 매칭되는 것이 있는 지 찾아봄
- 10.10.10.0 에 매칭
- 매칭된 곳으로 가기 위해 빠져나가기 위한 10.10.10.1 을 확인하고 내보냄
- 나갈때는 MAC(src, dst) 붙여서 frame으로 나감
- dst MAC 을 알기위해 frame 보내기 전에 ARP 를 통해 상대의 MAC 주소를 알아왔을 것임
default route 설정 방법
ip route 10.10.10.0 255.255.255.0 1.1.1.1
- subnet mask에 의해서 10.10.10. 부분은 고정되고
- 10.10.10.0 의 .0 부분은 뭐든지 와도 됨
- (0~255, 사실 상 1~254, 네트워크 주소 및 브로드캐스트 주소 제외)
ip route 0.0.0.0 0.0.0.0 2.2.2.2
- 모든 IP 에 대해서 2.2.2.2 로 route 하도록 설정
- "default route" 라고 부름
(default gateway 설정하면 이런 역할을 하는 것임)
- HQ#
ip route 0.0.0.0 0.0.0.0 192.168.1.1 # default root 설정
- BR#
ip route 0.0.0.0 0.0.0.0 10.10.10.1 # default root 설정
라우터와 같이 패킷처리 장비는 목적지 주소에 부합하는 네트워크 경로가 2개 이상일 경우 더 자세한 주소로 찾아간다.
-> longest match rules!
- 10.10.200.100 이라는 dst가
routing table에서 매칭되는 네트워크 경로가 둘일 때,C 10.10.200.0/24 # 더 상세한 주소 S 0.0.0.0/0 # 덜 상세함
더 상세한 10.10.200.0 을 보고 찾아가게됨.
- HQ#
conf t int fa0/0 ip add 192.168.1.101 255.255.255.0 # 외부망으로 나가는 공인 IP 설정 no sh do ping 8.8.8.8
DNS 설정
# HQ(config)# 상태에서 진행 ip name-server 8.8.8.8 # DNS 등록 ip domain-lookup # 이제부터 domain name 물어볼 것이라는 설정 # 안하면 www.google.com 이 domain이라는 것을 알지 못함 do ping www.google.com
- 여기까지 하면 HQ는 ping www.google.com 성공
BR에서 ping하면 아직 안됨(NAT, 실제로는 PAT 설정으로 해줘야함)
- HQ#
conf t access-list 1 permit any # 특정 IP 대역(any, 0.0.0.0/0 -> 모든 IP)을 허가(permit) ip nat inside so list 1 int fa0/0 overlaod # list 1(모든 IP)에 있는 IP가 inside 하면 # fa0/0 을 통해 내보낸다(outside) # 공인 IP 가 1개고 사설 Ip 가 여러개니까 중복해서 사용(overload) int fa0/1 ip nat inside # 들어오는 곳이라고 설정 int fa1/0 ip nat inside # 들어오는 곳이라고 설정 int fa0/0 ip nat outside # 나가는 곳이라고 설정
PC1, PC2 > Start 하고 > Console open
PC1
ip 10.10.100.100/24 10.10.100.1 # pc1에 ip 설정 및 default route 설정 ip dns 8.8.8.8 # dns 설정 ping www.google.com # 외부로 domain name 을 통해서도 잘 됨
- PC2
ip 10.10.200.200/24 10.10.200.1 # pc2에 ip 설정 및 default route 설정 ip dns 8.8.8.8 # dns 설정 ping www.google.com # 외부로도 잘됨
ping 10.10.100.100 # HQ 쪽으로도 잘 연결된다
문제점을 찾아 해결해 나가는 과정
무조건 가까운 쪽에서 점검해 나간다.
HQ -> 192.168.1.1
2-1
우리회사는 웹서비스 제공을 위하여 공인주소를 구매하였다.
211.183.3.0/24 를 사용할 수 있고, 라우터에 HQ의 fa0/0 에는 211.183.3.99 을 할당한다.
ISP 주소는 211.183.3.2 로 고정되어 있다. 나머지 주소는 내부에서 자유롭게 사용할 수 있다.
2-2
이중, 211.183.3.100 은 본사와 지사에 있는 PC들이 동적 PAT 를 통하여 인터넷과 연결이 가능하도록 할 계획이고, 211.183.3.101 은 본사 내부에 있는 웹서버 10.10.100.100 과 1:1 로 정적 NAT 를 구성하여 웹서비스를 제공할 계획이다.
cloud 1과 HQ 링크 delete
cloud 1 > configure > 이더넷 delete, vmnet10 add
2-1
- HQ#
conf t int fa0/0 ip add 211.183.3.99 255.255.255.0 # ip 변경 do ping 211.183.3.2 # 잘됨 .2 은 vmware 에서 알아서 잡아준것 do show run | in ip route
192.168.1.1 은 예전거! 지우고 다시 설정해야함
no ip route 0.0.0.0 0.0.0.0 192.168.1.1 # 지움 ip route 0.0.0.0 0.0.0.0 211.183.3.2 # 다시 설정 do ping www.google.com # 외부로 연결 잘됨
2-2
웹서버와 IP 1대1 매칭
-HQ#
nat 중 지워야할 설정이 있음do show run | in ip nat
4번째 지워야함no ip nat inside source list 1 interface FastEthernet0/0 overload # 지움
실제 환경이면 외부연결 안되어야 하지만, 앞단에서 nat 로 자동 변경되서 나가서 지금 연결이 되긴함... (실제 환경에서는 안됨)
- pool 만들기ip nat pool PRI 211.183.3.100 211.183.3.100 pre 24 # PRI 라는 pool 에 공인IP 범위 start, end (둘다 211.183.3.100) 을 prefix 24로 넣어둠 ip nat inside so list 1 pool PRI overload # 밖으로 나가는 안에서 오는 것들 PRI 라는 pool 에서 공인 IP 뽑아서 overload(중복)해서 써라
- aws 에서 서버를 생성하면 사설 주소가 할당되고 자동으로 공인주소 부여해준다.
하지만 이 공인주소는 고정이 되지는 않는다.
-> dynamic NAT (pool 안에 아무거나 꺼내서 씀. 종료가 되면 반납하고 다시 시작할 때 재할당 받음.)- elastic ip 는 위와 같은 환경에서 공인 IP 주소를 정적으로 사설 주소와 매핑해 주는 기능이다.
-> static NAT
- HQ#
conf t ip nat pool WEBSRV 211.183.3.101 211.183.3.101 pre 24 ip nat inside so static 10.10.100.100 211.183.3.101 # 1대1 static 매칭
- window cmd
ping 211.183.3.101 # 잘됨
외부에서 ping 보낸 것이 내부의 web server의 사설 IP로 변경되어서 전달되는 것을 확인 가능