8장. IP 터널 구성
VPN과 유사하게 IP 터널은 인터넷과 같은 세 번째 네트워크를 통해 직접 연결합니다. 그러나 모든 터널 프로토콜이 암호화를 지원하는 것은 아닙니다.
터널을 설정하는 두 네트워크의 라우터에는 두 개 이상의 인터페이스가 필요합니다.
- 로컬 네트워크에 연결된 인터페이스 한 개
- 터널이 설정된 네트워크에 연결된 인터페이스 중 하나입니다.
터널을 설정하려면 원격 서브넷의 IP 주소가 있는 두 라우터에 가상 인터페이스를 만듭니다.
NetworkManager는 다음 IP 터널을 지원합니다.
- GRE(Generic Routing Encapsulation)
- IPv6(IP6GRE)를 통한 일반 라우팅 캡슐화
- GRETAP(Generic Routing Encapsulation Terminal Access Point)
- IPv6를 통한 일반 라우팅 캡슐화 터미널 액세스 지점(IP6GRETAP)
- IPv4 over IPv4 (IPIP)
- IPv4 over IPv6 (IPIP6)
- IPv6 over IPv6 (IP6IP6)
- 간단한 인터넷 전환 (SIT)
유형에 따라 이러한 터널은 OSI(Open Systems Interconnection) 모델의 계층 2 또는 3에서 작동합니다.
8.1. IPv4 패킷에서 IPv4 트래픽을 캡슐화하도록 IPIP 터널 구성 링크 복사링크가 클립보드에 복사되었습니다!
IP over IP(IPIP) 터널은 OSI 계층 3에서 작동하며 RFC 2003 에 설명된 대로 IPv4 패킷의 IPv4 트래픽을 캡슐화합니다.
IPIP 터널을 통해 전송되는 데이터는 암호화되지 않습니다. 보안상의 이유로, 예를 들어 HTTPS와 같은 다른 프로토콜에 의해 이미 암호화된 데이터에 대해서만 터널을 사용하십시오.
IPIP 터널은 유니캐스트 패킷만 지원합니다. 멀티 캐스트를 지원하는 IPv4 터널이 필요한 경우 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
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원격
및로컬
매개 변수는 원격 및 로컬 라우터의 공용 IP 주소를 설정합니다.IPv4 주소를
tun0
장치로 설정합니다.nmcli connection modify tun0 ipv4.addresses '10.0.1.1/30'
# nmcli connection modify tun0 ipv4.addresses '10.0.1.1/30'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 개의 사용 가능한 IP 주소가 있는
/30
서브넷으로는 터널에 충분합니다.수동 IPv4 구성을 사용하도록
tun0
연결을 구성합니다.nmcli connection modify tun0 ipv4.method manual
# nmcli connection modify tun0 ipv4.method manual
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 트래픽을
172.16.0.0/24
네트워크로 라우팅하는 정적 경로를 라우터 B의 터널 IP로 추가합니다.nmcli connection modify tun0 +ipv4.routes "172.16.0.0/24 10.0.1.2"
# nmcli connection modify tun0 +ipv4.routes "172.16.0.0/24 10.0.1.2"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tun0
연결을 활성화합니다.nmcli connection up tun0
# nmcli connection up tun0
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 라우터에서 다음을 수행합니다.
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
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원격
및로컬
매개 변수는 원격 및 로컬 라우터의 공용 IP 주소를 설정합니다.IPv4 주소를
tun0
장치로 설정합니다.nmcli connection modify tun0 ipv4.addresses '10.0.1.2/30'
# nmcli connection modify tun0 ipv4.addresses '10.0.1.2/30'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 수동 IPv4 구성을 사용하도록
tun0
연결을 구성합니다.nmcli connection modify tun0 ipv4.method manual
# nmcli connection modify tun0 ipv4.method manual
Copy to Clipboard Copied! Toggle word wrap Toggle overflow traffic을
192.0.2.0/24
네트워크로 라우팅하는 정적 경로를 라우터 A의 터널 IP로 추가합니다.nmcli connection modify tun0 +ipv4.routes "192.0.2.0/24 10.0.1.1"
# nmcli connection modify tun0 +ipv4.routes "192.0.2.0/24 10.0.1.1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tun0
연결을 활성화합니다.nmcli connection up tun0
# nmcli connection up tun0
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