PVE প্রক্সমক্স বাংলা ডকুমেন্টেশন

ফেজ ৫ — প্রক্সমক্স নেটওয়ার্কিং (Proxmox Networking)#

৮টি লেসন · আনুমানিক ৪ ঘণ্টা ৩০ মিনিট · লেভেল: মধ্যম

ফেজ ২ ছিল সাধারণ নেটওয়ার্কিং। এই ফেজ শুধু প্রক্সমক্সের নেটওয়ার্ক স্তুপ নিয়ে — ব্রিজ, VLAN, বন্ড, ফায়ারওয়াল, SDN।


লেসন ১ — লিনাক্স ব্রিজ ও vmbr0 (৩৫ মিনিট)#

সহজ ভাষায়#

লিনাক্স ব্রিজ হলো একটি সফটওয়্যার সুইচ। ইনস্টলের সময় vmbr0 তৈরি হয়। প্রতিটি VM-এর NIC একটি ব্রিজে লাগে, আর ব্রিজ ফ্রেম আদান-প্রদান করে — ঠিক আসল সুইচের মতো।

BASH
cat /etc/network/interfaces
# auto vmbr0
# iface vmbr0 inet static
#   address 192.168.1.100/24
#   gateway 192.168.1.1
#   bridge-ports eno1        ← ফিজিক্যাল NIC ব্রিজে যুক্ত
#   bridge-stp off
#   bridge-fd 0

bridge fdb show vmbr0     # ব্রিজ কোন কোন MAC শিখেছে
brctl show                # ব্রিজ ও তার সদস্য
ip link show vmbr0        # UP আছে কি না

দুইটি প্রচলিত নকশা#

নকশাকীভাবেফল
Bridged (ডিফল্ট)bridge-ports eno1VM সরাসরি LAN-এ, একই সাবনেটে IP পায়
Isolated (NAT)bridge-ports noneVM শুধু নিজেদের ও হোস্টের সাথে কথা বলে; masquerade দিলে ইন্টারনেট পায়

একাধিক ব্রিজ (vmbr1, vmbr2) বানিয়ে আলাদা সেগমেন্ট রাখা যায়।

CODE
auto vmbr1
iface vmbr1 inet static
  address 10.10.10.1/24
  bridge-ports none
  bridge-stp off
  bridge-fd 0
  post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE
  post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE

ব্রিজের সেটিং:

  • bridge-stp off — Spanning Tree বন্ধ (একক হোস্টে নিরাপদ)
  • bridge-fd 0 — forwarding delay শূন্য (সাথে সাথে লিংক চালু)
  • bridge-maxwait 0 — বুটে অপেক্ষা করবে না

সতর্কতা: /etc/network/interfaces বদলানোর পর ifreload -a চালান। চালু সার্ভারে কখনো service networking restart করবেন না — ম্যানেজমেন্ট অ্যাক্সেস চলে যেতে পারে।


লেসন ২ — LXC কন্টেইনারে DHCP সার্ভার (৩০ মিনিট)#

সহজ ভাষায়#

DHCP সার্ভার হোস্টে চালালে কাজ হয়, কিন্তু হাইপারভাইজারে অপ্রয়োজনীয় সার্ভিস জমে। ভালো অভ্যাস: একটি ছোট unprivileged LXC কন্টেইনারে dnsmasq চালানো।

কেন কন্টেইনারে#

  • হোস্ট শুধু হাইপারভাইজারের কাজ করবে
  • ভুল কনফিগ হোস্টের নেটওয়ার্ক নষ্ট করতে পারবে না
  • আলাদা করে স্ন্যাপশট ও রিস্টার্ট করা যায়
  • অন্য নোডে সরিয়ে নেওয়া যায়
BASH
pct create 200 local:vztmpl/debian-13-standard_13.0-1_amd64.tar.zst \
  --hostname dhcp-server \
  --memory 256 --swap 0 \
  --rootfs local-lvm:4 \
  --net0 name=eth0,bridge=vmbr1,ip=10.0.0.2/24,gw=10.0.0.1 \
  --unprivileged 1 \
  --onboot 1

pct start 200
pct exec 200 -- apt-get update -qq
pct exec 200 -- apt-get install -y dnsmasq

pct exec 200 -- bash -c "cat > /etc/dnsmasq.conf << 'CONF'
interface=eth0
bind-interfaces
dhcp-range=10.0.0.50,10.0.0.200,24h
dhcp-option=3,10.0.0.1
dhcp-option=6,1.1.1.1,8.8.8.8
domain=lab.local
local=/lab.local/
CONF"

pct exec 200 -- systemctl enable --now dnsmasq
pct exec 200 -- ss -ulnp | grep dnsmasq     # পোর্ট 67-এ শুনছে কি না

VM-কে DHCP ব্যবহার করানো#

BASH
qm set 100 --ipconfig0 ip=dhcp
qm set 100 --net0 virtio,bridge=vmbr1
qm guest exec 100 -- ip addr show eth0
pct exec 200 -- cat /var/lib/misc/dnsmasq.leases   # কে কোন IP পেল

টিপ: DHCP কন্টেইনারকে স্ট্যাটিক IP দিন (এখানে 10.0.0.2)। যে DHCP সার্ভার নিজেই DHCP-এর উপর নির্ভর করে, সেটি বুটের সময় বিশৃঙ্খলা তৈরি করে।


লেসন ৩ — প্রক্সমক্সে VLAN (৪০ মিনিট)#

সহজ ভাষায়#

VLAN একই ফিজিক্যাল নেটওয়ার্ককে যুক্তিগতভাবে ভাগ করে। বাড়তি NIC ছাড়াই VM-দের আলাদা সেগমেন্টে রাখা যায়। শর্ত: সুইচের পোর্টটি ট্রাংক হতে হবে।

পদ্ধতি ১ — VLAN-aware ব্রিজ (সুপারিশ)#

CODE
auto vmbr0
iface vmbr0 inet static
  address 192.168.1.100/24
  gateway 192.168.1.1
  bridge-ports eno1
  bridge-stp off
  bridge-fd 0
  bridge-vlan-aware yes
  bridge-vids 2-4094
BASH
qm set 100 --net0 virtio,bridge=vmbr0,tag=10    # VM VLAN 10-এ
qm set 101 --net0 virtio,bridge=vmbr0,tag=20    # VM VLAN 20-এ

পদ্ধতি ২ — প্রতি VLAN-এ আলাদা ব্রিজ (পুরনো ধরন)#

CODE
auto vmbr10
iface vmbr10 inet manual
  bridge-ports eno1.10
  bridge-stp off
  bridge-fd 0
পদ্ধতি ১পদ্ধতি ২
কনফিগএক ব্রিজ, প্রতি VM-এ tagপ্রতি VLAN-এ আলাদা ব্রিজ
স্কেলঅনেক VLAN-এ সহজবেশি হলে জটিল
সুপারিশProxmox 7+পুরনো সেটআপে
BASH
bridge vlan show                    # ব্রিজে কোন VLAN আছে
tcpdump -i eno1 -e -n vlan          # ট্যাগ করা ফ্রেম আসছে কি না

সতর্কতা: সবচেয়ে সাধারণ ভুল — bridge-vlan-aware yes দেওয়া, কিন্তু bridge-vids না দেওয়া। অনুমোদিত VLAN রেঞ্জ না থাকলে ট্যাগ করা ট্রাফিক নীরবে ফেলে দেওয়া হয়।


লেসন ৪ — NIC বন্ডিং ও রিডান্ডেন্সি (৩০ মিনিট)#

সহজ ভাষায়#

বন্ডিং একাধিক ফিজিক্যাল NIC মিলিয়ে একটি ভার্চুয়াল NIC বানায় — হয় রিডান্ডেন্সির জন্য, নয়তো বেশি ব্যান্ডউইথের জন্য। প্রোডাকশনে একটি NIC নষ্ট হলেই VM বন্ধ — বন্ড থাকলে হয় না।

বন্ড মোড#

মোডকাজসুইচ কনফিগ লাগে?
active-backup (১)একটি চালু, বাকিরা স্ট্যান্ডবাইনা — সবচেয়ে সহজ ও নিরাপদ
802.3ad / LACP (৪)সবগুলো একসাথে চলে, লোড ভাগ হয়হ্যাঁ, ম্যানেজড সুইচ লাগে
balance-rr (০)পালা করে পাঠায়না, তবে প্যাকেটের ক্রম নষ্ট হয় — TCP-তে এড়ান
balance-alb (৬)অভিযোজিত লোড ব্যালান্সনা
CODE
auto bond0
iface bond0 inet manual
  bond-slaves eno1 eno2
  bond-mode 802.3ad
  bond-miimon 100
  bond-xmit-hash-policy layer3+4

auto vmbr0
iface vmbr0 inet static
  address 192.168.1.100/24
  gateway 192.168.1.1
  bridge-ports bond0
  bridge-stp off
  bridge-fd 0
BASH
cat /proc/net/bonding/bond0                      # বন্ডের অবস্থা
watch -n1 cat /proc/net/bonding/bond0            # লাইভ দেখা
ip link set eno1 down                            # ফেইলওভার পরীক্ষা
ip link set eno1 up
cat /proc/net/bonding/bond0 | grep "Currently Active"

পরামর্শ: সুইচে LACP না থাকলে active-backup নিন। থাকলে 802.3ad নিন। পরীক্ষা করার সময় সত্যিই ক্যাবল খুলে দেখুন — সফটওয়্যার পরীক্ষা যথেষ্ট নয়।


লেসন ৫ — প্রক্সমক্স ফায়ারওয়াল (৩৫ মিনিট)#

সহজ ভাষায়#

প্রক্সমক্সের ফায়ারওয়াল তিন স্তরের। উপরের স্তরের রুল নিচে গড়িয়ে পড়ে, আর প্রতিটি স্তর আলাদাভাবে চালু-বন্ধ করা যায়।

স্তরফাইলকাকে রক্ষা করে
Datacenter/etc/pve/firewall/cluster.fwপুরো ক্লাস্টার
Node/etc/pve/nodes/pve1/host.fwওই হোস্ট
VM/CT/etc/pve/firewall/100.fwওই VM
CODE
[OPTIONS]
enable: 1
policy_in: DROP      # যা অনুমতি দেওয়া নেই, সব বন্ধ
policy_out: ACCEPT

[RULES]
IN ACCEPT -p tcp --dport 22 -s 192.168.1.0/24   # SSH শুধু LAN থেকে
IN ACCEPT -p tcp --dport 80
IN ACCEPT -p tcp --dport 443
IN ACCEPT -p icmp
IN DROP

IPSet ও সিকিউরিটি গ্রুপ#

IPSet হলো নামযুক্ত IP-এর দল। একই IP অনেক রুলে লাগলে এটি ব্যবহার করুন।

CODE
[IPSET management-hosts]
192.168.1.10
192.168.1.11
192.168.1.0/24

IN ACCEPT -p tcp --dport 22 -s +management-hosts

[group web-server]
IN ACCEPT -p tcp --dport 80
IN ACCEPT -p tcp --dport 443
IN ACCEPT -p tcp --dport 22 -s +management-hosts

VM-এর ফাইলে GROUP web-server লিখলেই পুরো দলটি প্রয়োগ হয়।

BASH
pvesh set /nodes/pve1/firewall/options --enable 1
iptables -L -n -v | grep -A5 "Chain pve"     # আসল রুল দেখা

মনে রাখুন: pvesh create দিয়ে রুল বানালে সেটি ডিফল্টে নিষ্ক্রিয় থাকে। সবসময় --enable 1 যোগ করুন। (এই ভুলের বাস্তব গল্প জার্নি ডকের ১২ নম্বর অধ্যায়ে।)


লেসন ৬ — SDN (সফটওয়্যার-ডিফাইন্ড নেটওয়ার্কিং) (৪০ মিনিট)#

সহজ ভাষায়#

SDN (প্রক্সমক্স ৭.৩ থেকে) ক্লাস্টারের জন্য ওভারলে নেটওয়ার্ক দেয়। প্রতিটি নোডে হাতে হাতে ব্রিজ বানাতে হয় না — SDN নিজেই সব নোডে কনফিগ ছড়িয়ে দেয়।

শব্দমানে
Zoneআইসোলেশনের সীমা ও ধরন (Simple, VLAN, EVPN, VXLAN)
VNetজোনের ভেতরের ভার্চুয়াল নেটওয়ার্ক — VM এতে যুক্ত হয়
Simple zoneপ্রতি নোডে আলাদা, নোডের মধ্যে সংযোগ নেই — ল্যাবের জন্য
VLAN zoneবিদ্যমান ব্রিজের উপর 802.1Q ট্যাগ
EVPN zoneBGP ওভারলে — VM অন্য নোডে গেলেও একই IP রাখে
VXLAN zoneL3-এর উপর L2 টানেল — EVPN-এর চেয়ে সহজ, BGP লাগে না
BASH
pvesh create /cluster/sdn/zones --zone myzone --type simple
pvesh create /cluster/sdn/vnets --vnet vnet-web --zone myzone
pvesh create /cluster/sdn/vnets/vnet-web/subnets \
  --subnet 10.10.10.0/24 --type subnet --gateway 10.10.10.1

pvesh set /cluster/sdn --apply 1

EVPN-এর শর্ত: সব নোডে Open vSwitch, FRRouting (BGP), এবং আলাদা ট্রান্সপোর্ট নেটওয়ার্ক।

সতর্কতা: যেকোনো SDN পরিবর্তনের পর pvesh set /cluster/sdn --apply 1 চালান। apply না করলে কনফিগ শুধু ডাটাবেসে থাকে, নোডগুলো পুরনো সেটআপেই চলতে থাকে।


লেসন ৭ — প্রক্সমক্সে Open vSwitch (৩৫ মিনিট)#

সহজ ভাষায়#

OVS একটি উন্নত ভার্চুয়াল সুইচ — OpenFlow, VXLAN টানেল, ট্রাফিক মিররিং ও ফ্লো নিয়ন্ত্রণ দেয়। সাধারণ লিনাক্স ব্রিজে এসব নেই।

