Firewall-Regel persistieren

Started by raelianer, September 21, 2025, 08:26:06 PM

Previous topic - Next topic
October 10, 2025, 10:52:48 PM #15 Last Edit: October 11, 2025, 12:55:59 PM by raelianer
Ich habe mir jetzt das /56-Subnetz sowie eine weitere IP-Adresse bestellt.
Hier die Übersicht der Adressen:

203.0.113.108    (zweite MAC "02:11:22:33:44:55")
203.0.113.112  (original MAC)

2001:db8:6b:28e7:: / 64    original MAC      (203.0.113.112)
2001:db8:6b:f300:: / 56    02:11:22:33:44:55 (203.0.113.108)


Die OPNsense bekommt:
02:11:22:33:44:55 (die zweite MAC)
203.0.113.108/32
Gateway: 203.0.113.65
2001:db8:6b:28e7::1/64
Gateway: fe80::1 (Far Gateway)

Ich probiere also folgendes Setup nach https://forum.opnsense.org/index.php?topic=44159.msg220167#msg220167:

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto enp9s0
iface enp9s0 inet manual
iface enp9s0 inet6 manual

auto vmbr0
iface vmbr0 inet static
        address 203.0.113.112/32
        gateway 203.0.113.65
        bridge-ports enp9s0
        bridge-stp off
        bridge-fd 0
        bridge-mcsnoop 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up echo 1 > /proc/sys/net/ipv4/conf/enp9s0/proxy_arp
        post-up echo 1 > /proc/sys/net/ipv6/conf/enp9s0/forwarding
#Proxmox WAN Bridge

iface vmbr0 inet6 static
        address 2001:db8:6b:28e7:1::2/80
        gateway fe80::1
        post-up ip -6 route add 2001:db8:6b:f300::/64 via 2001:db8:6b:28e7:1::1

auto vmbr1
iface vmbr1 inet static
        address 192.168.1.2/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        bridge-mcsnoop 0
        post-up ip route add 192.168.0.0/16 via 192.168.1.1 dev vmbr1
#LAN bridge

source /etc/network/interfaces.d/*

Die originale MAC liegt weiter auf enp9s0 und die zweite MAC ist in Proxmox bei der OPNsense auf dem Network Device (net0).

Mit ssh -i ~/.ssh/hetzner_key -L 8443:192.168.1.1:443 root@2001:db8:6b:28e7:1::2 komme ich jetzt via https://localhost:8443/ auf die OPNsense. Auch die Verbindung über die 203.0.113.108 funktioniert, wenn ich IPv4 von any to any testweise in der Firewall erlaube.

Damit ich https://192.168.1.2:8006/ aufrufen kann, musste ich noch in der OPNsense unter VPN > WireGuard > Instances den MTU auf 1380 setzen.

Hier die WireGuard-Client-Konfiguration:
[Interface]
PrivateKey = [...]
Address = 10.0.0.10/32
DNS = 1.1.1.1
MTU = 1380

[Peer]
PublicKey = [...]
AllowedIPs = 192.168.1.0/24
Endpoint = 203.0.113.108:51820

Ich habe jetzt also die 2001:db8:6b:28e7:1::2/80 auf Proxmox (vmbr0) und die 2001:db8:6b:28e7:1::1/80 auf dem WAN der OPNsense.

Unter Services > Router Advertisments > LAN:
Router Advertisements: Unmanaged
Advertise Routes: 2001:db8:6b:f300::/64

Firewall > Rules > VPN:
IPv4, Description "Tunnel_To_Any", sonst ist alles auf "any"

Firewall > Rules > WAN:
Da ist vermutlich zu viel erlaubt, aber jetzt sieht es so bei mir aus und damit funktioniert es zumindest:
You cannot view this attachment.

System > Gateways > Configuration:
Interface: WAN
Address Family: IPv6
IP Address: fe80::1
Upstream Gateway: enabled
Far Gateway: enabled

Interface: WAN
Address Family: IPv4
IP Address: 203.0.113.65
Upstream Gateway: enabled
Far Gateway: enabled
Disable Gateway Monitoring: enabled


Interfaces > [WAN]:
IPv4 Configuration Type: Static IPv4
IPv6 Configuration Type: Static IPv6

IPv4 address: 203.0.113.108/32
IPv4 gateway rules: 203.0.113.65

IPv6 address: 2001:db8:6b:28e7:1::1/80
IPv6 gateway rules: fe80::1


Interfaces > [LAN]:
IPv4 Configuration Type: Static IPv4
IPv6 Configuration Type: Static IPv6

IPv4 address: 192.168.1.1/24
IPv4 gateway rules: Disabled

IPv6 address: 2001:db8:6b:f300::1/64
IPv6 gateway rules: Disabled


Interfaces > [VPN]:
Identifier: opt1
Device: wg0
Description: VPN


Interfaces > Assignments:
[LAN] - lan - vtnet1
[VPN] - opt1 - wg0
[WAN] - wan - vtnet0

Das dürfte die vollständige Konfiguration sein.

Dann bleibt als nächster Schritt wohl nur noch die Verwendung von VLANs und dann kann ich versuchen die Einrichtung zu automatisieren.

Ich habe jetzt versucht ein VLAN einzurichten.

In Proxmox habe ich die Network Devices konfiguriert:

net0 - vmbr0
net1 - vmbr1
net2 - vmbr2

Dann habe ich in der OPNsense unter "Interfaces > Devices > VLAN" ein neues Device mit Parent vtnet2 und VLAN tag 10 hinzugefügt: Device vlan01 [OPT2]

Interfaces > OPT2:
- IPv4 Configuration Type: Static IPv4
- IPv4 address: 192.168.10.1/24

Services > Kea DHCP > Kea DHCPv4:
- Settings
    - Service
        - Enabled: yes
    - General Settings
        - Interfaces: OPT2
- Subnets:
    - Subnet: 192.168.10.0/24
    - Pools: 192.168.10.100-192.168.10.200
    - DHCP option data
        - Domain name: lan
        - Domain search: lan
        - Time servers: 192.168.10.1

Firewall > Rules > OPT2
Add:
- Interface: OPT2
- Source: OPT2 net
- Description: ALLOW all traffic to Internet


Wieder in Proxmox:
VM erstellen:
- Network:
    - Bridge: vmbr2
    - VLAN Tag: 10
    - Firewall: no

beim Starten in Grub den Eintrag bearbeiten und "nomodeset" ergänzen, F10

Hier das Problem: Die VM bekommt keine IP zugewiesen.


In der OPNsense Konsole:

sockstat -l | grep 67
nobody dnsmasq 22258 4 udp4 *:67 *:*

mit killall dnsmasq kann ich das beenden und wenn ich bei Services > Kea DHCP > Kea DHCPv4 > Settings den Kea Service deaktiviere und wieder aktiviere, bekomme ich:

sockstat -l | grep 67
root kea-dhcp4 57322 15 udp4 192.168.10.1:67 *:*

Damit habe ich die IP 192.168.10.100 auf der Ubuntu-VM und auch der Zugang zum Internet funktioniert!

Aber beim Reboot der OPNsense wird ja zuerst dnsmasq auf dem Port 67 gestartet. Wie kann ich das denn so konfigurieren, dass der Kea DHCPv4 den Port bekommt?

Indem Du dnsmasq deaktivierst? Du musst Dich entscheiden, welche Services Du für DHCP, DNS und Router Advertisements einsetzt.

DNSmasq kann (theoretisch) alles. Unbound kann nur DNS (dafür aber selbst resolven). ISC kann nur DHCP. Kea kann DHCP und radvd kann RAs.

Daraus kannst Du bestimmte Kombis bilden. ISC ist dprecated, sollte also vermieden werden. Wenn Du einen eigenen Resolver willst, braucht Du Unbound. Mir waren die RA-Fähigkeiten von DNSmasq immer zu wenig, deshalb verwende ich radvd und für DHCP Kea.

Eine Kombination von DNSmasq plus Kea läuft natürlich nicht. Deshalb kein DNSmasq. Die paar DNS-Einträge, die Du bei Hetzner brauchst, kannst Du auch in Unbound verwalten, ohne dass die DHCP-Leases dafür mitgenutzt werden.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+