DMZ na Proxmoxe

DMZ na Proxmoxe
« kdy: 28. 10. 2025, 16:17:29 »
Topologia
Kód: [Vybrat]
Proxmox -- vmbr0 -- enp2s0 -- rb5009ug (eth2) -- internet (eth1)
Kód: [Vybrat]
LAN siet 192.168.100.0/24
IP PVE 192.168.100.2
vmbr0 je sietovy bridge pre VM a CT.

Chcem vytvorit novu siet (192.168.200.0/24), teda novy bridge pre server/y, ktore budu izolovane od 192.168.100.0/24.
Neviem ci je to najlepsia moznost, ale zrejme bude idelane pouzit VLAN (podporu ma MK ROS7 aj PVE 9).

Takze na MK

Kód: [Vybrat]
/interface vlan add name=vlan200_dmz interface=bridge1 vlan-id=200 comment="DMZ VLAN"
/ip address add address=192.168.200.1/24 interface=vlan200_dmz comment="DMZ network"
/ip firewall nat add chain=srcnat out-interface=pppoe-out1 src-address=192.168.200.0/24 action=masquerade comment="DMZ internet access"
/ip firewall filter add chain=forward src-address=192.168.200.0/24 dst-address=192.168.100.0/24 action=drop comment="Block DMZ -> LAN"
Pre zaklad by to malo stacit.

PVE

do /etc/network/interfaces pridavam

Kód: [Vybrat]
auto vmbr200
iface vmbr200 inet manual
    bridge-ports enp2s0.200
    bridge-stp off
    bridge-fd 0

Jediny problem je ze som geograficky od PVE dalej a siet na proxmoxe po reboote padla (divne je, ze LXC a VM bezia bez problemov dalej).

Viete ma nakopnut ci idem dobrym smerom a kde robim chybu ?


Re:DMZ na Proxmoxe
« Odpověď #1 kdy: 29. 10. 2025, 13:50:45 »
bud zdrav s proxmoxem zacinam.. ale tim spis to mam ted cerstve vozkouseny. mam proxmox 9.
Kód: [Vybrat]
pve-manager/9.0.11/3bf5476b8a4699e2 (running kernel: 6.14.11-4-pve)

na trunk interface mam
Kód: [Vybrat]
auto sfpplus
iface sfpplus inet manual
        bridge-ports ens1f0np0 ens1f1np1
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2 5 10 20 30 40 50 60 70 80 90 100 110 120

a na jednotlivejch hostech do sitovky si napises jaky vlan ID chces a proxmox zaridi zbytek sam. tzn bridge primo pro vlany nevyrabis, pokud tam nepotrebujes mit management if.
Kód: [Vybrat]
net0: virtio=BC:24:11:EC:D6:99,bridge=sfpplus,firewall=1,tag=10

pokud bys tam chtel mit mgmt if udelas neco takovyho
Kód: [Vybrat]
auto vlan2
iface vlan2 inet static
        address 10.1.2.4/24
        gateway 10.1.2.1
        bridge-ports sfpplus.2
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2

stalo se mi ze se proxmoxu nejak kouslo sitovani pri nastavovani z guicka a musel jsem ho protocit z iDracu z local console. nevylucuju, ze moji chybou.

je zajimavy ze to co maj v dokumentaci mi nefungovalo
zatim to mam takhle v testovacim provozu a zda se to delat co od toho cekam.

Re:DMZ na Proxmoxe
« Odpověď #2 kdy: 29. 10. 2025, 16:12:37 »
na trunk interface mam
Kód: [Vybrat]
auto sfpplus
iface sfpplus inet manual
        bridge-ports ens1f0np0 ens1f1np1
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2 5 10 20 30 40 50 60 70 80 90 100 110 120

a na jednotlivejch hostech do sitovky si napises jaky vlan ID chces a proxmox zaridi zbytek sam. tzn bridge primo pro vlany nevyrabis, pokud tam nepotrebujes mit management if.
Kód: [Vybrat]
net0: virtio=BC:24:11:EC:D6:99,bridge=sfpplus,firewall=1,tag=10

Souhlas, jenom dávat bridgi jméno "sfpplus" mi přijde potenciálně poněkud matoucí :-)
Defaultní vmbr0 mi přijde přehlednější.
Jinak ale logika té konfigurace je myslím v pořádku.

pokud bys tam chtel mit mgmt if udelas neco takovyho
Kód: [Vybrat]
auto vlan2
iface vlan2 inet static
        address 10.1.2.4/24
        gateway 10.1.2.1
        bridge-ports sfpplus.2
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 2

Opět to pojmenování... interface jménem "vlan2", ale typu bridge... jasně, je to věc subjektivního vkusu.
Navíc vlan-aware (= bridguje včetně tagů) ale nakonec omezený na tag2...
Vytvořil jste druhý bridge, do kterého přiřazujete VLAN subinterface z prvního bridge... err...
dejte mi někdo pohlavek, jestli nevím o nějaké skryté samočinné eleganci :-)

