본문 바로가기

IT 엔지니어/네트워크

GRE Tunnel

GRE TUNNELING

[ GRE Tunneling ]

  • 암호 및 인증 기능 없음 → IPSec으로 보안 강화해야 함
  • 물리적으로 서로 만나는 방향을 잡아줘야 함
    • 논리적인 연결이지만 패킷이 움직이는 경로는 물리적인 경로를 따라가기 때문

< Router 설정 >

int tunnel [번호]

tunnel mode gre ip

tunnel source source [내 Router에서 나가는 Serial 번호]

tunnel destination [상대 Router 들어가는 쪽 인터페이스 IP]

<R1>

Router(config)#int tunnel 0

Router(config-if)#ip add 10.10.10.1 255.255.255.0

Router(config-if)#no sh

Router(config-if)#tunnel mode gre ip

Router(config-if)#tunnel source s0/0/1

Router(config-if)#tunnel destination 1.1.34.2

<R2>

Router(config)#int tunnel 0

Router(config-if)#ip add 10.10.10.2 255.255.255.0

Router(config-if)#no sh

Router(config-if)#tunnel mode gre ip

Router(config-if)#tunnel source s0/0/0

Router(config-if)#tunnel destination 1.1.23.1

  • 생성한 Tunnel IP도 Routing(통신하려는 Protocol로) 포함
  • 인터페이스 방향을 같은 방향으로 왔다 갔다 할 수 있게 source/destination 설정해야 함

ACL

Access Control List

[ ACL (Access Control List) ]

  • Standard ACL : 출발지 Network/IP Address만 참조

- 1~99

  • Extended ACL : 출발지/목적지 Network/IP Address 참조

- 100~199

[ In/Out ]

패킷이 흐르는 방향을 기준으로 (패킷의 이동 경로, 대상에서 기준점까지)

Router 기준으로 들어가면 In 나가면 Out

[ 설정 시 유의사항 ]

< 규칙 순서가 중요 >

  • ACL은 위에서 아래로 순차적으로 규칙 설정을 수행
  • 구체적인 규칙(호스트 단위처럼 하나하나에 주는 규칙)은 상단(처음에), 일반적인 네트워크 단위, Subnet 단위 규칙은 하단에(나중에)
  • 호스트 단위, 네트워크 단위, Subnet 단위, 마지막 전체 순으로 구성해야 안정적으로 작동

< 암시적 차단 >

  • 모든 ACL에는 마지막에 암시적으로 Deny any가 포함되어 있음
  • permit 하지 않은 모든 트래픽은 기본적으로 차단됨

< 반대의 경우도 동일(하지만 반대의 경우 신중히 사용해야 함) >

  • ACL 리스트를 구성할 때는 위부터 순서대로 읽기 때문에 생각 잘 하고 구성해야 함
  • 호스트 단위, 네트워크 단위, Subnet 단위, 마지막 전체 순으로 구성해야 안정적으로 작동


STANDARD ACL

[ Standard ACL ]

  • 단순히 특정 네트워크에서 들어오는 트래픽을 모두 차단하고 싶을 때 사용

ex) 192.168.10.0 네트워크에서 오는 트래픽은 차단하고, 나머지는 허용

Router(config)#access-list 1 deny 192.168.10.0 0.0.0.255

Router(config)#access-list 1 permit any

암묵적 deny로 하나가 차단되면 전체가 차단되기 때문에 전체 허용해 줘야 함

Router(config)#int fa0/1

Router(config-if)#ip access-group 1 out

Router(config)#access-list 2 deny host 192.168.10.2

Router(config)#access-list 1 permit any

Router(config)#int fa0/1

Router(config-if)#ip access-group 1 out

EXTENDED ACL

[ Extended ACL ]

  • 특정 서비스나 목적지에 대한 세부적인 제어가 필요할 때 사용

ex) 192.168.10.0 네트워크에서 HTTP 트래픽 및 ICMP 차단하고, 다른 서비스는 허용

< web/ping 차단 >

Router(config)#access-list 101 deny tcp any 192.168.10.0 0.0.0.255 eq www

web 차단

Router(config)#access-list 101 deny icmp any 192.168.10.0 0.0.0.255 echo

ping 차단

Router(config)#access-list 101 permit ip any any

Router(config)#int fa0/0

Router(config-if)#ip access-group 101 out

< Access List 확인 명령어 >

Router(config)#do show access-list


Router(config)#access-list [100] [deny] [icmp] [any] host [192.168.20.23] [echo]

ACL 번호, 허용/차단, 프로토콜, 출발지, 목적지, 서비스/포트

