9.2. IPv4 패킷의 계층-3 트래픽을 캡슐화하도록 nmcli를 사용하여 GRE 터널 구성

GRE(Generic Routing Encapsulation) 터널은 RFC 2784 에 설명된 대로 IPv4 패킷의 계층-3 트래픽을 캡슐화합니다. GRE 터널은 유효한 이더넷 유형으로 모든 계층 3 프로토콜을 캡슐화할 수 있습니다.

중요

GRE 터널을 통해 전송되는 데이터는 암호화되지 않습니다. 보안상의 이유로 이미 암호화된 데이터(예: HTTPS)에 의해서만 터널을 사용합니다.

예를 들어 다음 다이어그램에 표시된 대로 두 RHEL 라우터 간에 GRE 터널을 생성하여 인터넷을 통해 두 개의 내부 서브넷을 연결할 수 있습니다.

GRE 터널
참고

gre0 장치 이름이 예약되어 있습니다. gre1 또는 장치에 다른 이름을 사용합니다.

사전 요구 사항

  • 각 RHEL 라우터에는 로컬 서브넷에 연결된 네트워크 인터페이스가 있습니다.
  • 각 RHEL 라우터에는 인터넷에 연결된 네트워크 인터페이스가 있습니다.

절차

  1. 네트워크 A의 RHEL 라우터에서 다음을 수행합니다.

    1. gre1 이라는 GRE 터널 인터페이스를 만듭니다.

      # nmcli connection add type ip-tunnel ip-tunnel.mode gre con-name gre1 ifname gre1 remote 198.51.100.5 local 203.0.113.10

      remotelocal 매개변수는 원격의 공용 IP 주소와 로컬 라우터를 설정합니다.

    2. IPv4 주소를 gre1 장치로 설정합니다.

      # nmcli connection modify gre1 ipv4.addresses '10.0.1.1/30'

      두 개의 IP 주소가 있는 /30 서브넷이면 터널에 충분합니다.

    3. 수동 IPv4 구성을 사용하도록 gre1 연결을 구성합니다.

      # nmcli connection modify gre1 ipv4.method manual
    4. 트래픽을 172.16.0.0/24 네트워크로 라우팅하는 정적 경로를 라우터 B의 터널 IP로 추가합니다.

      # nmcli connection modify gre1 +ipv4.routes "172.16.0.0/24 10.0.1.2"
    5. gre1 연결을 활성화합니다.

      # nmcli connection up gre1
    6. 패킷 전달을 활성화합니다.

      # echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
      # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
  2. 네트워크 B의 RHEL 라우터에서 다음을 수행합니다.

    1. gre1 이라는 GRE 터널 인터페이스를 만듭니다.

      # nmcli connection add type ip-tunnel ip-tunnel.mode gre con-name gre1 ifname gre1 remote 203.0.113.10 local 198.51.100.5

      remotelocal 매개변수는 원격의 공용 IP 주소와 로컬 라우터를 설정합니다.

    2. IPv4 주소를 gre1 장치로 설정합니다.

      # nmcli connection modify gre1 ipv4.addresses '10.0.1.2/30'
    3. 수동 IPv4 구성을 사용하도록 gre1 연결을 구성합니다.

      # nmcli connection modify gre1 ipv4.method manual
    4. 트래픽을 192.0.2.0/24 네트워크로 라우팅하는 정적 경로를 라우터 A의 터널 IP로 추가합니다.

      # nmcli connection modify gre1 +ipv4.routes "192.0.2.0/24 10.0.1.1"
    5. gre1 연결을 활성화합니다.

      # nmcli connection up gre1
    6. 패킷 전달을 활성화합니다.

      # echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
      # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf

검증

  1. 각 RHEL 라우터에서 다른 라우터의 내부 인터페이스의 IP 주소를 ping합니다.

    1. 라우터 A에서 172.16.0.1 을 ping합니다.

      # ping 172.16.0.1
    2. 라우터 B에서 192.0.2.1 ping :

      # ping 192.0.2.1

추가 리소스

  • nmcli(1) 도움말 페이지
  • nm-settings(5) 도움말 페이지