๋ฆฌ๋
์ค ๋คํธ์ํฌ ๊ฒฉ๋ฆฌ : Network Namespace, VETH
- OpenStack์ ํ๋ก์ ํธ ๊ฒฉ๋ฆฌ๋ K8s Pod ๊ฒฉ๋ฆฌ๋ ๋ฆฌ๋
์ค ์ปค๋์ ๊ธฐ๋ฅ์ธ Network Namespace(netns)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
๐ Network Namespace (netns)
- ๋ฆฌ๋
์ค ์ปค๋์ด ์ ๊ณตํ๋ ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ ๊ธฐ์ ์ค ํ๋์ด๋ค. ์์คํ
์ ๋คํธ์ํฌ ๋ฆฌ์์ค๋ฅผ ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ถํ ํ์ฌ, ๋ง์น ๋ณ๋์ ๋ฌผ๋ฆฌ์ ์ธ ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ๊ฐ์ง ๊ฒ์ฒ๋ผ ๋
๋ฆฝ๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
- ๋
๋ฆฝ๋๋ ๋ฆฌ์์ค
- Network Interface : ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์นด๋ (NIC, veth ๋ฑ)
- Routing Table : ํจํท์ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ๋ผ์ฐํ
ํ
์ด๋ธ
- ARP Table : IP ์ฃผ์์ MAC ์ฃผ์ ๋งคํ ์ ๋ณด
- Firewall Rules (iptables/ntftables) : ํจํท ํํฐ๋ง ๊ท์น
- Socket : TCP/UDP ์์ผ ์ ๋ณด
- ๋ฆฌ๋
์ค ๋ถํ
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์กด์ฌํ๋ ๊ณต๊ฐ์ Root Namespace๋ผ๊ณ ํ๋ฉฐ, ๋ณ๋๋ก ์์ฑํ๋ ์๋ก์ด Namespace๋ ์ด์ ์์ ํ ๊ฒฉ๋ฆฌ๋๋ค. ๋ฐ๋ผ์ A Namespace์์ ์ค์ ํ IP๋ ๋ผ์ฐํ
๊ท์น์ B Namespace๋ Root Namespace์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
ip netns add red
ip netns list
/var/run/netns/ ๊ฒฝ๋ก์ ํด๋น ์ด๋ฆ์ ํ์ผ์ ์์ฑํ์ฌ ๋ค์์คํ์ด์ค๋ฅผ ์ ์งํ๋ค.
๐ VETH (Virtual Ethernet) Pair
- Namespace๋ฅผ ์์ฑํ๋ฉด ๊ทธ ์์ ํ
๋น์ด ์๊ณ ์ธ๋ถ์ ๋จ์ ๋ ์ํ์ด๋ค. ์ด๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด VETH Pair๊ฐ ํ์ํ๋ค.
- ์ ์ : ๋ฆฌ๋
์ค ์ปค๋์์ ์ง์ํ๋ ๊ฐ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์์ด๋ค. ํญ์ 2๊ฐ์ ์ธํฐํ์ด์ค๊ฐ ํ ์์ผ๋ก ์์ฑ๋๋ค.
- ํน์ง : ํ์ชฝ ์ธํฐํ์ด์ค๋ก ํจํท์ด ๋ค์ด์ค๋ฉด, ์ปค๋ ๋ด๋ถ ๋ฒํผ๋ฅผ ํตํด ์ฆ์ ๋ฐ๋์ชฝ ์ธํฐํ์ด์ค๋ก ์ ๋ฌ๋๋ค. (๋ฌผ๋ฆฌ์ ์ธ ๋ ์ผ์ด๋ธ์ ์์ชฝ ๋์ด๋ผ๊ณ ์ดํดํ๋ฉด ์ ํํ๋ค.)
- ์ฉ๋
- Root Namespace์ ๊ฒฉ๋ฆฌ๋ Namespace ๊ฐ์ ์ฐ๊ฒฐ
- ์๋ก ๋ค๋ฅธ ๋ Namespace ๊ฐ์ ์ฐ๊ฒฐ
- Namespace์ ๊ฐ์ ์ค์์น(Linux Bridge) ๊ฐ์ ์ฐ๊ฒฐ
ip link add veth-red type veth peer name veth-root
ip link set veth-red netns red
ip netns exec red ip addr add 10.0.0.2/24 dev veth-red
ip netns exec red ip link set veth-red up
ip addr add 10.0.0.1/24 dev veth-root
ip link set veth-root up
- ๋
ผ๋ฆฌ์ ์ผ๋ก ์๋ก ๋ค๋ฅธ netns์ ์๋ Root์ Red๊ฐ ์ฐ๊ฒฐ๋์๋ค.
- ping : ๋ฌผ๋ฆฌ ๋คํธ์ํฌ ์นด๋๋ฅผ ๊ฑฐ์น์ง ์๊ณ , ์ปค๋ ๋ฉ๋ชจ๋ฆฌ ๋ด์์ VETH Pair๋ฅผ ํตํด ์ง์ ํจํท์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋๋ค.
Linux Bridge
- ๋ฆฌ๋
์ค ์ปค๋ ๋ด๋ถ์ ๊ตฌํ๋ ๊ฐ์ L2 ์ค์์น. ๋ฌผ๋ฆฌ์ ์ธ ์ค์์น ์ฅ๋น๊ฐ ํ๋ ์ผ๊ณผ ์ ํํ ๋๊ฐ์ ์ผ์ ์ํํธ์จ์ด๋ก ์ํํ๋ค.
- ๊ธฐ๋ฅ : ์ฌ๋ฌ ๊ฐ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค(VETH์ ํ์ชฝ ๋, ๋ฌผ๋ฆฌ NIC)๋ฅผ ํ๋์ ๋ธ๋ฆฌ์ง์ ์ฐ๊ฑธํ์ฌ, ๊ฐ์ L2 ์ธ๊ทธ๋จผํธ(๋์ผํ ์๋ธ๋ท)์ ์๋ ๊ฒ์ฒ๋ผ ํต์ ํ๊ฒ ํด์ค๋ค.
- ๋์ ์๋ฆฌ
- MAC Learning : ๋ธ๋ฆฌ์ง ํฌํธ๋ก ๋ค์ด์ค๋ ํจํท์ Source MAC Address๋ฅผ ๋ณด๊ณ , "์ด MAC ์ฃผ์๋ ์ด ํฌํธ์ ์ฐ๊ฒฐ๋์ด ์๋ค"๋ผ๋ ์ ๋ณด๋ฅผ FDB(Forwarding Database) ํ
์ด๋ธ์ ๊ธฐ๋กํ๋ค.
- Forwarding : ํจํท์ Destination MAC Address๊ฐ FDB์ ์๋ค๋ฉด ํด๋น ํฌํธ๋ก๋ง ํจํท์ ๋ณด๋ธ๋ค. (Unicast)
- Flooding : Destination MAC์ด FDB์ ์๊ฑฐ๋ ๋ธ๋ก๋์บ์คํธ ํจํท(ARP ๋ฑ)์ด๋ผ๋ฉด, ๋ค์ด์จ ํฌํธ๋ฅผ ์ ์ธํ ๋ชจ๋ ํฌํธ๋ก ํจํท์ ๋ฟ๋ฆฐ๋ค.
- 2๊ฐ์ ๋ค์์คํ์ด์ค red, blue๋ฅผ ๋ง๋ค๊ณ , ์ด ๋์ ์ง์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์๋๋ผ br0๋ผ๋ ๋ธ๋ฆฌ์ง๋ฅผ ํตํด ํต์ ํ๋๋ก ๊ตฌ์ฑ
ip link add br0 type bridge
ip link set br0 up
ip netns add red
ip netns add blue
ip link add veth-red type veth peer name veth-red-br
ip link add veth-blue type veth peer name veth-blud-br
ip link set veth-red netns red
ip link set veth-blue netns blue
ip netns exec red ip addr add 10.0.0.2/24 dev veth-red
ip netns exec red ip link set veth-red up
ip netns exec blue ip addr add 10.0.0.3/24 dev veth-blue
ip netns exec blud ip link set veth-blue up
ip link set veth-red-br master br0
ip link set veth-red-br up
ip link set veth-blue-br master br0
ip link set veth-blud-br up
- ๊ตฌ์กฐ : [NS red] veth-red <-> veth-red-br <-> [Bridge br0] <-> veth-blue-br <-> [NS blue] veth-blue
- ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ์ ์ด ์์ง๋ง, br0๊ฐ L2 ์ค์์นญ์ ํตํด ํจํท์ ์ ๋ฌ (ํ ๊ฐ๋ฅ)
bridge fdb show br0
33:33:00:00:00:01 dev br0 self permanent
0a:5b:12:34:56:78 dev veth-red-br master br0
0a:5b:87:65:43:21 dev veth-blue-br master br0
- ๋ธ๋ฆฌ์ง์ ์ฐ๊ฒฐ๋๋ ์ธํฐํ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก Promiscuous Mode(๋ฌด์ฐจ๋ณ ๋ชจ๋)๋ก ๋์ํด์ผ ํ๋ค. ์ผ๋ฐ์ ์ธ NIC๋ ์์ ์ MAC ์ฃผ์๊ฐ ์๋ ํจํท์ ๋ฒ๋ฆฌ์ง๋ง, ๋ธ๋ฆฌ์ง ํฌํธ๋ ์์ ์๊ฒ ์ค์ง ์์ ํจํท์ด๋ผ๋ ๋ธ๋ฆฌ์ง ๋ก์ง(์ ๋ฌ)์ ์ํํ๊ธฐ ์ํด ๋ชจ๋ ํจํท์ ๋ฐ์๋ค์ฌ์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฆฌ๋
์ค ๋ธ๋ฆฌ์ง๋ ์ฐ๊ฒฐ ์ ์๋์ผ๋ก ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
IP Forwarding & Routing Table
- ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ๋์ญ์ ์ฐ๊ฒฐํ๋ L3 ๋ผ์ฐํ
๊ณผ ๋ฆฌ๋
์ค ์ปค๋์ด ๋ผ์ฐํฐ ์ญํ ์ ํ๊ฒ ๋ง๋๋ IP Forwarding.
- OpenStack์ Neutron L3 Agent๋ K8s์ CNI ํ๋ฌ๊ทธ์ธ์ด ๋์ํ๋ ๊ธฐ๋ณธ ์๋ฆฌ.
- ๋ฆฌ๋
์ค ์์คํ
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ข
๋ชฉ์ ์ง๊ฐ ์์ ์ธ ํจํท๋ง ๋ฐ์๋ค์ด๊ณ , ์์ ์ด ๋ชฉ์ ์ง๊ฐ ์๋ ํจํท์ ํจ๊ธฐํ๋ค. ๋ฆฌ๋
์ค๋ฅผ ๋ผ์ฐํฐ์ค ์์คํ
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ต์ข
๋ชฉ์ ์ง๊ฐ ์์ ์ธ ํจํท๋ง ๋ฐ์๋ค์ด๊ณ , ์์ ์ด ๋ชฉ์ ์ง๊ฐ ์๋ ํจํท์ ํจ๊ธฐํ๋ค. ๋ฆฌ๋
์ค๋ฅผ ๋ผ์ฐํฐ์ฒ๋ผ ์ฐ๊ธฐ ์ํด์๋ ์ด ๊ธฐ๋ฅ์ ํ์ฑํํ๊ณ , ๊ฒฝ๋ก๋ฅผ ์๋ ค์ค์ผ ํ๋ค.
- IP Forwarding (ํจํท ์ ๋ฌ)
- ๊ฐ๋
: ํ๋์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ก ๋ค์ด์จ ํจํท์ ๋ชฉ์ ์ง IP๊ฐ ์์ ์ด ์๋ ๋, ์ด๋ฅผ ๋ฒ๋ฆฌ์ง ์๊ณ ์ ์ ํ ๋ค๋ฅธ ์ธํฐํ์ด์ค๋ก ๋๊ฒจ์ฃผ๋ ๊ธฐ๋ฅ
- ๋ฆฌ๋
์ค ๊ธฐ๋ฐ์ ๋ฐฉํ๋ฒฝ, ๋ผ์ฐํฐ, K8s ๋
ธ๋๊ฐ ํ๋ ๊ฐ ํต์ ์ ์ค๊ณํ๊ธฐ ์ํด ๋ฐ๋์ ์ผ์ ธ ์์ด์ผ ํ๋ ์ปค๋ ํ๋ผ๋ฏธํฐ์ด๋ค.
- Routing Table
- ๊ฐ๋
: ์ด ๋ชฉ์ ์ง IP๋ก ๊ฐ๋ ค๋ฉด ์ด๋ ์ธํฐํ์ด์ค๋ก ๋๊ฐ์ผ ํ๊ณ , ๋๊ตฌ(Gateway)์๊ฒ ์ค์ผ ํ๋์ง๊ฐ ์ ํ ์๋ ํ
์ด๋ธ
- ๋์ : ํจํท์ ๋ณด๋ผ ๋ ์ปค๋์ ๋ชฉ์ ์ง IP์ ๋ผ์ฐํ
ํ
์ด๋ธ์ ๊ท์น์ ๋์กฐํ์ฌ ๊ฐ์ฅ ์ ํฉํ ๊ฒฝ๋ก๋ฅผ ์ ํํ๋ค.
ip netns add net1
ip netns add net2
ip link add veth-net1 type veth peer name veth-net1-host
ip link set veth-net1 netns net1
ip link add veth-net2 type veth peer name veth-net2-host
ip link set veth-net2 netns net2
ip netns exec net1 ip addr add 10.0.1.2/24 dev veth-net1
ip netnx exec net1 ip link set veth-net1 up
ip netns exec net2 ip addr add 10.0.2.2/24 dev veth-net2
ip netnx exec net2 ip link set veth-net2 up
ip addr add 10.0.1.1/24 dev veth-net1-host
ip link set veth-net1-host up
ip addr add 10.0.2.1/24 dev veth-net2-host
ip link set veth-net2-host up
cat /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
ip netns exec net1 ip route add default via 10.0.1.1
ip netns exec net2 ip route add default via 10.0.2.1
ip netns exec net1 ping 10.0.2.2
Netfilter & iptables
K8s Pod๊ฐ ์ธ๋ถ ์ธํฐ๋ท์ ์ฐ๊ณ , ์ธ๋ถ์์ ClusterIP๋ก ์ ๊ทผํ๊ณ , OpenStack ์ธ์คํด์ค๊ฐ Floating IP๋ฅผ ๊ฐ๋ ๊ธฐ์ ์ ๋ฐฐ๊ฒฝ์๋ ํจํท ํํฐ๋ง๊ณผ NAT๊ฐ ์๋ค.
๋ฆฌ๋
์ค ์ปค๋์ ๋คํธ์ํฌ ํจํท์ ์ฒ๋ฆฌํ๊ธฐ ์ํด Netfilter๋ผ๋ ํ๋ ์์ํฌ๋ฅผ ๋ด์ฅํ๊ณ ์๋ค.
- Netfilter : ์ปค๋์ ๋คํธ์ํฌ ์คํ ๋ด๋ถ์ ํน์ ์ง์ (Hook)์ ์ฝ๋ฐฑ ํจ์๋ฅผ ๋ฑ๋กํ์ฌ, ํจํท์ ๊ฐ๋ก์ฑ๊ณ ์กฐ์ํ ์ ์๊ฒ ํด์ค๋ค.
- iptables : ์ ์ ๊ณต๊ฐ์์ ์ด Netfilter์ ๊ท์น์ ์ค์ ํ๋ ๋๊ตฌ
๋ฆฌ๋
์ค ์์คํ
์ ๋ฉ๋ชจ๋ฆฌ๋ ํฌ๊ฒ ๋ ์์ญ์ผ๋ก ๋๋๋ค.
- ์ปค๋ ๊ณต๊ฐ
- ์ด์์ฒด์ ์ ํต์ฌ์ธ ์ปค๋์ด ์คํ๋๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ
- CPU์ Ring 0 (๊ฐ์ฅ ๋์ ํน๊ถ ๋ ๋ฒจ)์์ ๋์
- ๋ชจ๋ ํ๋์จ์ด์ ์ง์ ์ ๊ทผํ๊ณ ์ ์ดํ ์ ์๋ ๊ถํ์ ๊ฐ์ง๋ค
- ์ด๊ณณ์์ ์ฝ๋๊ฐ ์คํ๋๋ค๊ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด, ์์คํ
์ ์ฒด๊ฐ ๋ฉ์ถ๋ค. Netfilter๋ ์ปค๋ ๊ณต๊ฐ์ ๋คํธ์ํฌ ์คํ์์ ๋์ํ๋ฉฐ ์ค์๊ฐ์ผ๋ก ํ๋ฅด๋ ํจํท์ ์ฒ๋ฆฌํ๋ค.
- ์ ์ ๊ณต๊ฐ
- ์ฌ์ฉ์๊ฐ ์คํํ๋ ์ผ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์
๋ค์ด ์คํ๋๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ
- CPU์ Ring 3 (๊ฐ์ฅ ๋ฎ์ ํน๊ถ ๋ ๋ฒจ)์์ ๋์
- ํ๋์จ์ด์ ์ง์ ์ ๊ทผํ ์ ์๋ค. ํ๋์จ์ด ์์์ด ํ์ํ๋ฉด ๋ฐ๋์ ์ปค๋์ ์์ฒญํด์ผ ํ๋ค.
- ํ๋ก๊ทธ๋จ์ด ์ถฉ๋ํด๋ ํด๋น ํ๋ก์ธ์ค๋ง ์ข
๋ฃ๋ ๋ฟ, ์ด์์ฒด์ ์ ์ฒด์์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
- Netfilter์ 5๊ฐ์ง Hook Point
- NF_IP_PRE_ROUTING (PREROUTING)
- NIC๋ก๋ถํฐ ํจํท์ ์์ ํ ์งํ, ๋ผ์ฐํ
๊ฒฐ์ ์ด ์ผ์ด๋๊ธฐ ์ ๋จ๊ณ
- DANT๋ฅผ ์ํํ๋ค. ๋ชฉ์ ์ง IP๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ค๋ฉด, ๋ผ์ฐํ
์ ์ํํ๊ธฐ ์ ์ ๋ณ๊ฒฝํด์ผ ๋ณ๊ฒฝ๋ IP๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฐ๋ฅธ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- NF_IP_LOCAL_IN (INPUT)
- ๋ผ์ฐํ
๊ฒฐ๊ณผ, ํจํท์ ๋ชฉ์ ์ง๊ฐ ๋ก์ปฌ ์์คํ
(์์ )์ธ ๊ฒฝ์ฐ ๋๋ฌํ๋ ๋จ๊ณ
- ์ด ๋จ๊ณ๋ฅผ ํต๊ณผํ๋ฉด ํจํท์ ์์ ๊ณ์ธต(L4 -TCP/UDP)์ผ๋ก ์ ๋ฌ๋์ด ๋ก์ปฌ ํ๋ก์ธ์ค๊ฐ ์์ ํ๋ค.
- NF_IP_FORWARD (FORWARD)
- ๋ผ์ฐํ
๊ฒฐ๊ณผ, ํจํท์ ๋ชฉ์ ์ง๊ฐ ๋ก์ปฌ ์์คํ
์ด ์๋๊ณ ๋ค๋ฅธ ํธ์คํธ์ธ ๊ฒฝ์ฐ ๋๋ฌํ๋ ๋จ๊ณ
- ๋ฐฉํ๋ฒฝ ์ญํ ์ ์ฃผ๋ก ์ฌ๊ธฐ์ ํํฐ๋ง์ ์ํํ๋ค.
- NF_IP_LOCAL_OUT (OUTPUT)
- ๋ก์ปฌ ํ๋ก์ธ์ค์์ ์์ฑ๋ ํจํท์ด ๋คํธ์ํฌ ์คํ์ผ๋ก ๋ด๋ ค์ ๋ผ์ฐํ
๊ฒฐ์ ์ ๋ง์น ์งํ์ ๋จ๊ณ
- NF_IP_POST_ROUTING (POSTROUTING)
- ๋ชจ๋ ๋ผ์ฐํ
๊ฒฐ์ ๊ณผ ํํฐ๋ง์ด ๋๋๊ณ , ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ก ํจํท์ด ์ ์ก๋๊ธฐ ์ง์ ๋จ๊ณ
- SNAT๋ฅผ ์ํํ๋ค. ํจํท์ด ๋๊ฐ ์ธํฐํ์ด์ค๊ฐ ๊ฒฐ์ ๋ ์ํ์ด๋ฏ๋ก, ํด๋น ์ธํฐํ์ด์ค์ IP์ ๋ง์ถฐ ์ถ๋ฐ์ง ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ๋ค.
- Connection Tracking (conntrack)
- NAT๊ฐ ์ค์ ๋ ํ๊ฒฝ์์ ์๋ฐฉํฅ ํต์ ์ด ๊ฐ๋ฅํ ์ด์ ๋ ๋ฆฌ๋
์ค ์ปค๋์
nf_conntrack ๋ชจ๋ ๋๋ฌธ์ด๋ค.
- ์ํ ์ ์ฅ(Statefull) : NAT ๊ท์น์ ๋ณดํต ์ฒซ ๋ฒ์งธ ํจํท์๋ง ์ ์ฉ๋๋ค.
- ํ
์ด๋ธ ๊ธฐ๋ก : ์ฒซ ํจํท์ด NAT๋ฅผ ๊ฑฐ์น ๋, ์ปค๋์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ํ ํ
์ด๋ธ์ [์๋ณธ ์ถ๋ฐ์ง/๋ชฉ์ ์ง IP:Port] ์ [๋ณํ๋ ์ถ๋ฐ์ง/๋ชฉ์ ๊ธฐ IP:Port]์ ๋งคํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๋ค.
- ์๋ต ํจํท ์ฒ๋ฆฌ : ์ธ๋ถ์์ ์๋ต ํจํท์ด ๋ค์ด์ค๋ฉด, ์ปค๋์ ์ด ํ
์ด๋ธ์ ์กฐํํ๋ค. ๋งค์นญ๋๋ ์ธ์
์ ๋ณด๊ฐ ์๋ค๋ฉด ๋ณ๋์ iptables ๊ท์น์ ๋ค์ ํ์ง ์๊ณ ์๋์ผ๋ก ์ญ๋ณํ์ ์ํํ์ฌ ์๋์ ์์ฒญ์์๊ฒ ํจํท์ ์ ๋ฌํ๋ค.
iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j MQSQUERADE
VXLAN / Tunneling
๋ฌผ๋ฆฌ์ ์ผ๋ก ๋จ์ด์ ธ ์๋ ์๋ฒ๋ค์ ๋
ผ๋ฆฌ์ ์ผ๋ก ํ๋์ L2 ๋คํธ์ํฌ๋ก ๋ฌถ์ด์ฃผ๋ ์ญํ
- ํฐ๋๋ง (Tunneling)
- ์ด๋ค ๋คํธ์ํฌ ํ๋กํ ์ฝ์ ํจํท์ ๋ค๋ฅธ ๋คํธ์ํฌ์ ํ๋กํ ์ฝ์ ๋ฐ์ดํฐ(Payload) ์์ญ์ ์ค์ด์ ์ ์กํ๋ ๊ธฐ์ . (=์บก์ํ)
- OSI 7๊ณ์ธต์ ํน์ ๊ณ์ธต PDU(Protocl Data Unit)๋ฅผ ํ์๋ ๋์, ํน์ ์์ ๊ณ์ธต์ PDU ์์ ๊ฐ์ธ๋ ํ์
- ์ ํ์ํ๊ฐ
- ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ๊ฐ์ ์ฐ๊ฒฐ : ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๋ฆฌ๋ ๋ ๊ฐ์ ์ฌ์ค ๋คํธ์ํฌ๋ฅผ ๊ณต์ฉ ๋คํธ์ํฌ๋ฅผ ํตํด ์ฐ๊ฒฐํ ๋ ํ์ํ๋ค. ์ค๊ฐ ๊ฒฝ๋ก๋ ์ฌ์ค IP๋ฅผ ๋ผ์ฐํ
ํ ์ ์์ผ๋ฏ๋ก, ๋ผ์ฐํ
๊ฐ๋ฅํ ๊ณต์ธ IP ํค๋๋ก ๊ฐ์ธ์ผ ํ๋ค. (ex. VPN)
- ํ๋กํ ์ฝ ํธํ์ฑ ๊ทน๋ณต : IPv6 ํจํท์ IPv4 ๋คํธ์ํฌ ๋ง์ ํตํด์ ๋ณด๋ด์ผ ํ ๋, IPv6 ํจํท์ IPv4 ํจํท ์์ ๋ฃ์ด์ ๋ณด๋ธ๋ค.
- ์ค๋ฒ๋ ์ด ๋คํธ์ํฌ ๊ตฌ์ฑ : ๋ฌผ๋ฆฌ์ ์ธ ๋คํธ์ํฌ ํ ํด๋ก์ง์ ์๊ด์์ด, ๋
ผ๋ฆฌ์ ์ธ ๋คํธ์ํฌ ํ ํด๋ก์ง๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. (VXLAN์ ์ฃผ ๋ชฉ์ )
- ๋ฆฌ๋
์ค์์ ์ด๋ป๊ฒ ์ฐ์ด๋๊ฐ
- IPIP : IP ํจํท ์์ IP ํจํท์ ๋ฃ๋ ๊ฐ์ฅ ๋จ์ํ ํฐ๋๋ง
- GRE (Generic Routing Encapsulation) : IP ๋ฟ๋ง ์๋๋ผ ๋ค์ํ ํ๋กํ ์ฝ์ IP ์์ ๋ฃ์ ์ ์๋ ์์ค์ฝ๊ฐ ๊ฐ๋ฐํ ํ์ค
- VXLAN : ์ด๋๋ท ํ๋ ์(L2)์ UDP/IP ์์ ๋ฃ๋ ๊ธฐ์
- VXLAN (Virtual Extensible LAN)
- L2 ์ด๋๋ท ํ๋ ์์ L3 UDP ํจํท ์์ ์บก์ํํ์ฌ ์ ์กํ๋ ํฐ๋๋ง ํ๋กํ ์ฝ.
- ๋ฌผ๋ฆฌ ๋คํธ์ํฌ๊ฐ L3(IP) ๊ธฐ๋ฐ์ผ๋ก ๋์ด ์์ด๋, ๊ทธ ์์์ ๋
ผ๋ฆฌ์ ์ผ๋ก L2(์ด๋๋ท) ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- ์ ํ์ํ๊ฐ (ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ์ผํฐ ํ๊ฒฝ์์ ๊ธฐ์กด์ VLAN ๊ธฐ์ ์ ํ๊ณ๊ฐ ์๋ค)
- VLAN ID ๊ฐ์์ ํ๊ณ
- VLAN ํค๋์ ID ํ๋๋ 12๋นํธ์ด๋ค. ์ฆ, ์ต๋ 4096๊ฐ์ ๋คํธ์ํฌ๋ง ๊ตฌ๋ถํ ์ ์๋ค.
- ์๋ง ๋ช
์ ๊ณ ๊ฐ์ด ์๋ ํผ๋ธ๋ฆญ/ํ๋ผ์ด๋น ํด๋ผ์ฐ๋์์๋ ํฑ์์ด ๋ถ์กฑํ๋ค.
- VXLAN ํด๊ฒฐ์ฑ
: 24๋นํธ์ VNI(VXLAN Network Idetifier)๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ 1600๋ง ๊ฐ์ ๋คํธ์ํฌ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ง๋ค ์ ์๋ค.
- MAC ์ฃผ์ ํ
์ด๋ธ์ ํญ๋ฐ
- ๋ฌผ๋ฆฌ์ ์ค์์น๋ ์ฐ๊ฒฐ๋ ๋ชจ๋ VM์ MAC ์ฃผ์๋ฅผ ํ์ตํด์ผ ํ๋ค. ์์ญ๋ง ๊ฐ์ VM์ด ์๋ ํ๊ฒฝ์์๋ ๋ฌผ๋ฆฌ ์ค์์น์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฐ๋ ์ฐจ์ ์ฑ๋ฅ์ด ์ ํ๋๋ค.
- VXLAN ํด๊ฒฐ์ฑ
: ๋ฌผ๋ฆฌ ์ค์์น๋ ํฐ๋์ ์ ๋๋จ(๋ฌผ๋ฆฌ ์๋ฒ์ IP)๋ง ์๋ฉด ๋๋ค. VM์ MAC ์ฃผ์๋ ์บก์ํ๋์ด ๋ด๋ถ ๋ฐ์ดํฐ๋ก ์ทจ๊ธ๋๋ฏ๋ก ๋ฌผ๋ฆฌ ์ค์์น๋ ์ด๋ฅผ ๋ชฐ๋ผ๋ ๋๋ค.
- L2 ํ์ฅ์ ์ ์ฝ
- ์ ํต์ ์ธ L2 ๋คํธ์ํฌ๋ ๋ฃจํ ๋ฐฉ์ง๋ฅผ ์ํด Spanning Tree Protocol(STP)์ ์ฌ์ฉํ์ฌ ํน์ ๊ฒฝ๋ก๋ฅผ ์ฐจ๋จํ๋ค. ์ด๋ ๋์ฌํญ ๋ญ๋น๋ฅผ ์ ๋ฐํ๋ค.
- ๋ฐ์ดํฐ์ผํฐ๋ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋ L3 ๋ผ์ฐํ
(ECMP) ๊ตฌ์กฐ๋ฅผ ์ ํธํ๋ค.
- VXLAN ํด๊ฒฐ์ฑ
: ๋ฌผ๋ฆฌ๋ง์ L3๋ก ๊ตฌ์ฑํ์ฌ ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ํจ์จ์ ์ผ๋ก ์ฐ๊ณ , ๊ทธ ์์์ VXLAN์ผ๋ก L2 ํต์ ์ ํ๋ด ๋ธ๋ค.
- VTEP (VXLAN Tunnel EndPoint)
- VXLAN ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ ์ฃผ์ฒด. ๋ฆฌ๋
์ค์์๋ VXLAN ์ธํฐํ์ด์ค๊ฐ VTEP ์ญํ ์ ํ๋ค. ํ๋์จ์ด ์ค์์น๊ฐ VTEP์ด ๋ ์ ์๊ณ , ํ์ดํผ๋ฐ์ด์ ๊ฐ VTEP์ด ๋ ์๋ ์๋ค.
- Ingress VTEP (์
๊ตฌ) : VM์์ ์จ ํจํท์ ์บก์ํํ์ฌ ๋ฌผ๋ฆฌ๋ง์ผ๋ก ์๋ ์ญํ .
- Egress VTEP (์ถ๊ตฌ) : ๋ฌผ๋ฆฌ๋ง์์ ์จ UDP ํจํท์ ๋ฐ์์, VXLAN ํค๋๋ฅผ ๋ผ๊ณ VM์๊ฒ ์ ๋ฌํ๋ ์ญํ .
์๋๋ฐฉ ์ฐพ๊ธฐ
VM A๊ฐ VM B(IP: 10.10.10.2)๋ก ํจํท์ ๋ณด๋ด๋ ค๋๋ฐ, VM B๊ฐ ์ด๋ ๋ฌผ๋ฆฌ ์๋ฒ(VTEP) ์์ ์๋์ง ์๋ ๋ฐฉ๋ฒ
- ๋ฐฉ๋ฒ A: ๋ฉํฐ์บ์คํธ (Multicast - Flood & Learn)
- VM A๊ฐ ARP ์์ฒญ(Broadcast)์ ๋ณด๋ด๋ฉด, VTEP A๋ ์ด๋ฅผ ๋ฉํฐ์บ์คํธ IP๋ก ์บก์ํํด์ ๋คํธ์ํฌ ์ ์ฒด์ ๋ฟ๋ฆฐ๋ค.
- ํด๋น ๋ฉํฐ์บ์คํธ ๊ทธ๋ฃน์ ๊ฐ์
๋ ๋ชจ๋ VTEP์ด ํจํท์ ๋ฐ๊ณ , ๊ทธ์ค์ VM B๋ฅผ ๋ฐ๋ฆฌ๊ณ ์๋ VTEP B๋ง ์๋ตํ๋ค.
- ์ด ๊ณผ์ ์์ VTEP A๋ "VM B๋ VTEP B์ ์๋ค"๋ผ๊ณ ํ์ตํ๋ค.
- ๋ฐฉ๋ฒ B: ์ปจํธ๋กค ํ๋ ์ธ ์ฌ์ฉ (SDN ๋ฐฉ์ - OpenStack/K8s)
- ์ค์ ์ปจํธ๋กค๋ฌ(OpenStack Neutron Server, K8s API Server/CNI)๊ฐ ๋ชจ๋ VM์ ์์น ์ ๋ณด๋ฅผ ์ด๋ฏธ ์๊ณ ์๋ค.
- ์ปจํธ๋กค๋ฌ๊ฐ VTEP(๊ฐ ๋
ธ๋์ ์์ด์ ํธ)์๊ฒ ๋ฏธ๋ฆฌ ์๋ ค์ค๋ค
- "MAC ์ฃผ์ aa:bb:cc... ๊ฐ์ง VM์ ๋ฌผ๋ฆฌ ์๋ฒ 192.168.1.50์ ์๋ค."
- ๋ฐ๋ผ์ ๋ธ๋ก๋์บ์คํ
(Flooding) ์์ด ๋ฐ๋ก ์ ๋์บ์คํธ(Unicast)๋ก ์บก์ํํด์ ๋ณด๋ธ๋ค. ๋คํธ์ํฌ ์ก์์ ํ๊ธฐ์ ์ผ๋ก ์ค์ฌ์ค๋ค.
๊ฐ๋
์ ๋ฆฌ
Q. ์ด๋ป๊ฒ L2(์ด๋๋ท)์ L3/L4(IP/UDP) ์์ ๋ฃ์ ์ ์๋๊ฐ?
- ์ปดํจํฐ ์
์ฅ์์ ๋ฐ์ดํฐ(Payload)๋ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ด์ง์ ๋ฐ์ด์ผ ๋ฟ์ด๋ค.
- ์๋์ ํต์ : ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ฉด [HTTP ํค๋][๋ฐ์ดํฐ]๊ฐ ๋ง๋ค์ด์ง๋ค. ์ด ์ ์ฒด๋ฅผ TCP๊ฐ ๊ฐ์ ธ๋ค๊ฐ ์์ ์ ๋ฐ์ดํฐ๋ก ์ทจ๊ธํ์ฌ ์์ [TCP ํค๋]๋ฅผ ๋ถ์ธ๋ค.
- VXLAN : VM์ด ๋ง๋ [์ด๋๋ท ํค๋][IP ํค๋][๋ฐ์ดํฐ]๋ผ๋ ์์ฑ๋ L2 ํ๋ ์ ์ ์ฒด๋ฅผ ํธ์คํธ OS๋ ๊ทธ๋ฅ ๋ฐ์ดํฐ ๋ฉ์ด๋ฆฌ๋ก ์ทจ๊ธํ๋ค.
- ์บก์ ํ : ํธ์คํธ OS๋ ์ด ๋ฐ์ดํฐ ๋ฉ์ด๋ฆฌ ์์ [UDP ํค๋]์ [IP ํค๋]๋ฅผ ์๋ก ๋ถ์ธ๋ค.
Q. ๋ฌผ๋ฆฌ ๋คํธ์ํฌ๊ฐ L3 ๊ธฐ๋ฐ์ผ๋ก ๋์ด์๋ค
- ์ ํต์ ์ธ ์ฌ๋ฌด์ค ๋คํธ์ํฌ๋ L2 ์ค์์น๋ค๋ก ์ฐ๊ฒฐํ์ฌ ๊ตฌ์ฑํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ์ผํฐ์ ์ค์์น๋ค์ ๋จ์ํ L2 ์ค์์น๊ฐ ์๋๋ผ ๋ผ์ฐํฐ(L3) ๊ธฐ๋ฅ์ ํ๋๋ก ์ค์ ํ๋ค๋ ์๋ฏธ
- L2 ๊ตฌ์ฑ : ์ค์์น A์์ ๋ณด๋ธ ๋ธ๋ก๋์บ์คํธ๊ฐ ์ค์์น B, C, D๋ก ๋ค ํผ์ง๋ค. (๋ถํ์ํ ํธ๋ํฝ ํญ์ฆ)
- L3 ๊ตฌ์ฑ : ์ค์์น์ ์ค์์น ์ฌ์ด๊ฐ ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ๋์ญ(IP Subnet)์ผ๋ก ๋ถ๋ฆฌ๋๋ค. ๋ผ์ฐํ
ํ
์ด๋ธ์ ๋ณด๊ณ ์ ํํ ์ฐพ์๊ฐ๋ค.
- ์ฆ, ๋ฐ์ดํฐ์ผํฐ์ ์ผ์ด๋ธ๊ณผ ์ฅ๋น ์ฐ๊ฒฐ ๋ฐฉ์(๋ฌผ๋ฆฌ๋ง)์ IP ์ฃผ์๋ฅผ ๋ณด๊ณ ๊ธธ์ ์ฐพ๋ ๋ผ์ฐํ
๋ฐฉ์(L3)์ผ๋ก ๋์ํ๊ฒ ๋ง๋ ๋ค๋ ์๋ฏธ.
Q. VLAN ํค๋๊ฐ 12๋นํธ์ธ ์ด์ ์ ์๋ฏธ
- ์๋ ์๋ ํ ๋คํธ์ํฌ ์ฅ๋น์์ 4096๊ฐ ์ด์์ ๊ทธ๋ฃน์ ๋๋ ์ผ์ด ์์ ๊ฑฐ๋ผ ์๊ฐํ๊ณ ํค๋์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๊ธฐ ์ํด 12๋นํธ๋ง ํ ๋นํ๋ค. ์ด๊ฒ์ด ํ๋์จ์ด ํ์ค์ผ๋ก ๊ตณ์ด์ก๋ค.
- ํด๋ผ์ฐ๋ ํ๊ฒฝ์ด๋ผ๋ ๊ด๋ฆฌ์ฉ ๋คํธ์ํฌ, ์คํ ๋ฆฌ์ง์ฉ ๋คํธ์ํฌ, ์๋ฒ์ฉ ๋คํธ์ํฌ ๋ฑ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ตฌ๋ถํด์ผ ํ ๋๊ฐ ์๋๋ฐ, ์ด๋๋ ์ฌ์ ํ VLAN์ ์ด๋ค.
- ํ์ง๋ง ๊ณ ๊ฐ์ฉ ๋คํธ์ํฌ(Tenant Network)๋ ๊ณ ๊ฐ์ด ์๋ง ๋ช
์ผ ์ ์์ผ๋ฏ๋ก VLAN ๋์ VXLAN์ ์ฌ์ฉํ๋ค.
Q. VNI์ Network Segment
- Network Segment : ์๋ก ํต์ ๊ฐ๋ฅํ ํ๋์ ๊ฒฉ๋ฆฌ๋ ๊ทธ๋ฃน
- Aํ์ ํด๋ผ์ฐ๋ ์๋ฒ๋ค๋ผ๋ฆฌ๋ง ํต์ ํ๊ณ , B ํ์ ์๋ฒ์๋ ํต์ ์ด ์ ๋๋๋ก ๊ตฌ์ฑ. Aํ ๊ทธ๋ฃน์ด ํ๋์ ์ธ๊ทธ๋จผํธ.
- VNI (VXLAN Network Identifier) : VXLAN์ ๋ถ๋ ๊ทธ๋ฃน ID ํ๊ทธ
- 24๋นํธ์ด๋ฏ๋ก, ์ฝ 1,600๋ง ๊ฐ์ ID๋ฅผ ๋ง๋ค ์ ์๋ค. 1,600๋ง ๊ฐ์ ์๋ก ๋ค๋ฅธ ํ(์ธ๊ทธ๋จผํธ)๋ฅผ ๊ฒฉ๋ฆฌํด์ ๋ง๋ค ์ ์๋ค๋ ๋ป
Q. VM์๋ MAC ์ฃผ์๊ฐ ํ ๋น๋๊ณ , ํด๋น MAC ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ค์์น๊ฐ ํ์ตํด์ผ ํ๋๊ฐ?
- VM์ MAC : VM๋ OS ์
์ฅ์์๋ ์ง์ง ์ปดํจํฐ์ฌ์ผ ํ๋ฏ๋ก, ๊ฐ์์ ๋์นด๋(vNIC)์ ๊ฐ์์ MAC์ฃผ์๊ฐ ๋ฌด์์๋ก ๋ถ์ฌ๋๋ค.
- ๋ฌผ๋ฆฌ ์ค์์น์ ํ์ต
- VXLAN์ ์ ์ฐ๋ฉด : VM์ด ๋ณด๋ธ ํจํท์ด ๋ฌผ๋ฆฌ ์ค์์น๋ก ๊ทธ๋๋ก ๋๊ฐ๋ค. ๋ฌผ๋ฆฌ ์ค์์น๋ ํน์ ํฌํธ์์ ํน์ MAC์ฃผ์๊ฐ ์ ํธ๋ฅผ ๋ณด๋ธ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ๊ธฐ ์ํด ํ์ตํ๋ค. VM์ด 10๋ง ๊ฐ๋ฉด 10๋ง ๊ฐ๋ฅผ ๋ค ๊ธฐ์ตํด์ผ ํด์ ์ค์์น ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง๋ค.
- VXLAN์ ์ฐ๋ฉด : ๋ฌผ๋ฆฌ ์ค์์น์๊ฒ๋ [Outer IP ํค๋]๋ง ๋ณด์ธ๋ค. ์ฆ, ๋ฌผ๋ฆฌ ์๋ฒ(Host)์ IP์ MAC๋ง ๋ณด์ธ๋ค. ์์ VM์ MAC์ด ๋ค์ด์๋์ง ๋ชจ๋ฅธ๋ค. ๊ทธ๋์ ๋ฌผ๋ฆฌ ์ค์์น๋ ๋ฌผ๋ฆฌ ์๋ฒ๋ค์ ์ฃผ์๋ง ๊ธฐ์ตํ๋ฉด ๋๋ค.
Q. ํฐ๋์ด๋
- ํฐ๋ : ๋ณต์กํ ์ค๊ฐ ๊ฒฝ๋ก(์๋ง์ ์ค์์น์ ๋ผ์ฐํฐ)๋ฅผ ๋ฌด์ํ๊ณ , ์
๊ตฌ(Host A)์ ์ถ๊ตฌ(Host B)๊ฐ ์ง์ ์ฐ๊ฒฐ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋๋ ๋
ผ๋ฆฌ์ ์ธ ํ์ดํ
Q. L2 ๋คํธ์ํฌ ๋ฃจํ๋ฅผ STP ์ฐจ๋จํ๋ ์ด์ , ECMP, VXLAN์ผ๋ก L2 ํต์ ์ ํ๋ด ๋ด๋ ์ด์
- L2์ ๋ฌธ์
- L2 ์ค์์น๋ ๋ชจ๋ฅด๋ ๋ชฉ์ ์ง์ ํจํท์ด ์ค๋ฉด ์ผ๋จ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๊ณณ์ผ๋ก ๋ณต์ฌํด์ ๋ณด๋ธ๋ค.(Flooding)
- ๋ง์ฝ ์ ์ด ์ด์คํ๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด, ๋ณต์ฌ๋ ํจํท์ด ๋ฌดํ๋ฃจํ๊ฐ ๋ฐ์ํด ๋คํธ์ํฌ๊ฐ ๋ค์ด๋๋ค.
- STP (Spanning Tree Protocol) : ์ด๋ฅผ ๋ง๊ธฐ ์ํด ๊ฐ์ ๋ก ํ์ชฝ ์ ์ ์ฌ์ฉ ๋ชปํ๊ฒ ๋ง์๋ฒ๋ฆฐ๋ค.
- L3 ECMP (Equal-Cost Multi-Path)
- L3 ๋ผ์ฐํฐ๋ ๋ชฉ์ ์ง๋ก ๊ฐ๋ ๊ธธ์ด 2๊ฐ๊ฐ ์์ ์๊ณ , ๋ ๊ธธ ๋ค ์จ์ ๋ฐ๋ฐ์ฉ ๋ณด๋ด๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋ฃจํ ๊ฑฑ์ ์์ด ๋์ญํญ์ 100% ํ์ฉํ ์ ์๋ค. ๊ทธ๋์ ํ๋ ๋ฐ์ดํฐ์ผํฐ๋ ๋ฌผ๋ฆฌ๋ง์ L3๋ก ๊ตฌ์ฑํ๋ค.
- VXLAN ์์ด L3 ๋ฌผ๋ฆฌ๋ง๋ง ์ฌ์ฉํ ๊ฒฝ์ฐ
- ๋ฌผ๋ฆฌ ์๋ฒ A๋ 10.1.1.0/24 ๋์ญ(Rack 1)์ ์๊ณ , ๋ฌผ๋ฆฌ ์๋ฒ B๋ 10.1.2.0/24 ๋์ญ(Rack 2)์ ์๋ค. (L3๋ ๋ผ์ฐํ
์ ์ํด ๋์ญ์ ์ชผ๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ.)
- VM์ด ์๋ฒ A์์ B๋ก ๋์ด๊ฐ๋ฉด, IP ์ฃผ์๋ฅผ 10.1.1.5์์ 10.1.2.5๋ก ๋ฐ๊ฟ์ผ ํ๋ค.
- IP๊ฐ ๋ฐ๋๋ฉด ์คํ ์ค์ด๋ ์๋น์ค ์ฐ๊ฒฐ์ด ๋๊ธฐ๊ณ , DNS๋ฅผ ๊ฐฑ์ ํด์ผ ํ๋ ๋ฑ์ ์ฒ๋ฆฌ๊ฐ ํ์ํด์ง๋ค.
- VXLAN์ผ๋ก L2๋ฅผ ํ๋ด ๋ผ ๊ฒฝ์ฐ
- ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ค๋ฅธ ๋์ญ(Rack 1 -> Rack 2)์ผ๋ก ์ด๋ํ์ง๋ง, ๋
ผ๋ฆฌ์ ์ผ๋ก๋ VXLAN 100๋ฒ์ด๋ผ๋ ๊ฐ์์ ๊ธด ๋์ ์ ๊ณ์ ๊ฝํ ์๋ ์ํ์ด๋ค.
- VM ์
์ฅ์์๋ ์์ ์ด ์ด๋๋ก ๊ฐ๋์ง ๋ชจ๋ฅธ๋ค. IP ์ฃผ์(10.1.1.5)๋ฅผ ๊ทธ๋๋ก ์ ์งํ ์ฑ ๋ชธ๋ง ์ด๋ํ ์ ์๋ค.
- ๋ฌผ๋ฆฌ๋ง์ VXLAN ํจํท์ ๋ชฉ์ ์ง๊ฐ A ์๋ฒ์์ B ์๋ฒ๋ก ๋ฐ๋ ๊ฒ์ ์ธ์ํ๊ณ ๋ฐฐ์ก์ง(Outer IP)๋ง ๋ฐ๊ฟ์ฃผ๋ฉด ๋์ด๋ค.
- ํ๋์ ๋ผ์ฐํฐ ์๋์์ ๋๊ฐ์ IP 2๊ฐ๊ฐ ์กด์ฌํ ์ ์๋ค. ํ์ง๋ง VXLAN์ ์ฐ๋ฉด VNI 100, VNI 200์ ํ ๋นํ์ฌ ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๊ฐ์ ์ค์์น๋ฅผ ํ๊ณ ํ๋ฅด์ง๋ง, ์บก์ํ๋ ํจํท์ ์ฐํ ID(VNI)๊ฐ ๋ค๋ฅด๋ฏ๋ก ์๋ก ๊ฒฉ๋ฆฌ๋๋ค.