{% include "_sidebar.html" %}
Сеть
NAT Router для VPS, проброс одиночных портов и диапазонов к VM
user: {{ user }} ← Дашборд
{% if error %}
{{ error }}
{% endif %}
NAT network
{{ ctx.nat.name }}
{{ 'ready' if ctx.nat.exists else 'not created' }}
Subnet
{{ ctx.nat.subnet }}
External interface
{{ ctx.external_interface }}
IPv4 forward
{{ ctx.ip_forward }}

Virtuality NAT Router

{{ ctx.nat.bridge }}
Gateway{{ ctx.nat.gateway }}
DHCP{{ ctx.nat.dhcp }}
Bridge{{ ctx.nat.bridge }}
{{ ctx.nat.info }}

DHCP leases

virsh net-dhcp-leases
{{ ctx.nat.leases }}
IP для проброса можно оставить auto или ввести вручную, если DHCP leases пустые, у VM статический IP, bridge-сеть или нет qemu-guest-agent.

Добавить проброс порта

DNAT auto/manual IP · ranges
Можно указать одиночный порт или диапазон. Если авто-IP не определяется, впиши IP VM вручную. Для VoIP/RTP обычно: внешний 10000-20000 → внутренний 10000-20000, протокол udp.

Диагностика публичного доступа

VM → Internet
{% if diagnostics %}

Результат диагностики

{{ diagnostics.vm_name }} · {{ diagnostics.protocol }} {{ diagnostics.external_port }} → {{ diagnostics.guest_port }}
{{ diagnostics.verdict }}
VM IP{{ diagnostics.vm_ip or 'not found' }}
External interface{{ diagnostics.external_interface }}
Mapping{{ diagnostics.external_port }} → {{ diagnostics.guest_port }}
{% for check in diagnostics.checks %} {% endfor %}
ПроверкаСтатусДетали
{{ check.name }} {{ 'OK' if check.ok else 'FAIL' }} {{ check.detail }}
Проверить входящий трафик
{{ diagnostics.commands.watch_external }}
Проверить трафик к VM
{{ diagnostics.commands.watch_internal }}
{% endif %}

Пробросы портов

{% for item in ctx.forwards %} {% else %} {% endfor %}
ПробросVMВнутренний адресПротоколОписаниеДействия
{{ item.external_port_label|default(item.external_port) }} → {{ item.guest_port_label|default(item.guest_port) }} {% if item.is_range %}range{% endif %} {{ item.vm_name }} {{ item.guest_ip }} {{ item.protocol }} {{ item.note }}
Пробросов пока нет

nftables preview

/etc/virtuality/nftables/virtuality.nft
{{ ctx.nft_rules }}