목적지가 네트워크 대역일 경우 host를 빼고 네트워크 대역 + 와일드카드마스크로 적용

Router(config)#access-list 100 permit ip [any] [any]

출발지, 목적지

Router(config)#access-list 100 permit ip [any] [any]

Router(config)#int [fa0/0]

적용할 인터페이스

Router(config-if)#ip access-group [100] [out]

인터페이스에 해당 그룹 적용

[ 차단할 수 있는 프로토콜 종류들 ]

TCP, UDP, ICMP, IP, GRE, OSPF, EIGRP 등

< 프로토콜 허용 스크립트 예시 >

WEB(HTTP) 허용

access-list 100 permit tcp host 192.169.20.2 host 192.168.20.23 eq www

FTP 허용

access-list 100 permit tcp host 192.169.20.2 host 192.168.20.23 eq ftp

ICMP(ping) 허용

access-list 100 permit icmp 192.168.60.0 0.0.0.255 host 192.169.10.100 echo

< 다중 적용 예시 >

1. Server1 (192.168.20.23)

특정 네트워크와 호스트에서 Server1의 WEB(HTTP)과 FTP 트래픽만 허용

(허용 대상)

172.16.10.0/24 네트워크

192.168.30.0/24 네트워크

192.169.20.2 (특정 호스트)

access-list 100 permit tcp host 192.169.20.2 host 192.168.20.23 eq www

access-list 100 permit tcp host 192.169.20.2 host 192.168.20.23 eq ftp

access-list 100 permit tcp 172.16.10.0 0.0.0.255 host 192.168.20.23 eq www

access-list 100 permit tcp 172.16.10.0 0.0.0.255 host 192.168.20.23 eq ftp

access-list 100 permit tcp 192.168.30.0 0.0.0.255 host 192.168.20.23 eq www

access-list 100 permit tcp 192.168.30.0 0.0.0.255 host 192.168.20.23 eq ftp

access-list 100 deny ip any any

FTP = 보통 TCP Protocol 사용

DHCP = 보통 UDP Protocol 사용

<DHCP / FTP 차단 예시>

192.168.10.0/24 대역과 172.16.20.10, 20, 30 호스트에 대해 FTP/DHCP 차단

Router(config)# access-list 101 deny tcp 192.168.10.0 0.0.0.255 any eq 21

Router(config)# access-list 101 deny tcp 192.168.10.0 0.0.0.255 any eq 20

Router(config)# access-list 101 deny udp 192.168.10.0 0.0.0.255 any eq 67

Router(config)# access-list 101 deny udp 192.168.10.0 0.0.0.255 any eq 68

Router(config)# access-list 101 deny tcp host 172.16.20.10 any eq 21

Router(config)# access-list 101 deny tcp host 172.16.20.10 any eq 20

Router(config)# access-list 101 deny udp host 172.16.20.10 any eq 67

Router(config)# access-list 101 deny udp host 172.16.20.10 any eq 68

Router(config)# access-list 101 deny tcp host 172.16.20.20 any eq 21

Router(config)# access-list 101 deny tcp host 172.16.20.20 any eq 20

Router(config)# access-list 101 deny udp host 172.16.20.20 any eq 67

Router(config)# access-list 101 deny udp host 172.16.20.20 any eq 68

Router(config)# access-list 101 deny tcp host 172.16.20.30 any eq 21

Router(config)# access-list 101 deny tcp host 172.16.20.30 any eq 20

Router(config)# access-list 101 deny udp host 172.16.20.30 any eq 67

Router(config)# access-list 101 deny udp host 172.16.20.30 any eq 68

Router(config)# access-list 101 permit ip any any

이 후 인터페이스 방향에 맞게 In / Out 설정

 



 

IPSec

[ IPSec ]

  • 네트워크에서 데이터 무결성, 기밀성, 인증을 제공하는 보안 프로토콜
  • VPN에서 주로 사용되며,데이터 패킷을 암호화해 안전한 통신을 보장
  • GRE Tunnel : 두 네트워크를 연결하는 가상의 터널
    • 암호화를 제공하지 않기 때문에 IPsec을 통해 암호화 적용하여 보안 강화

IPSec 형성 조건

[ ISAKMP 협상 ]

  • ISAKMP : 두 장치가 보안 터널을 설정하기 위한 첫 번째 단계
  • ISAKMP 설정이 양쪽에 동일하게 설정되어 있어야만 협상 성공

✔ 협상 조건

    • ISAKMP 정책 일치 (암호화 방식, 해시 방식, 인증 방식 등)
    • Pre-shared Key (사전 공유 키) 동일하게 설정

