Konfiguracja prywatnej sieci 172.16.61.0/24 z DHCP i NAT – Proxmox

Konfiguracja prywatnej sieci 172.16.61.0/24 z DHCP i NAT – Proxmox

 

 

Poradnik: Konfiguracja prywatnej sieci 172.16.61.0/24 z DHCP i NAT

Środowisko: Proxmox / Debian / Ubuntu Server

1. Założenia architektury

  • Sieć prywatna: 172.16.61.0/24
  • Brama: 172.16.61.1 (vmbr1)
  • Dostęp do Internetu przez: vmbr0
  • DHCP z rezerwacjami statycznymi (fixed-address)
  • NAT (MASQUERADE) dla całej podsieci

2. Konfiguracja mostu vmbr1

Plik: /etc/network/interfaces

source /etc/network/interfaces.d/*

auto vmbr1
iface vmbr1 inet static
        address  172.16.61.1
        netmask  255.255.255.0
        bridge_ports none
        bridge_stp off
        bridge_fd 0

        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '172.16.61.0/24' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '172.16.61.0/24' -o vmbr0 -j MASQUERADE

Co robi ta konfiguracja?

  • Tworzy prywatny bridge bez fizycznej karty sieciowej
  • Ustawia bramę 172.16.61.1
  • Włącza IP forwarding
  • Tworzy NAT (masquerade) do Internetu przez vmbr0

Po zmianach wykonaj: systemctl restart networking lub reboot.

3. Instalacja serwera DHCP

apt update
apt install isc-dhcp-server -y

Ustaw interfejs w pliku:

/etc/default/isc-dhcp-server

INTERFACESv4="vmbr1"

4. Konfiguracja DHCP

Plik: /etc/dhcp/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;

subnet 172.16.61.0 netmask 255.255.255.0 {
    authoritative;
    default-lease-time 21600000;
    max-lease-time 432000000;
    option routers 172.16.61.1;
    option domain-name-servers 8.8.8.8,4.2.2.1;

    host VM_1 {
        hardware ethernet 02:00:00:2e:3f:c5;
        fixed-address 172.16.61.3;
    }

    host VM_2 {
        hardware ethernet 02:00:00:2e:3f:b5;
        fixed-address 172.16.61.4;
    }

    host VM_3 {
        hardware ethernet 02:00:00:2d:3f:b5;
        fixed-address 172.16.61.6;
    }
}

Wyjaśnienie:

  • authoritative – serwer jest głównym DHCP dla tej sieci
  • option routers – brama domyślna
  • option domain-name-servers – DNS
  • host – rezerwacja IP po MAC

5. Uruchomienie usługi

systemctl restart isc-dhcp-server
systemctl enable isc-dhcp-server
systemctl status isc-dhcp-server

6. Test działania

Sprawdzenie NAT

iptables -t nat -L -n -v

Sprawdzenie IP Forwarding

cat /proc/sys/net/ipv4/ip_forward

Sprawdzenie logów DHCP

journalctl -u isc-dhcp-server

7. Schemat działania

VM (172.16.61.x)

vmbr1 (172.16.61.1)

NAT (iptables MASQUERADE)

vmbr0 (public IP)

Internet

8. Najczęstsze błędy

  • Brak ustawienia INTERFACESv4=”vmbr1″
  • IP forwarding wyłączony
  • Firewall blokuje ruch
  • VM nie ma ustawionej karty na vmbr1

9. Podsumowanie

Konfiguracja tworzy całkowicie odseparowaną sieć prywatną z pełnym dostępem do Internetu
przez NAT. Każda maszyna wirtualna dostaje stały adres IP na podstawie MAC.
Rozwiązanie idealne dla środowisk testowych, VPS prywatnych oraz izolowanych klastrów.

10. Przykłady DNAT (Port Forwarding z vmbr0 do VM)

Jeżeli chcesz przekierować ruch z publicznego IP (vmbr0) do konkretnej maszyny w sieci prywatnej 172.16.61.0/24, używasz reguły DNAT w tablicy nat, łańcuch PREROUTING.

Przykład 1: Przekierowanie portu 3000 → 172.16.61.3:8007

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3000 \
    -j DNAT --to-destination 172.16.61.3:8007

Co robi ta reguła?

  • -t nat – użycie tablicy NAT
  • PREROUTING – modyfikacja pakietu przed routingiem
  • -i vmbr0 – ruch przychodzący z Internetu
  • –dport 3000 – port publiczny
  • DNAT – zmiana adresu docelowego
  • Ruch trafia finalnie na 172.16.61.3:8007

Wymagane dodatkowe reguły FORWARD

iptables -A FORWARD -p tcp -d 172.16.61.3 --dport 8007 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp -s 172.16.61.3 --sport 8007 -m state --state ESTABLISHED,RELATED -j ACCEPT

Przykład 2: HTTP → VM_2

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 \
    -j DNAT --to-destination 172.16.61.4:80

Usuwanie reguły

iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 3000 \
    -j DNAT --to-destination 172.16.61.3:8007

Trwałość po restarcie

Aby reguły przetrwały restart systemu:

apt install iptables-persistent -y
netfilter-persistent save
Internet → vmbr0 (public IP:3000)

DNAT

172.16.61.3:8007 (VM)

 

Netcloud24.com

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *