- 스위치들로 분배해주는 스위치 : distribution switch
- 장비로 분배해주는 스위치 : access switch
- 한 네트워크이자 1 Broadcast Domain은 라우터에서는 1 interface이며, switch에서는 1 vlan이다
- access port : end-device와 연결되는 port
- trunk port : switch와 switch를 연결할때 사용하는 port로, 보통 한 개의 인터페이스에 모든 vlan이 지나갈 수 있게하는 port
- TAG : 12bit를 이용하여 vlan-id를 FRAME에 붙이는 것. 이 TAG는 뒤에 한 개의 bit를 이용해 뒤에 IP가 온다고 명시한다. 이를 통해, Switch에서는 TAG의 끝을 알 수 있으므로, 뒤에 IP 부분은 읽지 않는다. Switch나 Router는 이 TAG를 읽고 분리해서 원 상태의 FRAME으로 복구시킨다
- TAG는 Trunk port를 통해 다른 switch나 라우터로 나갈때 사용한다
- 이 TAG를 사용하는 방식을 표준 트렁킹 기술이라고 하며, IEEE 802.1Q ( dot1q )라고 한다
- 방화벽의 초기 세대로 번호나 이름을 이용하여 정책을 생성하고, 생성된 정책으로 패킷을 필터링, 분류하는데 사용되는 기술
- 패킷의 어느 부분까지 살펴보느냐에 따라 Standard/Extended로 구분한다
- Standard : 패킷의 출발지 주소만을 호가인
- Extended : 패킷의 L3, L4를 모두 볼 수 있다
- 방화벽이나 라우터는 inspection 기능을 활용하면 L7 까지 확인 가능하다. 즉, Data를 열어서 full request uri ( FILE의 full 주소 확인 가능, 확장자까지 표시된다 ), host 주소등을 확인할 수 있다. 80번 PORT를 사용하는 특정 웹 사이트에 GET 요청을 하면 Frame에 HTTP로 표시된다
- 이를 통해, Data 부분에 있는 STR을 읽고, 정규 표현식등을 활용해서 DATA 필터링 ( ex. URL 필터링, 확장자를 통한 DATA 필터링 )을 할 수 있다
- squid squidguard를 이용한 url 필터링에 대해 알아보자
- 번호 1~99, 실무에서는 이름으로 정책명을 설정하는 경우가 대다수
- access-list 1 permit 1.1.1.0 0.0.0.255(wild card bit)
- access-list 1 deny host 2.2.2.2 = 2.2.2.2 0.0.0.0
- access-list 1 deny 0.0.0.0 255.255.255.255 = any
- 번호 100 ~ 199, 실무에서는 이름으로 정책명을 설정하는 경우가 대다수
- access-list 100 permit tcp any host 3.3.3.3 eq 80 ( any 가 출발지, host 3.3.3.3이 목적지, eq 80이 목적지 포트 )
- access-list 100 deny icmp any host 3.3.3.3 echo ( 모든 사용자가 3.3.3.3에서 echo ping을 보내는 것을 차단 )
- access-list 100 deny ip any host 4.4.4.4
시나리오
- 우리 회사는 HQ - BR을 WAN으로 연결
- 본사, 지사는 공인주소 211.183.3.2 ( ISP ) , 211.183.3.3 은 라우터 주소, 211.183.3.1 은 ISP와 우리 라우터간 연결된 스위치 주소로 예약되어있다
- 본사 내부에 있는 서버의 주소 172.16.1.100은 외부 통신시 211.183.3.100과 1:1 정적 매핑된다
- 본사 내부 PC들은 211.183.3.101 하나를 이용하여 인터넷을 사용한다
- 지사 내부 PC들은 211.183.3.102 하나를 이용하여 인터넷을 사용
- DSW1 - DSW2 에 연결된 서버들은 VLAN 10에 할당, PC들은 VLAN 20에 할당된다
- HQ와 BR의 PC들은 DHCP를 통하여 IP 주소를 할당 받는다. DHCP 서버는 본사에서 통합 관리 한다 ( HQ 라우터가 DHCP 서버로 동작 )
- 위와 같이 구성할 것이다
- 구현 순서 : IP -> 라우팅 -> NAT -> 필터링, 보안
- 실제 데이터 센터에서는 전기세가 가장 많이 나오는데, 이를 가상화를 통해 그린 컴퓨팅을 해서 전기세를 줄일 수 있다
- 하나의 서버 렉을 담당하는 스위치를 TOR SWITCH라고 하며, 이 다수의 서버 렉들이 하나의 SWITCH에 연결되있다
- Vxlan은 Frame을 캡슐화해서 라우터에서 분리되지 않고, 온전하게 다른 네트워크로 옮기게 하여, 다른 네트워크의 동일 vlan과 통신할 수 있게 한다. 또한 Overlay Network를 만들어 터널링을 통해 사설 서버끼리 통신이 가능하게 해준다
- vlan은 갯수가 적은 단점이 있다. 이를 Vxlan이 해결가능하다
Routing : Router는 직접 연결된 네트워크에 대하여 통신이 가능하다. 떨어져있는 네트워크에 대하여 해당 정보를 라우터에 입력이 되도록 해주어야 한다
- 정적 Routing : 관리자 또는 사용자가 원격지 네트워크 정보를 직접 입력하는 방식으로 단방향 네트워크 정보를 유지하기 위하여 불필요한 트래픽이 발생하지 않으므로 빠르다
- 구성 방법 : ip route '목적지 ip' 'subnet mask' 'next hop ip'
- subnet mask를 통해 목적지 ip 개수를 지정가능하다. 예를 들어, 255.255.255.255를 하면 한 ip만 지정하는 것이고, 255.255.255.0은 해당 대역의 다수의 ip들을 지정하는 것이다
- 동적 Routing : 라우터간 라우팅 프로토콜을 이용하여 자신들이 알고 있는 네트워크 정보를 서로에게 광고한다. 동일 목적지에 대하여 여러 경로를 전달 받는다면 해당 경로중 가장 빠른 경로를 선택하고, 해당 경로를 라우팅 테이블에 인스톨한다. 라우터간 통신을 끊임없이 유지하여 최신 경로를 계속해서 유지하려고 한다
- 동일 목적지에 대하여 서로 다른 방법으로 도달이 가능한 경우 이에 대한 우선 순위가 있다
- connected : 0
- static route : 1
- routing protocol : 프로토콜 별로 다른데, 예를 들어 RIP는 120이다
HQ에서는 인터넷으로 나가기 위한 default route 가 필요하고, 지사 내부와의 통신을 위한 static route가 필요하다
- default route : 라우터에서 라우팅 정보에 없는 패킷들을 기본적으로 다른 네트워크 대역으로 넘어가기 위해서 라우팅해주는 경로, 라우터에서 사용. 같은 네트워크 대역 (l2)에서 사용
- default gateway : 라우터가 라우팅 정보를 모르는 패킷들을 기본적으로 다른 네트워크 대역으로 넘어가기 위해서 라우팅 해주기 위한 경로, 주로 end device, 스위치에서 사용. 같은 네트워크 대역 (l2)에서 사용
BR에서는 HQ로 가기 위한 default root 가 필요하다
라우팅 경로를 각각 설정해준다
통신이 잘 된다
- 클라이언트는 부팅시 DHCP 프로토콜 내에 DISCOVER 메시지를 포함하여 목적지 MAC를 FF:FF:FF:FF:FF:FF ( L2 브로드캐스트 )로 전송한다
- 브로드캐스트는 다른 라우터로 전송이 안되므로, 같은 네트워크 대역의 라우터의 RELAY를 통해 다른 라우터로 넘어간다
Vmware에서는 DHCP 서버를 제공해준다. 우리는 직접 구현해야하므로 이를 꺼줘야한다. 만약 DHCP 서버가 두 개가 있다면, 먼저 브로드캐스트 메세지를 받는 쪽이 Ip를 제공해준다. 이는 매우 불안정하다
DHCP로부터 Ip를 제공받을 VMnet 2,3의 DHCP 서버 제공 기능을 끄고, apply / ok 해준다
- 본사 내부는 172.16.2.0/24 에서 주소를 할당 받는다. 지사 내부는 192.168.118.0/24 GKFEKD QKESMSEK
- 각 네트워크에서 1~100 까지는 내부적으로 사용이 예약되어 있어 실제로 클라이언트들이 제공받는 주소는 .101~ 을 할당받는다
- 임대 기간은 2 HOUR로 한다
방금전 우리는 네트워크 기반의 ACL ( NACL ) 을 적용했다
- NACL : VPC 내에 여러개의 서브넷을 생성하고, 각 서브넷에서 다른 서브넷으로의 통신시 필터링이 필요한 경우 NACL을 적용한다. 단위는 SUBNET이며, 주 목적은 SUBNET 단위의 패킷 필터링이며, OUTBOUND 적용을 주로 적용한다
- SECURITY-GROUP : INSTANCE 단위로 보안 사항을 적용하고자 하는 경우에 사용하며, 주로 INBOUND에 대하여 적용하며, OUTBOUND는 기본적으로 PERMIT ANY와 같이 설정되어 있다
- IAM : 계정관리로 크게 두 가지로 관리가 가능하다
- ROOT 사용자 : AWS 모든 서비스에 대하여 접근이 가능하며, 계정 추가, 삭제, 계정에 대한 권한 부여등을 진행한다. 즉, linux의 super user인 root와 동일하다고 생각하면 된다
- IAM 사용자 : 특정 AWS ROOT 계정 하에서 생성된 일반 사용자 ( DB관리, 개발, 사용자 )로 각 계정별로 접근할 수 있는 서비스에 대하여 지정할 수 있으며, 해당 사용자가 로그인 하는 방법도 선택할 수 있다. 이 로그인은 사이트에서 로그인하는 방법과 ACCESS KEY ID, ACCESS KEY를 사용하여 자신의 개발환경 또는 linux 와 같은 환경에서 자신의 로컬 환경과 AWS 환경을 연결하여 사용할 수 있다
- 회사내에 있는 IP 주소들이 NAT 되지 않은 상태에서 외부로 빠져나가려고 한다면, 이는 모두 차단해야 한다. 172.16.1.0/24 , 172.16.2.0/24 , 192.168.118.0/24 , 10.0.0.0/8 이 차단할 출발지 IP 이며, 목적지 IP는 ANY다
access-list를 extended 방식으로 만들고 fa0/0에서 internet으로 out할때로 적용시킨다
허나, NAT 해도 인터넷이 안된다. 이는 마지막에 deny any any가 생략되었기 때문이다
마지막에 permit any any를 추가해준다
BR 라우터에서 PING을 보내면 U가 뜬다. 이는 Destination unreachable로 방화벽에 의해서 막힌 것이다
- access-list 102 permit tcp host 211.183.3.1 host 172.16.1.100 eq = 22
- access-list 102 permit tcp host 172.16.2.100 host 172.16.1.100 eq = 22
- access-list 102 deny tcp any host 172.16.1.100 eq = 22
- access-list 102 permit ip any any
sw mode trunk를 하면, 스위치 내부에 설정된 VLAN들을 동적으로 모두 추가한다
router int fa에서 dot1q를 사용한다고 설정하여, 라우터에서 VLAN을 판단할 수 있다. dot1q를 통해 FRAME에 TAG를 작성하였으며, 이를 통해 L2 기능도 포함된 라우터는 VLAN을 구분할 수 있다
vpcs - 스위치 - 라우터 갈때 arp 과정에서 브로드 캐스트 메세지는 스위치 내부에 모두 뿌려지고, 이 스위치에 없을시 라우터에 보낸다
EXTENDED에서 앞에 TCP나 ICMP 생략 가능한가? 또한 출발지 주소만 작성 가능한가?
- 불가능 , 방식은 무조건 써야하며, 출발지 / 목적지 주소 둘 다 꼭 써야한다
WILD CARD BIT는 ACL 작성시 생략 가능한가?
- 생략 가능하며, 생략시 HOST, 즉, 자기 자신을 나타내는 것이 default로 들어간다
DHCP에서 default route가 10.10.10.1이 아니라 192.168.x.2인 이유?
- DHCP 서버가 존재하는 라우터 기준이 아닌, 이 서버를 이용해 Ip를 할당받는 장비 기준에서 생각해야한다. 이 default route는 해당 주소를 통해 Ip를 할당받는 것으로, 다른 라우터의 네트워크 대역의 장비는 해당 라우터에 대한 인터페이스 Ip를 작성해야한다. 즉, 할당 받고자 하는 장비가 도달할 Ip를 작성한다
- 해당 Ip에 도달하면 relay가 대신 DHCP 서버에 도달하여 DATA를 전달해주고, 전달 받아 온다
ACCESS-LIST 하면 안에 리스트 안에 담기는 개념인건가? 아니면 정책으로서 허용해주는 것인가?
- 두 가지 다 맞으며, 정책에 허용되는 것들을 리스트에 담는다고 보면 된다. 즉, pool과 매핑할 때 정책에 허용되는 것들이 담긴 리스트와 매핑한다고 보면 된다
ACL 작성시, standard와 extend 서로 작성법이 다른건가?
- 아니다. 위에서 두 방식을 달리한 것은 Standard가 이름 (word) 방식으로 사용했기 때문이다