IP Address Usage Policy & Protocol Restrictions

You cannot use any IP addresses not allocated directly to you. Violation of this policy will result in immediate termination of accounts and services.

Banned Protocols

The following protocols are prohibited and must not be transmitted:

  • Link-local protocols: IRDP, ICMP redirects, vendor-specific link-layer protocols (e.g., UDLD)
  • Discovery and vendor protocols: CDP (Cisco Discovery Protocol), EDP (Ethernet Discovery Protocol), LLDP (Link Layer Discovery Protocol)
  • VLAN/Trunking protocols: VTP (VLAN Trunking Protocol), DTP (Dynamic Trunking Protocol)
  • Interior routing protocol broadcasts: OSPF, ISIS, IGRP, EIGRP broadcasts (routing should only occur via BGP over unicast)
  • Other protocols: BOOTP/DHCP, PIM-SM/DM (multicast), DVMRP
  • Non-routable protocols: NetBEUI and similar non-routable protocols

Exceptions

  • ARP: Address Resolution Protocol is allowed, as it's essential for L3 address-to-L2 address resolution
  • ICMPv6 Neighbor Discovery: Multicast packets for ICMPv6 Neighbor Discovery are generally permitted, though unicast is preferred

Assigned Network Addresses

Network Devices

@if($this->networkDevicesSynced) Synced @else Unsynced @endif
@foreach($interfaces as $name => $type) @endforeach
Device Adapter MAC Address MTU Multiqueue Actions
{{ strtoupper($name) }} {{ strtoupper($interfaces[$name]['mac'] ?? 'N/A') }} {{ $interfaces[$name]['mtu'] ?? 'Default' }}
Add Device Adding... Refresh Interfaces Refreshing... Save Interface Type Saving...

VirtIO provides the best performance; legacy adapters (E1000, Realtek, PCnet, VMware) improve compatibility.

Multiqueue: Allows the network adapter to use multiple CPU cores for packet processing. Set to the number of vCPU cores (max {{ $this->getCpuCores() }}) for best performance. Higher values improve throughput for multi-core VMs.

@foreach($server->ipAddresses as $network)

{{ strtoupper($network->type ?? 'IPv4') }} Address

{{ $network->type === 'ipv6' ? 'IPv6' : 'IPv4' }}

IP Address

{{ $network->ip }}
@if($cidr = $this->getCidrSuffix($network))

CIDR: {{ $network->ip }}{{ $cidr }}

@endif

Gateway

{{ $network->gateway ?? 'N/A' }} @if($network->gateway)
@endif

Default route for this network

Subnet Mask

{{ $network->netmask ?? 'N/A' }} @if($network->netmask)
@endif

Network address range mask

@php $isPublic = $this->isPublicIp($network->ip, $network->type ?? 'ipv4'); $isIpv6 = ($network->type ?? 'ipv4') === 'ipv6' || filter_var($network->ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6); $guestInterface = $this->getNetworkInterfaceForIp($network); @endphp @if($isPublic)

@if($isIpv6) Ping MTR BGP @else Ping MTR BGP @endif
@endif
@php $guestInterface = $this->getNetworkInterfaceForIp($network); @endphp @if($guestInterface)

Technical Details (Guest Agent)

@if(isset($guestInterface['hardware-address']))
MAC Address
{{ $guestInterface['hardware-address'] }}

Hardware address for this interface

@endif @if(isset($guestInterface['name']))
Interface Name {{ $guestInterface['name'] }}

Network interface identifier within the guest OS

@endif @if(isset($guestInterface['statistics']))
Statistics
@if(isset($guestInterface['statistics']['rx-bytes']))
RX: {{ number_format($guestInterface['statistics']['rx-bytes']) }} bytes
@endif @if(isset($guestInterface['statistics']['tx-bytes']))
TX: {{ number_format($guestInterface['statistics']['tx-bytes']) }} bytes
@endif @if(isset($guestInterface['statistics']['rx-packets']))
RX Packets: {{ number_format($guestInterface['statistics']['rx-packets']) }}
@endif @if(isset($guestInterface['statistics']['tx-packets']))
TX Packets: {{ number_format($guestInterface['statistics']['tx-packets']) }}
@endif

Network traffic statistics from guest OS

@endif
@endif
@endforeach @php $additionalAddresses = $this->getAdditionalGuestAgentAddresses(); @endphp

Additional Network Addresses (Guest Agent)

@if(count($additionalAddresses) > 0)

The following addresses were detected by the QEMU guest agent but are not configured in the system database.

@else

QEMU Guest Agent

The QEMU Guest Agent is a service that runs inside the virtual machine and provides additional information about the guest operating system to the hypervisor. When the guest agent is installed and activated, this section will display any additional network addresses detected within the guest OS that are not configured in the system database.

If the guest agent is installed and running, additional addresses will appear here automatically with detailed technical information including MAC addresses, interface names, and network statistics.

@endif
@if(count($additionalAddresses) > 0) @foreach($additionalAddresses as $address)

{{ strtoupper($address['type'] === 'ipv6' ? 'IPv6' : 'IPv4') }} Address

{{ $address['type'] === 'ipv6' ? 'IPv6' : 'IPv4' }}

IP Address

{{ $address['ip'] }}
@if($address['prefix'])

CIDR: {{ $address['ip'] }}/{{ $address['prefix'] }}

@endif

Gateway

N/A

Not configured in database

Subnet Mask

N/A

Not configured in database

@php $isPublic = $this->isPublicIp($address['ip'], $address['type']); $isIpv6 = $address['type'] === 'ipv6' || filter_var($address['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6); $hasInterface = isset($address['interface']) && $address['interface']; @endphp @if($isPublic)
@if($isIpv6) Ping MTR BGP @else Ping MTR BGP @endif
@endif
@if($address['interface'])

Technical Details (Guest Agent)

@if(isset($address['interface']['hardware-address']))
MAC Address
{{ $address['interface']['hardware-address'] }}

Hardware address for this interface

@endif @if(isset($address['interface']['name']))
Interface Name {{ $address['interface']['name'] }}

Network interface identifier within the guest OS

@endif @if(isset($address['interface']['statistics']))
Statistics
@if(isset($address['interface']['statistics']['rx-bytes']))
RX: {{ number_format($address['interface']['statistics']['rx-bytes']) }} bytes
@endif @if(isset($address['interface']['statistics']['tx-bytes']))
TX: {{ number_format($address['interface']['statistics']['tx-bytes']) }} bytes
@endif @if(isset($address['interface']['statistics']['rx-packets']))
RX Packets: {{ number_format($address['interface']['statistics']['rx-packets']) }}
@endif @if(isset($address['interface']['statistics']['tx-packets']))
TX Packets: {{ number_format($address['interface']['statistics']['tx-packets']) }}
@endif

Network traffic statistics from guest OS

@endif
@endif
@endforeach @endif