Sečteno podtrženo, co třeba takto?
V tom prvním iface bloku si jenom přejmenuju defaultní bridge na defaultní jméno, čistě pro svoje egoistické uspokojení:

Kód: [Vybrat]
auto vmbr0
iface vmbr0 inet manual
        bridge-ports ens1f0np0 ens1f1np1
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes        # toto v defaultu tuším není, správně jste to přidal
        bridge-vids 2 5 10 20 30 40 50 60 70 80 90 100 110 120

auto vmbr0.2
iface vmbr0.2 inet static
        address 10.1.2.4/24
        gateway 10.1.2.1

...vytvoří ten VLANový subinterface s VID=2 pro hostitele automaticky nad defaultním vmbr0.
A pokud byste potřeboval, aby do mngt VLANy viděli taky někteří guesti, tak přiřadit tag v Proxmox GUI jak správně píšete... není potřeba tam pečovat o další bridge, všechno to zvládne bridgovat ten jeden defaultní VLAN-aware.

Mimochodem ty dva tagované fyzické porty... nezasloužily by si spíš LACP bond? (záleží, jaký je jejich smysl v navazující topologii)
« Poslední změna: 29. 10. 2025, 16:15:23 od František Ryšánek »

Jose D

  • *****
  • 914
    • Zobrazit profil
Re:DMZ na Proxmoxe
« Odpověď #3 kdy: 29. 10. 2025, 17:28:32 »
Kód: [Vybrat]
Proxmox -- vmbr0 -- enp2s0 -- rb5009ug (eth2) -- internet (eth1)

mám tu skoro identickej setup. už jsi to rozjel?

Re:DMZ na Proxmoxe
« Odpověď #4 kdy: 29. 10. 2025, 18:49:43 »
dekuju za nazor.
priznavam se, ze jsem prvni sel dle toho co maji v Proxmoxi dokumentaci a nefungovalo mi to.
uz s tim tedka vic laborovat nemam kdy. Vykonove tam problem nevidim snad nebudu zaskocen. kazdopadne pri dalsi prilezitosti (plusminus mesic) zkusim Vas navrh a kdyz nezapomenu dam sem vedet. taky mi to prijde jako nesmysl na prvni pohled a dosel jsem tam v podstate vylucovaci metodou ze zoufalstvi. az bude potreba dojet posledni metr role v plotaku tak mam prichystanej linux packet flow a snad se mi rozsviti az to budu mit na plachte..

Navíc vlan-aware (= bridguje včetně tagů) ale nakonec omezený na tag2...
chapu ze bych se tam mohl dostat do QinQ sitauce ale viz vyse.

ja si to predstavuju jako cisco ekvivalent
Kód: [Vybrat]
switchport mode trunk
switchport trunk native vlan 2
switchport allowed vlan 2
coz by efektivne melo delat to samy co
Kód: [Vybrat]
switchport mode access
switchport access vlan 2
snad, ale proste to nechodilo. mozna jsem nekde v ramci testovani udelal o restart min a vzdycky budu prvni predpokladat chybu u sebe :)
jsem posledni dobou dost unavenej a pristihuju se delat dost debilni chyby, tak to co pisu berte prosim jako s rezervou, prvni prispevek mam z poznamek a doslova mi to takhle funguje a dost jsem se s tim nazlobil, jinac bych snad mlcel a cekal az snad obnovi me dusevni schopnosti..


Re:DMZ na Proxmoxe
« Odpověď #5 kdy: 30. 10. 2025, 00:33:13 »
@panpanika v klidu, nejsme ve škole a já nejsem učitel ani šéf :-)
Já jsem jenom zkombinoval historické znalosti jak se to konfiguruje holýma rukama v živém systému: ifconfig, ip, brctl, bridge, vconfig...   s jakousi znalostí debianího tradičního konfiguráku /etc/network/interfaces. Který má docela obstojnou dokumentaci, a poměrně dost navazujících examplů se válí různě po internetu - např. na serverech ze skupiny StackExchange (vč. Ask Ubuntu).
Dokumentace Proxmoxu ohledně toho vlan-aware bridge mi přišla poměrně kusá, ale když jsem to poskládal s examply z Debianu, tak mi vyšlo něco, co mi dává smysl. A v Proxmoxu mi to funguje. A rozhodně netvrdím, že je to jediná správná možnost.

Re:DMZ na Proxmoxe
« Odpověď #6 kdy: Dnes v 12:43:58 »
Kód: [Vybrat]
Proxmox -- vmbr0 -- enp2s0 -- rb5009ug (eth2) -- internet (eth1)

mám tu skoro identickej setup. už jsi to rozjel?
Mne to uz funguje, tak ako to mam povodne v prvom prispevku. Lenze ja nemam ziadny idrac ani ipmi, tak ze som musel cestovat k serveru fyzicky.
Toto je cely config
Kód: [Vybrat]
auto lo
iface lo inet loopback

