홈으로 돌아가기

VXLAN MacSec: DC 간 인프라 연결

이 기사는 서로 다른 제공자의 데이터 센터 간 보안 L2 네트워크를 생성하기 위한 MacSec을 사용한 VXLAN 터널 구성을 설명합니다. Linux 명령어, tcpdump 예제 및 세 번째 노드까지의 확장이 제공됩니다. 중급/시니어 전문가에게 적합합니다.

VXLAN + MacSec 암호화로 데이터 센터 연결 방법
Advertisement 728x90

# VXLAN과 MacSec으로 분산 인프라 연결하기

공공 인터넷 없이 데이터센터 간 가상 머신을 연결하려면 MacSec 암호화로 보호된 VXLAN 터널을 사용합니다. 이를 통해 최소 오버헤드로 L2 연결성을 제공합니다. 설정에는 두 제공업체가 포함됩니다: DC1 (eth0의 IP 192.0.2.135, 데이터베이스와 백업 호스팅), DC2 (ens1의 IP 198.51.100.75, 웹사이트와 백업 실행).

각 노드에서 VNI 1과 UDP 포트 4789를 사용해 VXLAN 인터페이스를 생성합니다. 예측 가능성을 위해 MAC 주소를 수동으로 설정합니다.

DC1:

Google AdInline article slot
sudo ip link add vxlan0 type vxlan id 1 dstport 4789 dev eth0
sudo ip link set vxlan0 up
sudo ip link set vxlan0 address de:ad:be:ef:00:01
sudo bridge fdb append to 00:00:00:00:00:00 dst 198.51.100.75 dev vxlan0

DC2:

sudo ip link add vxlan0 type vxlan id 1 dstport 4789 dev ens1
sudo ip link set vxlan0 up
sudo ip link set vxlan0 address de:ad:be:ef:00:02
sudo bridge fdb append to 00:00:00:00:00:00 dst 192.0.2.135 dev vxlan0

IP 할당 후 (예: 10.255.255.1/2), ping과 SSH로 연결성을 테스트합니다. Tcpdump에서 VXLAN 트래픽이 ICMP/TCP 패킷을 캡슐화하는 것을 확인할 수 있습니다.

MacSec으로 트래픽 암호화하기

일반 VXLAN은 기밀성을 제공하지 않습니다. MacSec (802.1AE)은 MAC 주소에 연결된 L2 암호화를 추가로 제공합니다. 오버헤드가 낮고, tcpdump에서도 트래픽이 읽을 수 없습니다.

Google AdInline article slot

DC1:

sudo ip link add link vxlan0 macsec0 type macsec encrypt on
sudo ip macsec add macsec0 tx sa 0 pn 1 on key 01 0123456789abcdef0123456789abcdef
sudo ip link set macsec0 up
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:02 port 1
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:02 port 1 sa 0 pn 1 on key 02 fedcba9876543210fedcba9876543210
sudo ip address add 192.168.255.1/24 dev macsec0

DC2:

sudo ip link add link vxlan0 macsec0 type macsec encrypt on
sudo ip macsec add macsec0 tx sa 0 pn 1 on key 02 fedcba9876543210fedcba9876543210
sudo ip link set macsec0 up
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:01 port 1
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:01 port 1 sa 0 pn 1 on key 01 0123456789abcdef0123456789abcdef
sudo ip address add 192.168.255.2/24 dev macsec0

Tcpdump에서 패킷은 PN과 SCI가 포함된 암호화된 802.1AE 프레임으로 나타납니다. 내부 트래픽 (ICMP, TCP)은 숨겨집니다.

Google AdInline article slot

MacSec의 TLS 대비 장점:

  • L2 레벨에서 작동.
  • 최소 오버헤드.
  • 추가 프로토콜 없이 MAC에 바인딩.

세 번째 노드 확장하기

홈 랩 (DC3, enp3s0의 IP 203.0.113.52, 모니터링과 백업)을 추가하려면 동일 VNI를 재사용합니다. FDB 항목과 MacSec RX/TX 키를 추가합니다.

DC3:

sudo ip link add vxlan0 type vxlan id 1 dstport 4789 dev enp3s0
sudo ip link set vxlan0 up
sudo bridge fdb append to 00:00:00:00:00:00 dst 198.51.100.75 dev vxlan0
sudo bridge fdb append to 00:00:00:00:00:00 dst 192.0.2.135 dev vxlan0
sudo ip link add link vxlan0 macsec0 type macsec encrypt on
sudo ip macsec add macsec0 tx sa 0 pn 1 on key 03 abcdef0123456789abcdef0123456789
sudo ip link set macsec0 up
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:01 port 1 sa 0 pn 1 on key 01 0123456789abcdef0123456789abcdef
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:02 port 1 sa 0 pn 1 on key 02 fedcba9876543210fedcba9876543210
sudo ip address add 192.168.255.3/24 dev macsec0

DC1과 DC2에서는 다음을 추가:

  • 203.0.113.52에 대한 FDB.
  • 키 03과 함께 RX 주소 de:ad:be:ef:00:03.

주요 요약

  • L2 연결성: VXLAN은 NAT 없이 제공업체 간 원활한 네트워킹 제공.
  • 암호화: MacSec은 링크 계층에서 트래픽 보호, tcpdump에서 페이로드 숨김.
  • 확장성: 새 노드는 FDB 항목과 키 추가로 참여—터널 재구축 불필요.
  • 효율성: IPsec이나 WireGuard 대비 낮은 CPU/RAM 오버헤드.
  • 호환성: Linux 커널 4.7+ (VXLAN), 4.6+ (MacSec) 지원.

— Editorial Team

Advertisement 728x90

다음 읽기