Files
2026-07-09 16:49:35 +03:00
..
2026-04-03 13:22:29 +03:00
2025-12-04 10:51:36 +03:00
2023-08-06 16:52:21 +03:00
2025-11-11 11:40:32 +03:00
2023-04-11 12:33:43 +03:00
2026-07-09 16:49:35 +03:00
2024-01-19 10:29:35 +03:00
2025-06-19 10:41:49 +03:00
2026-06-27 00:39:28 +03:00
2025-12-30 12:20:11 +03:00
2025-12-04 10:51:36 +03:00
2025-10-24 23:41:39 +03:00
2025-10-24 23:41:39 +03:00
2026-06-27 00:39:28 +03:00

Install proxmox on Hetzner

Войдите в консоль корневого сервера Hetzner и перейдите в раздел Rescue Mode, чтобы загрузить сервер в режиме восстановления. Заходим на терминал и там предложат установить ОС командой installimage

Запускаем, выбираем Other (!!NO SUPPORT!!) - Proxmox7 installimage

Разметка диска, настраиваем RAID0 (так я делал в prox8)

DRIVE1 /dev/nvme0n1
DRIVE2 /dev/nvme1n1
SWRAID 1
SWRAIDLEVEL 0 # Use 1 for Raid 1

HOSTNAME prox8 # Set correct hostname

PART /boot/efi esp 256M
PART /boot ext4 1024M
PART lvm vg0 all

LV vg0 root / ext4 20G
LV vg0 swap swap swap 24G
LV vg0 data /var/lib/vz  xfs all

# List images with ls /root/.oldroot/nfs/install/../images
IMAGE /root/.oldroot/nfs/install/../images/Debian-1107-bullseye-amd64-base.tar.gz

Конфигурация массива без LVM, что позволяет, в дальнейшем, тонок настроить конфигурацию файловой системы

SWRAID 1
SWRAIDLEVEL 0

PART swap swap 24G
PART /boot ext3 1024M
PART / ext4 20G
PART /var/lib/vz xfs all

Настройка сети с NAT и мрашрутизацией для виртуалных машин. Взято тут https://adminwin.ru/nastroyka-nat-dlya-virtualynh-mashin-proxmox/

nano /etc/network/interfaces
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp7s0
iface enp7s0 inet static
        address 65.109.116.119/26
        gateway 65.109.116.65
        up route add -net 65.109.116.64 netmask 255.255.255.192 gw 65.109.116.65 dev enp7s0
# route 65.109.116.64/26 via 65.109.116.65

iface enp7s0 inet6 static
        address 2a01:4f9:3051:1005::2/64
        gateway fe80::1

iface eth0 inet manual

#auto vmbr100
#iface vmbr100 inet static
#       address 192.168.100.0/24
#       bridge-ports none
#       bridge-stp off
#       bridge-fd 0

auto vmbr100
iface vmbr100 inet static
        address 192.168.100.1
        netmask 255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0

#NAT

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

post-up iptables -t raw -C PREROUTING -i fwbr+ -j CT --zone 1 2>/dev/null || iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1 2>/dev/null || true

OVH

iface lo inet loopback

iface eno1 inet manual

iface enp3s0f1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 167.114.172.204/24
        gateway 167.114.172.254
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0
        hwaddress AC:1F:6B:05:B7:84

iface vmbr0 inet6 static
        address 2607:5300:60:73cc::/64
        gateway 2607:5300:60:73ff:ff:ff:ff:ff



auto vmbr100
iface vmbr100 inet static
        address 192.168.100.1/24
        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 '192.168.100.0/24' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.100.0/24' -o vmbr0 -j MASQUERADE
#NAT

post-up   iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1

Попался проблемный сервер, где LXC контейнер не мог получить интернет, решение ниже

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp195s0
iface enp195s0 inet static
        address 162.55.133.173/26
        gateway 162.55.133.129
        up route add -net 162.55.133.128 netmask 255.255.255.192 gw 162.55.133.129 dev enp195s0
# route 162.55.133.128/26 via 162.55.133.129

iface enp195s0 inet6 static
        address 2a01:4f8:271:5f92::2/64
        gateway fe80::1

iface eth0 inet manual

iface eth1 inet manual

auto vmbr100
iface vmbr100 inet static
        address 192.168.100.1
        netmask 255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0

#NAT

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

post-up   iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1 || true
Проверил prox14 / тестовый LXC 111. Ничего не менял.

  Что видно
  CT 111:

  net0: firewall=1, ip=192.168.100.24/24, gw=192.168.100.1

  Внутри контейнера:

  ping 192.168.100.1: OK
  ping 1.1.1.1: FAIL
  DNS: FAIL
  curl наружу: timeout

  Хост prox14 в интернет ходит нормально. LXC без firewall=1 тоже ходит наружу. Значит проблема именно в связке firewall=1 + NAT.

  Причина
  На prox14 есть MASQUERADE:

  -A POSTROUTING -s 192.168.100.0/24 -o enp7s0 -j MASQUERADE

  Но отсутствует runtime raw-правило conntrack zone для fwbr+:

  iptables-save -t raw
  # raw table пустая, правила fwbr+ нет

  При этом в /etc/network/interfaces оно прописано:

  post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1

  Но в активных правилах его нет. Поэтому для LXC с firewall=1, которые проходят через fwbr/fwln/fwpr, NAT работает неправильно.

  Это подтверждается conntrack:

  src=192.168.100.24 dst=185.12.64.2 ... [UNREPLIED]
  reply dst=192.168.100.24
  mark=111

  То есть пакет от CT 111 не получает нормальный SNAT на публичный IP 23.88.7.159; ответ ожидается обратно на приватный 192.168.100.24, что с интернета невозможно.

  Для LXC без firewall conntrack другой:

  src=192.168.100.29 dst=1.1.1.1 ...
  reply dst=23.88.7.159
  [ASSURED]
  mark=0

  Там NAT работает.

  Как решить
  Нужно восстановить raw conntrack-zone правило для firewall bridge:

  iptables -t raw -C PREROUTING -i fwbr+ -j CT --zone 1 || \
  iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1

  После этого новые соединения из LXC с firewall=1 должны начать NAT’иться корректно. Старые UNREPLIED conntrack-записи можно либо подождать, либо аккуратно удалить для
  конкретного CT.

  Постоянно лучше сделать idempotent-вариантом, а не голым -I, чтобы не плодить дубли после reload:

  post-up iptables -t raw -C PREROUTING -i fwbr+ -j CT --zone 1 || iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
  post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1 || true

  Коротко: проблема не в правилах самого CT 111; outbound из него firewall разрешает. Проблема в отсутствующем активном raw/conntrack-zone правиле для fwbr+ после
  переустановки prox14.