ফেজ ৫ — প্রক্সমক্স নেটওয়ার্কিং (Proxmox Networking)#
৮টি লেসন · আনুমানিক ৪ ঘণ্টা ৩০ মিনিট · লেভেল: মধ্যম
ফেজ ২ ছিল সাধারণ নেটওয়ার্কিং। এই ফেজ শুধু প্রক্সমক্সের নেটওয়ার্ক স্তুপ নিয়ে — ব্রিজ, VLAN, বন্ড, ফায়ারওয়াল, SDN।
লেসন ১ — লিনাক্স ব্রিজ ও vmbr0 (৩৫ মিনিট)#
সহজ ভাষায়#
লিনাক্স ব্রিজ হলো একটি সফটওয়্যার সুইচ। ইনস্টলের সময় vmbr0 তৈরি হয়। প্রতিটি VM-এর NIC একটি ব্রিজে লাগে, আর ব্রিজ ফ্রেম আদান-প্রদান করে — ঠিক আসল সুইচের মতো।
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 eno1 | VM সরাসরি LAN-এ, একই সাবনেটে IP পায় |
| Isolated (NAT) | bridge-ports none | VM শুধু নিজেদের ও হোস্টের সাথে কথা বলে; masquerade দিলে ইন্টারনেট পায় |
একাধিক ব্রিজ (vmbr1, vmbr2) বানিয়ে আলাদা সেগমেন্ট রাখা যায়।
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 চালানো।
কেন কন্টেইনারে#
- হোস্ট শুধু হাইপারভাইজারের কাজ করবে
- ভুল কনফিগ হোস্টের নেটওয়ার্ক নষ্ট করতে পারবে না
- আলাদা করে স্ন্যাপশট ও রিস্টার্ট করা যায়
- অন্য নোডে সরিয়ে নেওয়া যায়
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 ব্যবহার করানো#
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 ব্রিজ (সুপারিশ)#
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-4094qm set 100 --net0 virtio,bridge=vmbr0,tag=10 # VM VLAN 10-এ
qm set 101 --net0 virtio,bridge=vmbr0,tag=20 # VM VLAN 20-এপদ্ধতি ২ — প্রতি VLAN-এ আলাদা ব্রিজ (পুরনো ধরন)#
auto vmbr10
iface vmbr10 inet manual
bridge-ports eno1.10
bridge-stp off
bridge-fd 0| পদ্ধতি ১ | পদ্ধতি ২ | |
|---|---|---|
| কনফিগ | এক ব্রিজ, প্রতি VM-এ tag | প্রতি VLAN-এ আলাদা ব্রিজ |
| স্কেল | অনেক VLAN-এ সহজ | বেশি হলে জটিল |
| সুপারিশ | Proxmox 7+ | পুরনো সেটআপে |
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 (৬) | অভিযোজিত লোড ব্যালান্স | না |
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 0cat /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 |
[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 DROPIPSet ও সিকিউরিটি গ্রুপ#
IPSet হলো নামযুক্ত IP-এর দল। একই IP অনেক রুলে লাগলে এটি ব্যবহার করুন।
[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-hostsVM-এর ফাইলে GROUP web-server লিখলেই পুরো দলটি প্রয়োগ হয়।
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 zone | BGP ওভারলে — VM অন্য নোডে গেলেও একই IP রাখে |
| VXLAN zone | L3-এর উপর L2 টানেল — EVPN-এর চেয়ে সহজ, BGP লাগে না |
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 1EVPN-এর শর্ত: সব নোডে Open vSwitch, FRRouting (BGP), এবং আলাদা ট্রান্সপোর্ট নেটওয়ার্ক।
সতর্কতা: যেকোনো SDN পরিবর্তনের পর
pvesh set /cluster/sdn --apply 1চালান। apply না করলে কনফিগ শুধু ডাটাবেসে থাকে, নোডগুলো পুরনো সেটআপেই চলতে থাকে।
লেসন ৭ — প্রক্সমক্সে Open vSwitch (৩৫ মিনিট)#
সহজ ভাষায়#
OVS একটি উন্নত ভার্চুয়াল সুইচ — OpenFlow, VXLAN টানেল, ট্রাফিক মিররিং ও ফ্লো নিয়ন্ত্রণ দেয়। সাধারণ লিনাক্স ব্রিজে এসব নেই।
| লিনাক্স ব্রিজ | OVS | |
|---|---|---|
| জটিলতা | সহজ, ভেতরেই আছে | বেশি ফিচার, বেশি জটিল |
| কাজ | সাধারণ L2 ফরওয়ার্ডিং | ফ্লো-ভিত্তিক, VXLAN/GENEVE, রেট লিমিট, মিররিং |
| কখন | বেশিরভাগ সেটআপে যথেষ্ট | বড় ডিপ্লয়মেন্ট, SDN EVPN |
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 তৈরির পর নেটওয়ার্ক নেই#
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 মিলছে?লাইভ মাইগ্রেশন টাইমআউট#
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/24MTU অমিল — নীরব ঘাতক#
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-এ ইন্টারনেট নেই#
# 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-aware ও bridge-vids |
ফেজ ৫ শেষে আপনি যা পারবেন#
- ব্রিজ বানানো ও NAT সহ বিচ্ছিন্ন নেটওয়ার্ক তৈরি
- কন্টেইনারে DHCP সার্ভার চালানো
- VLAN-aware ব্রিজ ও প্রতি VM-এ ট্যাগ বসানো
- NIC বন্ড করে রিডান্ডেন্সি আনা
- তিন স্তরের ফায়ারওয়াল ও IPSet ব্যবহার করা
- SDN জোন ও VNet বানানো
- OVS-এর প্রয়োজন বোঝা
- নেটওয়ার্ক সমস্যা ধাপে ধাপে সমাধান করা
পরবর্তী: ফেজ ৬ — আসল প্রক্সমক্স VE