[ IPsec 터널링 ]

  • ISAKMP가 성공하면 IPsec 터널이 생성됨
  • 양쪽 장치에 동일한 IPsec Transform-set이 설정되어 있어야 함

✔ IPsec 조건

    • Transform-set (암호화/인증 설정) 동일
    • Crypto Map 설정 동일
    • ACL에서 트래픽 허용 조건 일치

GRE Tunneling 설정되어있는 상태

[ ACL 설정 ]

<R1>

Router(config)#access-list 100 permit gre host 1.1.23.1 host 1.1.34.2

Router(config)#access-list 100 permit gre 192.168.10.0 0.0.0.255 host 1.1.34.2

[ 암호화 정책 ]

#crypto isakmp policy [정책 ID]

#authentication pre-share

= 사전 공유 키를 사용하여 상대방 인증

#encryption 3des

= 데이터 암호화 방식

#hash md5

= 데이터 무결성 검증 방식

Router(config)#crypto isakmp policy 10

Router(config-isakmp)#authentication pre-share

Router(config-isakmp)#encryption 3des

Router(config-isakmp)#hash md5

[ IPsec 설정 ]

#crypto isakmp key [사전 공유 키] address [상대방 IP]

#crypto ipsec transform-set test esp-3des esp-md5-hmac

= 데이터 암호화 및 인증 설정 방식

Router(config)#crypto isakmp key 1234 address 1.1.34.2

Router(config)#crypto ipsec transform-set test esp-3des esp-md5-hmac

[ Crypto Map 설정 ]

#crypto map vpn-map 10 ipsec-isakmp

= 암호화 매핑 설정

#match address 100

= 동일한 ACL 번호 입력

#set peer [상대방 IP]

#set transform-set [test]

= 암호화 인증 방식

Router(config)#crypto map vpn-map 10 ipsec-isakmp

Router(config-crypto-map)#match address 100

Router(config-crypto-map)#set peer 1.1.34.2

Router(config-crypto-map)#set transform-set test

[ 암호화 적용 ]

해당 인터페이스에 vpn-map을 적용해 IPsec 보안 활성화

Router(config-crypto-map)#int s0/0/1

Router(config-if)#crypto map vpn-map

[ 확인 방법 ]

PC끼리 ping 돌리고 Simulation 해서

Type : IPSec 올라오면 IPsec이 성공적으로 작동


CISCO ASA 방화벽 및 ROUTER 설정

  • Cisco ASA 방화벽 및 Router를 이용한 네트워크 방화벽 구성 및 NAT 설정
  • Cisco ASA 방화벽을 이용한 기본 인터넷 연결 및 보안 구성을 위한 설정
  • 방화벽
    • 네트워크 보안을 강화하기 위한 강력한 솔루션
    • 주로 기업 네트워크에서 내부 네트워크 보호, 트래픽 제어, 인터넷 접근 관리 등 수행
  • security-level이 높은 곳에서 낮은 곳은 통신 허용, 낮은 곳에서 높은 곳으로는 통신 차단됨

  • DHCP로 내부 Client에 IP 자동 할당
  • NAT 설정으로 내부 IP → 외부 IP로 변환
  • ACL 설정으로 ICMP 및 TCP 트래픽 허용

[ Router 설정 ]

<R1>

Router(config)# int fa0/1

Router(config-if)# ip add 1.1.1.1 255.255.255.0

→ 여기까지만 설정하면 방화벽이 트래픽을 차단하고 있기 때문에 R1과 PC1,2 통신 X

[ 방화벽(ASA) 설정 ]

< 내부 네트워크 : LAN >

nameif inside

내부 네트워크는 신뢰할 수 있는 구간이기 때문에 최고 보안 레벨 적용

192.168.1.1 = 내부 네트워크의 Gateway

ciscoasa(config)# int vl 1

ciscoasa(config-if)# ip add 192.168.1.1 255.255.255.0

ciscoasa(config-if)# nameif inside

ciscoasa(config-if)# security-level 100

(보안 레벨 100 설정)

< 외부 네트워크 : WAN >

nameif outside

외부 네트워크는 신뢰할 수 없는 구간이기 때문에 최저 보안 레벨 적용

1.1.1.2 = 외부 네트워크에 연결될 때 사용하는 공인 IP 주소

ciscoasa(config)# int vl 2

ciscoasa(config-if)# ip add 1.1.1.2 255.255.255.0

ciscoasa(config-if)# nameif outside

ciscoasa(config-if)# security-level 0

(보안 레벨 0 설정)

< VLAN 할당 >

