Configure firewall rules, policies, aliases, and IPSets for your virtual machine
{{ $error }}
@if($firewallEnabled) ✓ Active - Your VM is protected by firewall rules @else ⚠ Disabled - Your VM has no firewall protection @endif
Enable or disable firewall for each network adapter individually
Note: Per-adapter firewall settings can be configured here, but the Master Firewall above must be enabled for these settings to take effect.
{{ $adapter['mac'] }}
@endif
No network adapters found
Control default traffic behavior
Default action for incoming traffic not matching any rule
Default action for outgoing traffic not matching any rule
How default policies control your network traffic
Controls what happens to traffic coming INTO your VM when it doesn't match any explicit firewall rule.
Controls what happens to traffic going OUT of your VM when it doesn't match any explicit firewall rule.
To create a strict whitelist (only allow specific traffic):
IP Filter: Validates that source/destination IP addresses in packets match the VM's assigned IPs. Helps prevent IP spoofing.
MAC Filter: Validates that MAC addresses match the VM's network adapters. Provides additional layer of security.
| Pos | Action | Type | Source | Destination | Protocol | Port | Status | Actions | |
|---|---|---|---|---|---|---|---|---|---|
| {{ $rule['pos'] ?? '-' }} | @php $actionClass = match($rule['action'] ?? '') { 'ACCEPT' => 'bg-success/20 text-success', 'REJECT' => 'bg-warning/20 text-warning', 'DROP' => 'bg-error/20 text-error', default => 'bg-base/20 text-base/60' }; @endphp {{ $rule['action'] ?? '-' }} | {{ strtoupper($rule['type'] ?? 'IN') }} |
{{ $rule['source'] ?? '-' }}
@php $ruleSourceIP = $rule['source'] ?? ''; @endphp
@if($ruleSourceIP && $ruleSourceIP !== '-' && $this->checkIsPublicIP($ruleSourceIP))
{{-- IP Location Modal (same as logs) --}}
@endif
|
{{ $rule['dest'] ?? '-' }}
@php $ruleDestIP = $rule['dest'] ?? ''; @endphp
@if($ruleDestIP && $ruleDestIP !== '-' && $this->checkIsPublicIP($ruleDestIP))
{{-- IP Location Modal (same structure) --}}
@endif
|
{{ $rule['dest'] ?? '-' }}
@php $ruleDestIP = $rule['dest'] ?? ''; @endphp
@if($ruleDestIP && $ruleDestIP !== '-' && $this->checkIsPublicIP($ruleDestIP))
{{-- IP Location Modal (same structure) --}}
@endif
|
{{ strtoupper($rule['proto'] ?? ($rule['macro'] ?? 'ANY')) }} | {{ $rule['dport'] ?? $rule['sport'] ?? '-' }} | @if(isset($rule['enable']) && $rule['enable'] == 0) Disabled @else Enabled @endif |
|
Create your first rule to control network traffic
Create named references to IP addresses or CIDR ranges
Create aliases to simplify rule management
Group multiple IPs/CIDRs for easier rule management
No IP Sets created yet
No members in this IPSet
Select an IP Set to view its members
{{ $logError }}
| Time | Action | Source | Destination | Protocol | Port |
|---|---|---|---|---|---|
| {{ $log['timestamp'] ?? '-' }} | {{ $log['action'] ?? '-' }} |
{{ $log['source'] ?? '-' }}
@php $sourceIP = $log['source'] ?? ''; @endphp
@if($sourceIP && $sourceIP !== '-' && $this->checkIsPublicIP($sourceIP))
{{-- IP Location Modal --}}
@endif
|
{{ $log['destination'] ?? '-' }}
@php $destIP = $log['destination'] ?? ''; @endphp
@if($destIP && $destIP !== '-' && $this->checkIsPublicIP($destIP))
{{-- IP Location Modal --}}
@endif
|
{{ $log['protocol'] ?? '-' }} | {{ $log['destination_port'] ?? '-' }} |
Logs will appear here when the firewall blocks or allows traffic
Enable the firewall to start protecting your virtual machine
Select a macro or leave as "None" for custom rules
Can use alias names or leave empty for any source
Are you sure you want to delete this rule? This action cannot be undone.
Delete alias "{{ $deletingAliasName }}"?
This may affect firewall rules using this alias.
After creating the IPSet, you can add IP addresses and CIDR ranges to it.
Delete IPSet "{{ $deletingIPSetName }}"?
All members will be removed and rules using this IPSet may be affected.
Remove "{{ $deletingMemberCidr }}" from {{ $selectedIPSetName }}?