8.2. IPv4 패킷에서 계층-3 트래픽을 캡슐화하도록 GRE 터널 구성
GRE(Generic Routing Encapsulation) 터널은 RFC 2784 에 설명된 대로 IPv4 패킷의 계층-3 트래픽을 캡슐화합니다. GRE 터널은 유효한 이더넷 유형을 사용하여 모든 계층 3 프로토콜을 캡슐화할 수 있습니다.
GRE 터널을 통해 전송되는 데이터는 암호화되지 않습니다. 보안상의 이유로, 예를 들어 HTTPS와 같은 다른 프로토콜에 의해 이미 암호화된 데이터에 대해서만 터널을 사용하십시오.
예를 들어 다음 다이어그램에 표시된 대로 두 RHEL 라우터 간에 GRE 터널을 생성하여 인터넷을 통해 두 개의 내부 서브넷을 연결할 수 있습니다.
사전 요구 사항
- 각 RHEL 라우터에는 로컬 서브넷에 연결된 네트워크 인터페이스가 있습니다.
- 각 RHEL 라우터에는 인터넷에 연결된 네트워크 인터페이스가 있습니다.
프로세스
네트워크 A의 RHEL 라우터에서 다음을 수행합니다.
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
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원격
및로컬
매개 변수는 원격 및 로컬 라우터의 공용 IP 주소를 설정합니다.중요gre0
장치 이름이 예약되어 있습니다.gre1
또는 다른 이름을 장치에 사용합니다.IPv4 주소를
gre1
장치로 설정합니다.nmcli connection modify gre1 ipv4.addresses '10.0.1.1/30'
# nmcli connection modify gre1 ipv4.addresses '10.0.1.1/30'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 개의 사용 가능한 IP 주소가 있는
/30
서브넷으로는 터널에 충분합니다.수동 IPv4 구성을 사용하도록
gre1
연결을 구성합니다.nmcli connection modify gre1 ipv4.method manual
# nmcli connection modify gre1 ipv4.method manual
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 트래픽을
172.16.0.0/24
네트워크로 라우팅하는 정적 경로를 라우터 B의 터널 IP로 추가합니다.nmcli connection modify gre1 +ipv4.routes "172.16.0.0/24 10.0.1.2"
# nmcli connection modify gre1 +ipv4.routes "172.16.0.0/24 10.0.1.2"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gre1
연결을 활성화합니다.nmcli connection up gre1
# nmcli connection up gre1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 패킷 전달을 활성화합니다.
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
네트워크 B의 RHEL 라우터에서 다음을 수행합니다.
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
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원격
및로컬
매개 변수는 원격 및 로컬 라우터의 공용 IP 주소를 설정합니다.IPv4 주소를
gre1
장치로 설정합니다.nmcli connection modify gre1 ipv4.addresses '10.0.1.2/30'
# nmcli connection modify gre1 ipv4.addresses '10.0.1.2/30'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 수동 IPv4 구성을 사용하도록
gre1
연결을 구성합니다.nmcli connection modify gre1 ipv4.method manual
# nmcli connection modify gre1 ipv4.method manual
Copy to Clipboard Copied! Toggle word wrap Toggle overflow traffic을
192.0.2.0/24
네트워크로 라우팅하는 정적 경로를 라우터 A의 터널 IP로 추가합니다.nmcli connection modify gre1 +ipv4.routes "192.0.2.0/24 10.0.1.1"
# nmcli connection modify gre1 +ipv4.routes "192.0.2.0/24 10.0.1.1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gre1
연결을 활성화합니다.nmcli connection up gre1
# nmcli connection up gre1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 패킷 전달을 활성화합니다.
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
각 RHEL 라우터에서 다른 라우터의 내부 인터페이스의 IP 주소를 ping합니다.
라우터 A에서 ping
172.16.0.1
:ping 172.16.0.1
# ping 172.16.0.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 라우터 B에서
192.0.2.1
을 ping합니다.ping 192.0.2.1
# ping 192.0.2.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow