9장. IP 터널 구성
VPN과 유사하게 IP 터널은 인터넷과 같은 세 번째 네트워크를 통해 직접 연결합니다. 그러나 모든 터널 프로토콜이 암호화를 지원하는 것은 아닙니다.
터널을 설정하는 두 네트워크의 라우터에는 두 개 이상의 인터페이스가 필요합니다.
- 로컬 네트워크에 연결된 인터페이스 1개
- 터널이 설정된 네트워크를 통해 연결된 하나의 인터페이스입니다.
터널을 설정하려면 원격 서브넷에서 IP 주소를 사용하여 두 라우터 모두에서 가상 인터페이스를 만듭니다.
NetworkManager는 다음 IP 터널을 지원합니다.
- GRE(Generic Routing Encapsulation)
- IPv6를 통한 일반 라우팅 Encapsulation (IP6GRE)
- 일반 라우팅 Encapsulation 터미널 액세스 포인트 (GRETAP)
- 일반 라우팅 Encapsulation IPv6 (IP6GRETAP)을 통한 일반 라우팅 엔드 포인트 액세스
- IPv4 over IPv4 (IPIP)
- IPv4 over IPv6 (IPIP6)
- IPv6 over IPv6 (IP6IP6)
- 간단한 인터넷 전환 (SIT)
유형에 따라 이러한 터널은 OSI(Open Systems Interconnection) 모델의 계층 2 또는 3에서 작동합니다.
9.1. IPv4 패킷에서 IPv4 트래픽을 캡슐화하도록 nmcli를 사용하여 IPIP 터널 구성
IP(IP over IP) 터널은 OSI 계층 3에서 작동하며 RFC 2003 에 설명된 대로 IPv4 패킷의 IPv4 트래픽을 캡슐화합니다.
IPIP 터널을 통해 전송되는 데이터는 암호화되지 않습니다. 보안상의 이유로 이미 암호화된 데이터(예: HTTPS)에 의해서만 터널을 사용합니다.
IPIP 터널은 유니캐스트 패킷만 지원합니다. 멀티 캐스트를 지원하는 IPv4 터널이 필요한 경우 nmcli를 사용하여 IPv4 패킷에서 계층-3 트래픽을 캡슐화하는 GRE 터널 구성을 참조하십시오.
예를 들어 다음 다이어그램에 표시된 대로 두 RHEL 라우터 간에 IPIP 터널을 생성하여 인터넷을 통해 두 개의 내부 서브넷을 연결할 수 있습니다.
사전 요구 사항
- 각 RHEL 라우터에는 로컬 서브넷에 연결된 네트워크 인터페이스가 있습니다.
- 각 RHEL 라우터에는 인터넷에 연결된 네트워크 인터페이스가 있습니다.
- 터널을 통해 전송하려는 트래픽은 IPv4 유니캐스트입니다.
절차
네트워크 A의 RHEL 라우터에서 다음을 수행합니다.
이름이
tun0
인 IPIP 터널 인터페이스를 만듭니다.# nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 198.51.100.5 local 203.0.113.10
remote
및local
매개변수는 원격의 공용 IP 주소와 로컬 라우터를 설정합니다.IPv4 주소를
tun0
장치로 설정합니다.# nmcli connection modify tun0 ipv4.addresses '10.0.1.1/30'
두 개의 IP 주소가 있는
/30
서브넷이면 터널에 충분합니다.수동 IPv4 구성을 사용하도록
tun0
연결을 구성합니다.# nmcli connection modify tun0 ipv4.method manual
트래픽을
172.16.0.0/24
네트워크로 라우팅하는 정적 경로를 라우터 B의 터널 IP로 추가합니다.# nmcli connection modify tun0 +ipv4.routes "172.16.0.0/24 10.0.1.2"
tun0
연결을 활성화합니다.# nmcli connection up tun0
패킷 전달을 활성화합니다.
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
네트워크 B의 RHEL 라우터에서 다음을 수행합니다.
이름이
tun0
인 IPIP 터널 인터페이스를 만듭니다.# nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 203.0.113.10 local 198.51.100.5
remote
및local
매개변수는 원격 및 로컬 라우터의 공용 IP 주소를 설정합니다.IPv4 주소를
tun0
장치로 설정합니다.# nmcli connection modify tun0 ipv4.addresses '10.0.1.2/30'
수동 IPv4 구성을 사용하도록
tun0
연결을 구성합니다.# nmcli connection modify tun0 ipv4.method manual
트래픽을
192.0.2.0/24
네트워크로 라우팅하는 정적 경로를 라우터 A의 터널 IP로 추가합니다.# nmcli connection modify tun0 +ipv4.routes "192.0.2.0/24 10.0.1.1"
tun0
연결을 활성화합니다.# nmcli connection up tun0
패킷 전달을 활성화합니다.
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
검증
각 RHEL 라우터에서 다른 라우터의 내부 인터페이스의 IP 주소를 ping합니다.
라우터 A에서
172.16.0.1
을 ping합니다.# ping 172.16.0.1
라우터 B에서
192.0.2.1
ping :# ping 192.0.2.1
추가 리소스
-
nmcli(1) 도움말
페이지 -
nm-settings(5) 도움말
페이지