e0/0을 VLAN2에 할당

(e0/1은 이미 기본 VLAN1에 속해 있기 때문에 별도 설정 X)

ciscoasa(config)# int e0/0

ciscoasa(config-if)# switchport access vl 2

< DHCP 및 DNS 설정 >

DHCP 설정으로 내부 네트워크에서 IP 주소 자동 할당

DHCP 범위 : 192.168.1.5 ~ 192.168.1.35 지정

DNS 서버로 Google DNS (8.8.8.8) 지정

ciscoasa(config)# dhcpd add 192.168.1.5-192.168.1.35 inside

ciscoasa(config)# dhcpd dns 8.8.8.8 interface inside

< 기본 Routing 설정 >

기본 Routing을 통해 인터넷 트래픽을 Router의 IP인 1.1.1.1로 전송

0.0.0.0 0.0.0.0 = Default Route (기본 경로)

1.1.1.1 = Next Hop IP Address (트래픽을 전달할 Gateway)

ciscoasa(config)# route outside 0.0.0.0 0.0.0.0 1.1.1.1

< NAT 설정 >

내부 IP 주소를 외부 IP 주소로 변환

dynamic interface는 외부 인터페이스의 IP 주소를 동적으로 할당받아 NAT 변환 수행

ciscoasa(config)# object network LAN

ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0

ciscoasa(config-network-object)# nat (inside,outside) dynamic interface

< ACL 설정 >

ACL을 통해 모든 ICMP/TCP 트래픽 허용

access-group으로 해당 ACL을 외부 인터페이스에 적용

ciscoasa(config)# access-list in_to_internet extended permit icmp any any

ciscoasa(config)# access-list in_to_internet extended permit tcp any any

ciscoasa(config)# access-group in_to_internet in interface outside

< PC DHCP 설정 >

외부 네트워크 PC IP DHCP 할당

[ 결과 ]

외부 네트워크에서 내부 네트워크로만 통신 됨 (내부 → 외부 X)


PORT-SECURITY

[ Port-Security ]

  • 포트 보안 기능을 활성화해 네트워크 보안 강화
    • Switch Port 도청 방지
    • MAC Address 스캐닝 방지
    • 불법 장치 연결 차단
    • Spoofing, Sweeping 공격 방어

#switchport mode access

Port Security는 Access Port에서만 작동함

#switchport port-security

포트 보안 기능 활성화

#switchport port-security maximum [연결 가능한 최대 장치수]

초과 시 보안 위반 발생으로 자동으로 shutdown 됨

#switchport port-security violation shutdown

포트 보안 규칙 위반 시 해당 포트가 자동으로 sh 되도록 설정

[ 차단된 포트 복구 명령어 ]

Switch(config-if)# shutdown

Switch(config-if)# no shutdown

Switch(config)#interface fastEthernet 0/23

Switch(config-if)#switchport mode access

Switch(config-if)#switchport port-security

Switch(config-if)#switchport port-security maximum 2

Switch(config-if)#switchport port-security violation shutdown

[ 결과 ]

정상적으로 포트 연결되어 있음

ping 세 번째 돌리고 shutdown된 상태

해당 포트에 최대 2개의 장치만 연결 가능

3번째 장치가 연결되면 포트를 자동으로 Shutdown (차단)


등록된 MAC Address 이외 모두 차단

[ 등록된 PC MAC Address 확인 ]

Switch(config)#do show port-security address

초기 Mac Table (아무것도 없음)

[ PC MAC Address 확인 ]

C:\>ipconfig /all


Switch(config)#int fa0/23

Switch(config-if)#switchport mode access

Switch(config-if)#switchport port-security

Switch(config-if)#switchport port-security mac-address 0030.A30A.9B61

Switch(config-if)#switchport port-security violation shutdown

[ 결과 ]

17번 PC MAC 주소 등록되어 포트 정상 연결

추가 PC 연결 후 IP 입력하면 포트 차단됨

추가된 PC도 허용하고 싶다면?

maximum 수 조정 후 MAC 주소 등록, 포트 복구

Switch(config-if)#switchport port-security maximum 2

Switch(config-if)#switchport port-security mac-address 0002.1721.2265

Switch(config-if)#shutdown

Switch(config-if)#no shutdown

정상적으로 연결됨

 

'IT 엔지니어 > 네트워크' 카테고리의 다른 글

Routing protocol -2  (0) 2025.05.01
Routing Protocol  (0) 2025.04.30
VLAN  (0) 2025.04.29
VLAN / VTP  (0) 2025.04.28
Switch Looping (STP/RSTP)  (0) 2025.04.28