লিনাক্স ব্রিজOVS
জটিলতাসহজ, ভেতরেই আছেবেশি ফিচার, বেশি জটিল
কাজসাধারণ L2 ফরওয়ার্ডিংফ্লো-ভিত্তিক, VXLAN/GENEVE, রেট লিমিট, মিররিং
কখনবেশিরভাগ সেটআপে যথেষ্টবড় ডিপ্লয়মেন্ট, SDN EVPN
BASH
apt install openvswitch-switch
ovs-vsctl add-br ovsbr0
ovs-vsctl add-port ovsbr0 eno1

ovs-vsctl show
ovs-vsctl list-br
ovs-ofctl dump-flows ovsbr0

# দুই নোডের মধ্যে VXLAN টানেল
ovs-vsctl add-port ovsbr0 vxlan0 \
  -- set Interface vxlan0 type=vxlan \
  options:remote_ip=192.168.1.101 options:key=100

/etc/network/interfaces-এ OVS সিনট্যাক্স আলাদা: ovs_type OVSBridge, ovs_ports eno1

পরামর্শ: ক্লাস্টারে হাতে OVS কনফিগ না করে SDN ব্যবহার করুন। SDN নিজেই OVS ব্রিজ ও VXLAN টানেল বানিয়ে দেয়।


লেসন ৮ — প্রক্সমক্স নেটওয়ার্ক ট্রাবলশুটিং (৪০ মিনিট)#

VM তৈরির পর নেটওয়ার্ক নেই#

BASH
qm config 100 | grep net                        # NIC কনফিগ ঠিক আছে?
brctl show vmbr0 && ip link show vmbr0          # ব্রিজ আছে ও UP?
bridge fdb show dev vmbr0 | grep -v permanent   # VM-এর MAC দেখা যাচ্ছে?
tcpdump -i vmbr0 -n ether host AA:BB:CC:DD:EE:FF
qm config 100 | grep tag && bridge vlan show dev vmbr0   # VLAN মিলছে?

লাইভ মাইগ্রেশন টাইমআউট#

BASH
nc -zv pve2 60000                     # মাইগ্রেশন পোর্ট
iptables -L -n | grep 60000
cat /etc/pve/datacenter.cfg | grep migration
pvesh set /cluster/options --migration_network 10.10.10.0/24

MTU অমিল — নীরব ঘাতক#

BASH
ip link show | grep mtu
ping -M do -s 1472 192.168.1.1     # ১৪৭২ + ২৮ = ১৫০০ MTU পরীক্ষা
ping -M do -s 8972 192.168.1.1     # জাম্বো ফ্রেম (৯০০০) পরীক্ষা

ip link set dev eno1 mtu 9000
qm set 100 --net0 virtio,bridge=vmbr0,mtu=9000

সতর্কতা: MTU পুরো পথে এক হতে হবে: NIC → সুইচ পোর্ট → ব্রিজ → VM NIC। অমিল থাকলে ছোট পিং কাজ করে, কিন্তু বড় ফাইল ট্রান্সফার মাঝপথে আটকে যায় — খুব বিভ্রান্তিকর উপসর্গ।

VM-এ ইন্টারনেট নেই#

BASH
# VM-এর ভেতরে
ip route show && ping 192.168.1.1 && ping 8.8.8.8

# হোস্টে
iptables -t nat -L POSTROUTING -n -v      # MASQUERADE রুল আছে?
cat /proc/sys/net/ipv4/ip_forward         # ১ হতে হবে
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p

দ্রুত চেকলিস্ট#

উপসর্গপ্রথমে দেখুন
একদম নেটওয়ার্ক নেইব্রিজ আছে? VM-এর NIC কনফিগ ঠিক?
একই সাবনেট চলে, অন্যটি চলে নারাউটিং টেবিল
ইন্টারনেট নেইip_forward ও masquerade রুল
বড় ট্রান্সফার আটকায়, পিং চলেMTU অমিল
মাইগ্রেশন টাইমআউটপোর্ট 60000
একই VLAN-এর VM একে অন্যকে পায় নাbridge-vlan-awarebridge-vids

ফেজ ৫ শেষে আপনি যা পারবেন#

  • ব্রিজ বানানো ও NAT সহ বিচ্ছিন্ন নেটওয়ার্ক তৈরি
  • কন্টেইনারে DHCP সার্ভার চালানো
  • VLAN-aware ব্রিজ ও প্রতি VM-এ ট্যাগ বসানো
  • NIC বন্ড করে রিডান্ডেন্সি আনা
  • তিন স্তরের ফায়ারওয়াল ও IPSet ব্যবহার করা
  • SDN জোন ও VNet বানানো
  • OVS-এর প্রয়োজন বোঝা
  • নেটওয়ার্ক সমস্যা ধাপে ধাপে সমাধান করা

পরবর্তী: ফেজ ৬ — আসল প্রক্সমক্স VE