iface enp2s0 inet manual

iface eno1 inet manual

iface wlp4s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.100.2/24
        gateway 192.168.100.1
        bridge-ports enp2s0
        bridge-stp off
        bridge-fd 0

auto vmbr200
iface vmbr200 inet manual
        bridge-ports enp2s0.200
        bridge-stp off
        bridge-fd 0

source /etc/network/interfaces.d/*
Neviem vsak dovod, preco som sa nevedel napojit po reboote na proxmox (paradoxne na ine CT a VM som sa bez problemov pripojil (na stejnom subnete ako je aj proxmox)).
Nie som specialita, ale ked som robil diagnostiku, ci VLAN funguje a taguje packety, tak sa zda, ze to fungovalo OK.
Info z MK
Kód: [Vybrat]
                         ;;; DMZ VLAN 200
                       name:      vlan200
      rx-packets-per-second:            2
         rx-bits-per-second:      1216bps
   fp-rx-packets-per-second:            2
      fp-rx-bits-per-second:      1216bps
        rx-drops-per-second:            0
       rx-errors-per-second:            0
      tx-packets-per-second:            2
         tx-bits-per-second:      1112bps
   fp-tx-packets-per-second:            0
      fp-tx-bits-per-second:         0bps
        tx-drops-per-second:            0
  tx-queue-drops-per-second:            0
       tx-errors-per-second:            0
Info z PVE

Kód: [Vybrat]
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp2s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
11:48:43.088516 f4:1e:57:f2:1c:c7 (oui Unknown) > bc:24:11:93:d8:b6 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 10.10.8.3 > 192.168.200.2: ICMP echo request, id 42605, seq 9, length 64
11:48:43.088545 bc:24:11:93:d8:b6 (oui Unknown) > f4:1e:57:f2:1c:c7 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 192.168.200.2 > 10.10.8.3: ICMP echo reply, id 42605, seq 9, length 64
11:48:44.090340 f4:1e:57:f2:1c:c7 (oui Unknown) > bc:24:11:93:d8:b6 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 10.10.8.3 > 192.168.200.2: ICMP echo request, id 42605, seq 10, length 64
11:48:44.090380 bc:24:11:93:d8:b6 (oui Unknown) > f4:1e:57:f2:1c:c7 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 192.168.200.2 > 10.10.8.3: ICMP echo reply, id 42605, seq 10, length 64
11:48:45.091594 f4:1e:57:f2:1c:c7 (oui Unknown) > bc:24:11:93:d8:b6 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 10.10.8.3 > 192.168.200.2: ICMP echo request, id 42605, seq 11, length 64
11:48:45.091635 bc:24:11:93:d8:b6 (oui Unknown) > f4:1e:57:f2:1c:c7 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 192.168.200.2 > 10.10.8.3: ICMP echo reply, id 42605, seq 11, length 64
11:48:46.092695 f4:1e:57:f2:1c:c7 (oui Unknown) > bc:24:11:93:d8:b6 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 10.10.8.3 > 192.168.200.2: ICMP echo request, id 42605, seq 12, length 64
11:48:46.092734 bc:24:11:93:d8:b6 (oui Unknown) > f4:1e:57:f2:1c:c7 (oui Unknown), ethertype 802.1Q (0x8100), length 102: vlan 200, p 0, ethertype IPv4 (0x0800), 192.168.200.2 > 10.10.8.3: ICMP echo reply, id 42605, seq 12, length 64
 
^C
8 packets captured
8 packets received by filter
0 packets dropped by kernel

Re:DMZ na Proxmoxe : Síť-Vytvořit- nový bridge
« Odpověď #7 kdy: Dnes v 18:54:03 »
Také to teď čerstvě řeším, (víc výzev, například  zda na routeru nechat iptables -I FORWARD -s 10.0.1.0/24 -d 10.0.1.0/24 -j ACCEPT) nebo nezvyk..... Je to taková školková úloha  zapojování drátů do krabiček.

Mě napadla jedna obvious věc: udělej to tak, aby rozsah pro VM byl odlišný od adresy clusteru.

----a/ nebo ----

Jak to udělat? Proxmox- Datacenter-Uzel počítač : v druhém vertikálním menu: Systém-Síť. Chvilku zastav, zapřemýšlej po rozklikni si upravit všech tří položek (vmbr0 enpes0 a wtf0wifi1the2fuck)  a pozoruj, co tam je za hodnoty
Já bych to udělat tak, že bych dal Vytvořit - Linux bridge a do portů mostu nedal nic, nebo jiné rozhraní, které tam chci., třeba bych ho pojmenoval pro změnu vm,bro. (a odteď nové CT/VM zapřahoval do vmbro)
Je to správně? Ptám se, že to vidím poprvé.
« Poslední změna: Dnes v 18:56:38 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »